«algorithm-analysis» etiketlenmiş sorular

Genellikle doğruluk, çalışma zamanı ve alan kullanımı da dahil olmak üzere algoritmaların özelliklerini belirleme bilimi ve sanatı hakkında sorular. Algoritmaların çalışma zamanı ile ilgili sorular için [runtime-analysis] etiketini kullanın.


2
Günlük olasılıklarını eklemek neden olasılıkları çarpmaktan daha hızlı?
Soruyu çerçevelemek için, bilgisayar biliminde sıklıkla birkaç olasılığın ürününü hesaplamak istiyoruz: P(A,B,C) = P(A) * P(B) * P(C) En basit yaklaşım basitçe bu sayıları çarpmaktır ve yapacağım da buydu. Ancak, patronum olasılıkların günlüğünü eklemenin daha iyi olduğunu söyledi: log(P(A,B,C)) = log(P(A)) + log(P(B)) + log(P(C)) Bu, günlük olasılığını verir, ancak …

3
Çalışma zamanı sınırlarında ters Ackermann'dan daha yavaş büyüme gösteren işlevler görünüyor mu?
Bazı karmaşık algoritmalar ( birleşim bulma ), asimptotik zaman karmaşıklığında görünen neredeyse sabit ters Ackermann fonksiyonuna sahiptir ve neredeyse sabit ters Ackermann terimi göz ardı edilirse en kötü zaman optimumdur. Ters Ackermann'dan temelde daha yavaş büyüyen fonksiyonları içeren çalışma sürelerine sahip bilinen algoritma örnekleri var mı (örneğin, en iyi bilinen …

7
Ne özellikleridir
Bazen dikkatle incelediğim bir algoritmanın zaman karmaşıklığını tanımlamak kolaydır. İki iç içe döngüsüne sahip algoritmalar açıkça . İki değerden oluşan gruplarının tüm olası kombinasyonlarını araştıran algoritmalar açıkça .N 2 N 2 NNNNN2N2N^2NNN2N2N2^N Ancak karmaşıklığı ile bir algoritma "nasıl" bilmiyorum . Örneğin, özyinelemeli bir birleştirme uygulaması gerçekleştirilebilir. Birleştirme veya diğer algoritmalarının, …


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 …

3
Neden iki algoritmayı karşılaştırmak için çalışma zamanı yerine karşılaştırmalar kullanılır?
Birkaç CS araştırma makalesinde, iki algoritmanın verimliliğini karşılaştırmak için, gerçek hesaplama sürelerinin kendisinden ziyade algoritmalardaki toplam anahtar karşılaştırmanın kullanıldığını fark ettim. Neden her iki programı çalıştırarak ve algoritmaları çalıştırmak için gereken toplam süreyi sayarak hangisinin daha iyi olduğunu karşılaştıramıyoruz?

4
Randomized Quicksort'un neden O (n log n) en kötü çalışma zamanı maliyeti var?
Rastgele Hızlı Sıralama , pivot öğesinin rastgele seçildiği Hızlı Sıralama'nın bir uzantısıdır. Bu algoritmanın en kötü zaman karmaşıklığı ne olabilir? Bana göre, , çünkü en kötü durum rasgele seçilen pivot, sıralı veya ters sıralama düzeninde seçildiğinde gerçekleşir . Ancak bazı metinlerde [1] [2] en kötü zaman karmaşıklığı olarak yazılmıştır.O(n2)O(n2)O(n^2)O(nlogn)O(nlog⁡n)O(n\log{n}) Doğru …

2
Zor olan nedir? Sıralı bir desteyi karıştırmak veya karıştırılmış bir desteyi sıralamak?
farklı öğeden oluşan bir diziniz var . Bir karşılaştırıcıya (a ve iki öğeyi ve gerçek iff döndüren bir kara kutu işlevi ) ve gerçekten rastgele bir bit kaynağına (bağımsız değişkene eşit olarak rastgele bir bit döndüren bir kara kutu işlevi) erişebilirsiniz . Aşağıdaki iki görevi göz önünde bulundurun:nnnaaabbba&lt;ba&lt;ba < b …

2
Randomize Quicksort'un avantajı nedir?
Onların kitabında Randomize Algoritmalar , Rasgele hızlı - - ikiye setini bölümleme için kullanılan mil, rastgele seçilir Motwani ve Raghavan onların RandQS işlevin açıklaması ile giriş açın. Bir süredir (kuşkusuz biraz güçsüz) beyinlerimi rafa tuttum, ancak bu algoritmanın her seferinde orta elementi (indeks olarak, boyutta değil) seçmeye göre ne avantajı …

4
Algoritmalarda Tekrarlar ve Üretim Fonksiyonları
Kombinatorik bilgisayar biliminde önemli bir rol oynar. Algoritmada tasarımın yanı sıra hem analizde hem de kombinasyonel yöntemleri kullanırız. Örneğin , bir grafikte kkk -vertex kapak kümesini bulmak için bir yöntem yalnızca tümünü inceleyebilir (nk)(nk)\binom{n}{k} olası alt kümeler. Binom fonksiyonları katlanarak büyürken,kkksabit bir sabitse, asimptotik analizle bir polinom zaman algoritması ile …

4
Bağlantılı bir listede neden hızlı sıralama kullanmıyoruz?
Hızlı sıralama algoritması aşağıdaki adımlara ayrılabilir Pivotu tanımlayın. Bağlantılı listeyi pivot temelinde bölümlere ayırın. Bağlantılı listeyi özyinelemeli olarak 2 parçaya bölün. Şimdi, her zaman pivot olarak son elemanı seçersem, pivot elemanını (1. adım) tanımlamak zaman alır.O(n)O(n)\mathcal O(n) Pivot elemanını tanımladıktan sonra, doğru bölme noktasını (2. adım) tanımlamak için verilerini depolayabilir …

1
Kaba kuvvet Delaunay nirengi algoritması karmaşıklığı
Mark de Berg ve arkadaşlarının "Hesaplamalı Geometri: Algoritmalar ve Uygulamaları" kitabında Delaunay üçgenlemlerini hesaplamak için çok basit bir kaba kuvvet algoritması var. Algoritma, geçerli bir Delaunay üçgenlemesinde görünmeyebilecek ve başka bazı kenarlarla değiştirilmesi gereken yasadışı kenarlar kavramını kullanır . Her adımda, algoritma yalnızca bu yasadışı kenarları bulur ve yasadışı kenarlar …

4
Quicksort çocuklara açıkladı
Geçen yıl, “Anaokulu İçin Kuantum Mekaniği” üzerine harika bir makale okuyordum . Kolay bir kağıt değildi. Şimdi, çabuk çabayı mümkün olan en basit kelimelerle nasıl açıklayacağımı merak ediyorum. Bir anaokulu sınıfına ortalama karmaşıklığın olduğunu ve en iyi ve en kötü durumların neler olduğunu nasıl kanıtlayabilirim (veya en azından el dalgalarını) …

2
Öbek - Bir ver
Büyük olasılıkla, bu soru daha önce sorulmuştur. CLRS (2. Baskı) probleminden 6.5-8 - K sıralı listeyi tek bir sıralı listede birleştirmek için zaman algoritması verin ; burada n , tüm giriş listelerindeki toplam öğe sayısıdır. (İpucu: K -yolu birleştirme için bir min-yığın kullanın .)O(nlgk)O(nlg⁡k)O(n \lg k)kkknnnkkk Bulunmadığından listeleri sıralaması ve …

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.