«data-structures» etiketlenmiş sorular

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


1
Bölüm ayrıntılandırmasına dayalı algoritmaların loglinear zamandan daha hızlı çalıştığı sorunlar
Bölüm iyileştirme , sınırlı bir nesne kümesi ile başladığınız ve seti aşamalı olarak böldüğünüz bir tekniktir. DFA minimizasyonu gibi bazı sorunlar, bölüm iyileştirme kullanılarak oldukça verimli bir şekilde çözülebilir. Wikipedia sayfasında listelenenler dışında bölüm ayrıntılandırması kullanılarak çözülen başka herhangi bir sorun bilmiyorum. Tüm bu sorunlardan, Wikipedia sayfasında, bölüm ayrıntılandırmasına dayalı …

1
SAT yerel araması için veri yapılarını destekleme
WalkSAT ve GSAT , Boole memnuniyetini çözmek için iyi bilinen ve basit yerel arama algoritmalarıdır. GSAT algoritması için sözde kod GSAT algoritmasını uygulama sorusundan kopyalanır - Döndürülecek değişmezi nasıl seçilir? ve aşağıda sunulmuştur. procedure GSAT(A,Max_Tries,Max_Flips) A: is a CNF formula for i:=1 to Max_Tries do S <- instantiation of variables …


5
Etiketsiz ağaçların verimli sıkıştırılması
Etiketlenmemiş, köklü ikili ağaçları düşünün. Biz olabilir sıkıştırmak alt ağaç işaretçileri vardır zaman: bu ağaçlar ve ile (yorumlama yapısal eşitlik) aksine, depolamak (wlog) ve tüm işaretçiler yerine işaretçilerle . Örnek için uli'nin cevabına bakınız .TTTT'T'T'T= T'T=T'T = T'===TTTT'T'T'TTT Yukarıdaki anlamda bir ağacı girdi olarak alan ve sıkıştırmadan sonra kalan (minimum) …

2
Link-cut ağaçları şimdiye kadar pratikte, maksimum akış hesaplaması veya diğer uygulamalar için kullanılıyor mu?
Yaygın olarak uygulandığını gördüğüm birçok maksimum akış algoritması, Dinic'in algoritması, itme yeniden etiketleme ve diğerleri, dinamik ağaçların (bağlantı kesilmiş ağaçlar olarak da bilinir) kullanılmasıyla asimtotik zaman maliyetlerini artırabilir . İtmeli etiketleme veya O ( V 3 ) veya O ( V 2 √O ( V2E)Ö(V2E)O(V^2E)O (V3)Ö(V3)O(V^3)normal, ancak dinamik ağaçlarO(VElog(V2/E))O ( …


12
Dizeler arasındaki farkları hızla bulmak için veri yapısı veya algoritma
Tüm uzunluğu 100.000 dizeleri bir dizi var . İki dize 1 karakter farklı olup olmadığını görmek için her dize diğer dize karşılaştırmak istiyorum. Şu anda, dizeye her dizeyi eklerken, dizinin zaten içinde bulunan ve zaman karmaşıklığına sahip her dizeye karşı kontrol ediyorum .kkkn(n−1)2kn(n−1)2k\frac{n(n-1)}{2} k Halihazırda yaptığımdan daha hızlı bir şekilde …

1
Fonksiyonel programlama neden dinamik ağaçları araştırmamıştır?
Dinamik ağaçlar ağ akışları, dinamik grafikler, kombinatoryal problemler (Tarjan ve Werneck tarafından "Uygulamada Dinamik Ağaçlar") ve yakın zamanda birleştirme sözlükleri (Adam Karczmarz tarafından "Basit Birleştirilebilir Sözlük") gibi sorunların çözümünde önemli bir rol oynamaktadır. Dinamik ağaçlar ile 1983 yılında Sleator & Tarjan'ın "Dinamik ağaçlar için bir veri yapısı" başlıklı makalede belirtilen …

1
Hangi sınıf veri yapıları kalıcı hale getirilebilir?
Kalıcı veri yapıları değişmez veri yapılarıdır. İşlemler, veri yapısının yeni bir "kopyasını" döndürür, ancak işlem tarafından değiştirilir; eski veri yapısı değişmeden kalır. Verimlilik genellikle temeldeki verilerin bir kısmını paylaşarak ve veri yapısının tam kopyalanmasını önleyerek elde edilir. Sorular: Kalıcı olarak yapılabilecek veri yapıları sınıfları hakkında sonuçlar var mı (aynı veya …

1
Son N sayısının ağırlıklı toplamı
Bir akışta numaralar aldığımızı varsayalım. Her sayı alındıktan sonra , ağırlıkların her zaman aynı, ancak keyfi olduğu son NNN sayılarının ağırlıklı bir toplamının hesaplanması gerekir. Hesaplamaya yardımcı olacak bir veri yapısını korumamıza izin verilirse bu ne kadar verimli bir şekilde yapılabilir? den daha iyi yapabilir miyiz Θ(N)Θ(N)\Theta(N), yani bir sayı …

1
Ukkonen algoritmasının çalışma süresi alfabe boyutuna nasıl bağlıdır?
Ukkonen'in algoritmasının asimptotik çalışma süresi , belki de doğrusal (?) Zamanda sonek ağaçları oluşturmak için en popüler algoritma sorunu ile ilgileniyorum . İşte Dan Gusfield'ın "teller, ağaçlar ve diziler üzerinde algoritmalar" kitabından bir alıntı (bölüm 6.5.1): "... Aho-Corasick, Weiner, Ukkonen ve McCreight algoritmalarının tümü ya alanı gerektirir ya da zaman …

1
Dizi başlatmaya kaydetme
Son zamanlarda, başlatılması gerekmeyen dizilere sahip olmanın mümkün olduğunu okudum, yani her bir üyeyi varsayılan değere ayarlamak için zaman harcamak zorunda kalmadan bunları kullanmak mümkün. yani diziyi, başlatmaya gerek kalmadan varsayılan değer tarafından başlatılmış gibi kullanmaya başlayabilirsiniz. (Üzgünüm, bunu nerede okuduğumu hatırlamıyorum). Örneğin, bunun neden şaşırtıcı olabileceğine dair: Diyelim ki …


2
Dikey görünürlük sorunu için etkili algoritmalar
Bir problem üzerinde düşünürken, aşağıdaki görevi çözen verimli bir algoritma oluşturmam gerektiğini fark ettim: Sorun: tarafları eksenlere paralel olan iki boyutlu bir yan taraf kare kutusu verilir nnn. Üstünden bakabiliriz. Bununla birlikte, mmm yatay segmentler de vardır. Her segment bir tamsayıdır sahip yyy -coordinate ( 0≤y≤n0≤y≤n0 \le y \le n …

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.