«data-structures» etiketlenmiş sorular

Verileri depolamanın yolları hakkında sorular, böylece algoritmalar tarafından avantajlı bir şekilde kullanılabilir.

1
Çıkarım arıtma türleri
İş yerinde dinamik bir dil hakkında bazı tür bilgiler çıkarmakla görevlendirildim. letİfade dizilerini iç içe ifadelere yeniden yazar , şöyle: return x; Z => x var x; Z => let x = undefined in Z x = y; Z => let x = y in Z if x then T …
11 programming-languages  logic  type-theory  type-inference  machine-learning  data-mining  clustering  order-theory  reference-request  information-theory  entropy  algorithms  algorithm-analysis  space-complexity  lower-bounds  formal-languages  computability  formal-grammars  context-free  parsing  complexity-theory  time-complexity  terminology  turing-machines  nondeterminism  programming-languages  semantics  operational-semantics  complexity-theory  time-complexity  complexity-theory  reference-request  turing-machines  machine-models  simulation  graphs  probability-theory  data-structures  terminology  distributed-systems  hash-tables  history  terminology  programming-languages  meta-programming  terminology  formal-grammars  compilers  algorithms  search-algorithms  formal-languages  regular-languages  complexity-theory  satisfiability  sat-solvers  factoring  algorithms  randomized-algorithms  streaming-algorithm  in-place  algorithms  numerical-analysis  regular-languages  automata  finite-automata  regular-expressions  algorithms  data-structures  efficiency  coding-theory  algorithms  graph-theory  reference-request  education  books  formal-languages  context-free  proof-techniques  algorithms  graph-theory  greedy-algorithms  matroids  complexity-theory  graph-theory  np-complete  intuition  complexity-theory  np-complete  traveling-salesman  algorithms  graphs  probabilistic-algorithms  weighted-graphs  data-structures  time-complexity  priority-queues  computability  turing-machines  automata  pushdown-automata  algorithms  graphs  binary-trees  algorithms  algorithm-analysis  spanning-trees  terminology  asymptotics  landau-notation  algorithms  graph-theory  network-flow  terminology  computability  undecidability  rice-theorem  algorithms  data-structures  computational-geometry 

2
Listeler yerine arama ağaçlarını kullanarak karma
Ben karma ve ikili arama ağacı malzeme ile mücadele ediyorum. Aynı hash değerlerine sahip girişleri saklamak için listeler kullanmak yerine ikili arama ağaçlarının da kullanılabileceğini okudum. Ve operasyonlar için en kötü ve ortalama vaka çalışma süresinin ne olduğunu anlamaya çalışıyorum insert, find ve delete değerlidir. ortalama vaka. Listelere göre iyileşiyorlar …

1
Hem azaltma tuşu hem de artış tuşu işlemleriyle öncelik sırası
Bir Fibonnaci Yığını aşağıdaki işlemleri destekler: insert(key, data) : veri yapısına yeni bir öğe ekler find-min() : öğeye minimum anahtarla bir işaretçi döndürür delete-min() : öğeyi minimum anahtarla kaldırır delete(node) : ile gösterilen öğeyi siler node decrease-key(node) : ile gösterilen elemanın anahtarını azaltır node Tüm silinmeyen işlemler (itfa edilmiş) süresidir …

1
Bir kümenin bir bölümünü temsil etmenin kompakt bir yolu nedir?
Belirlenen bölümleri temsil etmek için etkili veri yapıları vardır . Bu veri yapıları Union and Find gibi işlemler için iyi zaman karmaşıklıklarına sahiptir, ancak bunlar özellikle yer tasarrufu sağlamaz. Bir kümenin bir bölümünü temsil etmenin yerden tasarruf sağlayan yolu nedir? İşte olası bir başlangıç ​​noktası: Bunu biliyorum bölümleri sayısı ile …

3
“Harita” ne demektir?
Bu terimi çeşitli CS eğitim materyallerinde defalarca karşılaştım: L2 CS162 (UC Berkeley): Bellek eşlemeli G / Ç L4 CS162 (UC Berkeley): Bellek eşlemeli dosyalar L24 CS61 (UC Berkeley): “Bellek eşlemeli G / Ç”: CPU adres alanına eşlenmiş cihaz kontrolü / veri kayıtları "Haritalama" yı kullandıktan sonra bile Map_ (yüksek dereceli_fonksiyon) …

3
Hangi veri yapısı tamsayı aralıklarını etkili bir şekilde depolar?
Hızlı bir şekilde aşağıdakileri yapabilmeniz için 0 ile 65535 arasındaki tamsayılar üzerinde bir koleksiyon tutmam gerekiyor: Yeni bir tamsayı ekle Bir dizi bitişik tamsayı ekleme Bir tamsayıyı kaldırma Bir tamsayının altındaki tüm tam sayıları kaldır Bir tamsayı olup olmadığını test edin Verilerim, koleksiyonda genellikle tamsayılar çalıştırdığı özelliği içeriyor. Örneğin, koleksiyon …

