Kısmen sıralı elemanlar için hangi kalıcı veri yapısı?


15

A tipi eleman kümelerini saklamam gerekiyor. Böylece karşılaştırma, bir kısmi sıralı olan Tip bir1 ve büyük, eşit ya da eşsiz küçük dönebilir.bir2

Karma tablolardaki bir sorun, iki eşit öğenin farklı şekilde temsil edilebilmesidir ve eşitlikle tutarlı bir karma işlevine erişimim yoktur.

İki öğeyi karşılaştırmak uzun bir süreç olabilir, bu nedenle karşılaştırmaları en aza indirmek ilginç olacaktır. Gerekirse, karşılaştırma operatörünün çağrılarını not etmek mümkündür. Şimdi sadece antikalar depolamamız gerektiğinin farkındayım (ya da varsayalım). Daha doğrusu, gerçekleştirmem gereken işlemler aşağıdaki gibidir:

  • Antikalinden bir element çıkarın;
  • Bir eleman eklemeye çalışın. Öğe bir üyeden küçükse eklemeyin, aksi takdirde ekleyin ve ondan daha küçük olan tüm öğeleri kaldırın.

Her öğeyi iki tamsayı ile de , böylece ve olduğunu , bilmek bana hemen verir . Tabii ki, , bir \ not <b anlamına gelmez ... Tamsayı sınırlarının bulunması, tam bir üflemeli eleman karşılaştırmasına kıyasla nispeten ucuz bir işlemdir.ben1<bir<ben2ben3<b<ben4ben2<ben3bir<bben2ben3birb


1
Sorunuza akıllıca cevap verebilmek için daha fazlasını bilmemiz gerektiğini düşünüyorum. Elemanları saklıyor musunuz ve kısmi düzen kolayca hesaplanıyor mu? Yoksa kısmi sıralamayı bir tür arama tablosunda mı saklıyorsunuz? Kısmi düzeni nasıl kullanmayı düşünüyorsunuz? Bunu, kümeleri (örneğin arama ağaçlarında) depolamak için doğrusal sırayla aynı şekilde kullanmayı umuyor musunuz?
Andrej Bauer

Artık sadece antik zincirlerim olacağını fark ettiğime göre, sonuçları bir listede saklamanın naif çözümünden daha iyi bir şey olduğundan emin değilim. Eğer öyleyse, sorun için özür dilerim!
Abdallah

Sorunuzun artık tartışmalı olduğunu düşünüyorsanız, silme / kapatma için işaretlemelisiniz?
Suresh Venkat

1
Setteki iki unsur karşılaştırılamaz, ancak bu naif temsilin yapabileceğiniz en iyi şey olduğu anlamına gelmez. Örneğin, dahil etme yoluyla sıralanan sonlu çoklu kümeleri düşünün (= bölünebilirlikle sipariş edilen tamsayılar): veri sunumunuza bağlı olarak (kardinalite kullanarak, destek setini kullanarak,…) çok fazla optimizasyon potansiyeli vardır. Bu optimizasyonlar büyük ölçüde düzen ilişkisinin doğasına bağlı olacaktır. Ardından, şimdi silinmiş öğeler hakkında bilgi tutmaya değip değmeyeceğine karar verme konusunda ayrı bir sorun var: Bunları sık sık yeni eklemelerle karşılaştıracak mısınız?
Gilles 'SO- kötü olmayı bırak'

Tamam teşekkürler. Bu yüzden optimizasyonlara yol açabilecek bazı bilgiler (tam sayı sınırlama olasılığı) ekledim.
Abdallah

Yanıtlar:


8

Kağıt "Sıralama ve Posets içinde Seçimi" Daskalakis, Karp, Mossel, Risensefield, Verbin, 2008 yılına antichains dayalı Posets dinamik bir temsilini açıklar.

Ayrıca , yakın zamanda Arxiv'de yayınlanan Munro, Nicholson, 2012'nin "Özlü Posetler" makalesi ve buradaki kaynakça ile de ilgilenebilirsiniz. Onların veri yapısı statik ama sonraki adım dinamik bir veri yapısı olması olduğunu varsayalım.


Posets'te Sıralama ve Seçim, bir veri yapısı için neyin gerekli olduğu hakkında bir fikir edinmek için mükemmeldir, ancak algoritmalar , posetteki öğelerin etiketlemesini varsayar (örn. Tam olarak çözmek istediğimiz sorun!) O ( q n ) sorgularında veri yapısını oluşturduktan sonra O ( 1 ) ' deki iki eleman arasındaki ilişkiyi hesaplar . Bu nedenle, kağıt iki eleman arasındaki ilişkinin sorgulanacağını ve pozların harita elemanlarının önemsiz olduğunu varsaymaktadır, oysa harita veri yapıları tipik olarak birincinin ikincisini çözmeyi varsaymaktadır. Ö(1)Ö(1)Ö(qn)
Sebastian Graf

Haritaların zincirlerin (minimal) ayrışması olarak gösterilmesi iyi bir fikirdir. Yine de bu değişmezi silmelerle korumak zor olan şeydir.
Sebastian Graf

4

Baktığınız Heeringa vd yönettiği "aranıyor Dinamik içinde Ağacı Benzeri Kısmi Siparişler" ? Posetlerdeki selefi sorun için dinamik bir veri yapısı sağlarlar. Bir RAM için tasarlanmıştır, ancak dizileri dengeli ikili ağaçlar olarak temsil edebilir ve yapıyı tamamen işlevsel hale getirirken sadece bir çarpım yükü oluşturabilirsiniz.Ö(lgn)


1
Bunun yalnızca 'ağaç benzeri' kısmi siparişleri, örneğin bir elemandan küçük veya ona eşit olan tüm elemanların ebir zincir oluşturduğu kısmi düzenleri kapsadığını unutmayın .
Sebastian Graf
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.