«algorithms» etiketlenmiş sorular

Algoritma, bir soruna soyut bir çözüm tanımlayan iyi tanımlanmış adımlar dizisidir. Sorununuz algoritmaların tasarımı ve analizi ile ilgili olduğunda bu etiketi kullanın.

11
Neden quicksort pratikte diğer sıralama algoritmalarından daha iyidir?
Standart bir algoritma dersinde, hızlı bağlantı noktasının ortalama olarak ve en kötü durumda ise olduğu öğrenilir. Aynı zamanda, diğer sıralama algoritmaları incelenmiştir hangi olan (gibi en kötü durumda MergeSort ve HizliSiralama ve (gibi iyi durumda bile lineer zamanı) BubbleSort ) ancak belleğin bazı ek ihtiyaçları olan.O ( n 2 ) …

3
Algoritma analizinin büyüsünün ardında bir sistem var mı?
Algoritmaların çalışma zamanını nasıl analiz edeceğinizle ilgili birçok soru var (bkz. Örneğin çalışma zamanı analizi ve algoritma analizi ). Birçoğu, örneğin, iç içe döngüler için maliyet analizi veya bölme ve fethetme algoritmaları isteyenlere benzer, ancak çoğu cevap özel olarak yapılmış gibi görünmektedir. Öte yandan, başka bir genel soruya verilen cevaplar …

14
Neden bir grafiğe bakıp hemen başka bir noktaya en yakın noktayı bulabilirim, ama programlamada O (n) zamanımı alıyor mu?
Açıklayayım: Verili sayıdaki bazı noktaların bir dağılım grafiği göz önüne alındığında, eğer zihinsel olarak komplodaki herhangi bir noktaya en yakın noktayı bulmak istersem, grafikteki çoğu noktayı hemen görmezden gelebilir, seçimlerimi az sayıdaki sabit sayıdaki noktalara daraltabilirim. . Yine de, programlamada, bir dizi nokta verildiğinde, herhangi birine en yakın noktayı bulmak …

4
Sonlu otomatlar normal ifadelere nasıl dönüştürülür?
Düzenli ifadeleri aynı dili kabul eden (en az) NFA'ya dönüştürmek standart algoritmalar ile kolaydır, örneğin Thompson algoritması . Diğer yön daha sıkıcı görünüyor, ancak bazen ortaya çıkan ifadeler dağınık. NFA'yı eşdeğer normal ifadelere dönüştürmek için hangi algoritmalar var? Zaman karmaşıklığı veya sonuç büyüklüğü ile ilgili avantajlar var mı? Bunun bir …

13
“Bazı test davalarını dene” buluşunu nasıl kandırabilirim: Doğru görünen fakat aslında yanlış olan algoritmalar
Bazı problemler için bir algoritmanın doğru olup olmadığını test etmek için, normal başlangıç ​​noktası algoritmayı bir dizi basit test durumunda elle çalıştırmayı denemek - birkaç basit "köşe durumu" da dahil olmak üzere birkaç örnek problem örneğinde deneyiniz. ". Bu harika bir buluşsal yöntemdir: Bir algoritmada birçok yanlış girişimi hızlı bir …


5
Aynı amaca hizmet eden farklı algoritmaları / veri yapılarını öğrenmek için sebepler nelerdir?
Lisans öğrencisi olduğumdan beri bu soruyu merak ediyorum. Bu genel bir sorudur ancak aşağıdaki örneklerle çalışacağım. Bir çok algoritma gördüm - örneğin, maksimum akış problemleri için, problemi çözebilecek yaklaşık 3 algoritma biliyorum: Ford-Fulkerson, Edmonds-Karp ve Dinic, Dinic en iyi karmaşıklığa sahip. Veri yapıları için - örneğin yığınlar - ikili yığınlar, …

3
Hangi zaman karmaşıklığı analizinin gösterileceğini nasıl bilebiliriz?
Giriş algoritma sınıflarının çoğunda, (Büyük O) ve gibi notasyonlar tanıtılır ve bir öğrenci genellikle zaman karmaşıklığını bulmak için bunlardan birini kullanmayı öğrenir.OOOΘΘ\Theta Bununla birlikte, bu gibi başka gösterimleri vardır,ooo , ve ω . Bir gösterimin diğerine tercih edilebileceği herhangi bir özel senaryo var mı?ΩΩ\Omegaωω\omega


8
Grafik arama: İlk önce, önce ilk önce genişlik
Grafikler ararken, iki kolay algoritma vardır: genişlik birinci ve derinlik ilk (Genellikle tüm bitişik grafik düğümlerini bir kuyruğa (genişlik ilk) veya yığına (derinlik ilk önce) ekleyerek yapılır). Şimdi, birbiri ardına avantajları var mı? Aklıma gelenler: Verilerinizin grafiğin içinde oldukça uzakta olmasını beklerseniz, grafiğin daha derindeki bölümlerine girerken derinlik ilk önce …

6
Sayılardaki temel işlemlerin zaman alacağını nasıl varsayabiliriz?
Normalde algoritmalarda sayıların karşılaştırılması, eklenmesi veya çıkarılması umurumda değil - onların zamanlarında çalıştıklarını varsayıyoruz . Örneğin, karşılaştırmaya dayalı sıralamanın olduğunu söylediğimizde bunu varsayıyoruz , ancak sayılar kayıtlara sığmayacak kadar büyük olduğunda, normalde bunları sıralar olarak temsil ediyoruz, bu yüzden temel işlemler eleman başına ekstra hesaplamalar gerektiriyor.O ( n log n …

4
MapReduce'taki yenilik nedir?
Birkaç yıl önce, MapReduce dağıtılmış programlama devrimi olarak selamlandı. Aynı zamanda eleştirmenler de vardı, ancak genel olarak hevesli bir yutturmaca vardı. Hatta patentli bile oldu! [1] Adı anımsatır mapve reducefonksiyonel programlamada, ama ben okuduğumda (Vikipedi) Harita adımı: Ana düğüm girişi alır, daha küçük alt problemlere böler ve bunları çalışan düğümlere …

3
Diziyi serpiştirmek için yerinde algoritma
Size elemanların bir dizi verilir2 n2n2n bir1, bir2, … , An, b1, b2, … Bnbir1,bir2,...,birn,b1,b2,...bna_1, a_2, \dots, a_n, b_1, b_2, \dots b_n Görev, ortaya çıkan dizinin göründüğü şekilde yerinde bir algoritma kullanarak diziyi serpiştirmektir. b1, bir1, b2, bir2, … , Bn, birnb1,bir1,b2,bir2,...,bn,birnb_1, a_1, b_2, a_2, \dots , b_n, a_n Yerinde …

9
Boyutları arttıkça kolaylaşan herhangi bir problem var mı?
Bu saçma bir soru olabilir, ancak girdilerin boyutu büyüdükçe gerçekten kolaylaşan bir problemin olması mümkün mü? Herhangi bir pratik sorunun bu şekilde olduğundan şüpheliyim ama belki de bu özelliğe sahip dejenere bir problem yaratabiliriz. Örneğin, belki büyüdükçe “kendini çözmeye” başlar veya başka bir tuhaf şekilde davranır.


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.