1
Potansiyel fonksiyon ikili yığın ekstresi maks O (1)
Ben özü max O(1)O(1)O(1) amortize zamanda tamamlanması için bir max öbek için potansiyel işlevini bulmak için yardıma ihtiyacım var . Potansiyel yöntemi iyi anlamadığımı da eklemeliyim. Biliyorum ki insert fonksiyonu gereken "ödeme" daha sipariş çıkarma maliyetini azaltmak ve bu if (yığın yüksekliği açısından olmak zorunda için yığın yüksekliğini verir should …

3
aralığından çizilen kenar ağırlıkları için Dijkstra algoritmasını değiştirme
Menzildeyim çekilen kenar ağırlıkları ile bir çizge olduğunu varsayalım [1,…,K][1,…,K][1,\dots, K] burada KKK sabittir. Dijkstra'nın algoritmasını kullanarak en kısa yolu bulmaya çalışıyorsam , algoritma / veri yapısını nasıl değiştirebilir ve için zaman karmaşıklığını nasıl geliştirebilirim O(|V|+|E|)O(|V|+|E|)O(|V|+|E|)?


3
CLRS'den d-ary yığın sorunu
Aşağıdaki sorunu çözerken kafam karıştı (sorular 1-3). Soru Bir d -yığın yığını ikili bir yığın gibidir, ancak (bir olası istisna dışında), yaprak olmayan düğümlerin 2 çocuk yerine d çocukları vardır. Bir dizideki d -ary yığınını nasıl temsil edersiniz? Bir d- dizi n elementinin n ve d cinsinden yüksekliği nedir ? …

1
Aralıklı toplam probleminin Segment Ağacı uygulaması için Zaman Karmaşıklığı kanıtı
Bölüm ağaçlarının alt dizinin toplamını bulmak için kullanılabileceğini anlıyorum AAA. Ve bunun yapılabileceğiO(logn)O(log⁡n)\mathcal{O}(\log n)zaman burada öğretici göre . Ancak sorgulama zamanının gerçekten olduğunu kanıtlayamıyorum O(logn)O(log⁡n)\mathcal{O}(\log n). Bu bağlantı (ve diğerleri), her düzeyde, işlenen maksimum düğüm sayısının444 ve bu yüzden O(4logn)=O(logn)O(4log⁡n)=O(log⁡n)\mathcal{O}(4 \log n) = \mathcal{O}(\log n). Ama bunu belki de çelişkiyle …

1
Aralık güncelleme + ikili dizinli ağaçlarla aralık sorgusu
İkili dizinlenmiş ağaçların (fenwick ağaçları) hem aralık sorgularını hem de aralık güncellemelerini işlemek için nasıl değiştirilebileceğini anlamaya çalışıyorum. Aşağıdaki kaynakları buldum: http://kartikkukreja.wordpress.com/2013/12/02/range-updates-with-bit-fenwick-tree/ http://programmingcontests.quora.com/Tutorial-Range-Updates-in-Fenwick-Tree http :? //apps.topcoder.com/forums/ modülü = Konu & threadID = 756271 & start = 0 & mc = 4 # 1579597 Ama hepsini okuduktan sonra bile, ikinci ikili …


1
Bir dizi çizgi parçası göz önüne alındığında, çift bağlantılı bir kenar listesini nasıl oluşturabilirim?
Belirli bir düzlemsel grafik için hat kesimleri bir dizi tarafından tayin edilen düzlemde gömülü, , her segment kendi uç noktaları ile temsil edilmektedir . Düzlemsel altbölüm için bir DCEL veri yapısı oluşturun, bir algoritmayı tanımlayın, doğruluğunu kanıtlayın ve karmaşıklığı gösterin.G ( V, E)G(V,E)G(V,E)E= {e1, . . . ,em}E={e1,...,em}E= \left \{ …

1
Çağrı yığını olarak kullanıldığında, çöp içermeyen spagetti yığınları bir DAG oluşturur mu?
Programlama dilleri için uygulama tekniklerini araştırıyorum ve son zamanlarda, sözde bir devam geçen stil modeli (örneğin Scheme ve SML / NJ'de kullanımları göz önüne alındığında) için uygun olan spagetti yığınlarına rastladım . Basitçe söylemek gerekirse, bu soru için sadece tek iş parçacıklı süreçleri ele alalım. Ancak, Wikipedia'daki diyagramda ( başka …

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.