«efficiency» etiketlenmiş sorular

Bir problemi çözerken mümkün olduğunca az kaynak kullanmak (örneğin, zaman, mekan). Sorunuz, çalışma sürelerinden bahseden genel algoritma soruları için değil, özellikle kaynak kullanımı ile ilgili ise bu etiketi kullanın.


4
Neden polinom süresine “verimli” denir?
Neden bilgisayar bilimlerinde en fazla polinom olan herhangi bir karmaşıklığın verimli olduğu düşünülmektedir? Herhangi bir pratik uygulama için (a) , karmaşıklığı olan algoritmalar, zaman içinde çalışan, diyelim ki algoritmalardan çok daha hızlıdır , ancak ikincisi verimli iken ilk olarak verimsiz olarak kabul edilir. Mantık nerede? n 80nlognnlog⁡nn^{\log n}n80n80n^{80} (a) Örneğin, …


3
Faktöriyel algoritma, naif çarpmadan daha verimli
Hem yinelemeli hem de özyinelemeli kullanarak (örneğin n * factorial(n-1), örneğin) faktörler için kodlamayı biliyorum . Bir ders kitabında (daha fazla açıklama yapılmadan) faktörler için daha etkili bir kodlama yöntemi olduğunu yinelemeli olarak ikiye böldüm. Neden böyle olabileceğini anlıyorum. Ancak kendi başıma kodlamayı denemek istedim ve nereden başlayacağımı bildiğimi sanmıyorum. …

5
Sıralanmış bir diziye öğe ekleme
Bunu yapmanın en hızlı yolu (algoritmik bir perspektiften ve pratik bir konudan) ne olabilir? Aşağıdaki satırlar boyunca bir şey düşünüyordum. Bir dizinin sonuna ekleyebilir ve daha sonra buna yakın olan ve en iyi durumda (en iyi durumda) doğrusal çalışma süresine sahip en iyi durum (başlangıçta tamamen sıralanan dizi) olduğundan bubblesort …


3
Seçim neden kabarcık düzeninden daha hızlı?
Vikipedi 'de yazılmıştır, "... seçim sıralama neredeyse her zaman kabarcık ve gnome sıralamalardan daha iyi performans gösterir." Biri lütfen bana, ikisinin de olmasına rağmen, seçim sıralamalarının kabarcık sıralamadan daha hızlı kabul edildiğini neden açıklayabilir: En kötü durum zaman karmaşıklığı :O ( n2)O(n2)\mathcal O(n^2) Karşılaştırma sayısı : O ( n2)O(n2)\mathcal O(n^2) …

2
Yaklaşık aramayı destekleyen verimli harita veri yapısı
Girdi tuşuyla mümkün olan en yakın eşleşmeyi döndüren, verimli tuşların yaklaşık olarak aranmasını destekleyen (örneğin dizgiler için Levenshtein mesafesi) bir veri yapısı arıyorum. Şimdiye kadar bulduğum en uygun veri yapısı Burkhard-Keller ağaçları , ancak bu amaçla başka / daha iyi veri yapıları olup olmadığını merak ediyordum. Düzenleme: Vakamın bazı detayları: …

3
Dinamik bir grafiğin en kısa yolunu alma
Şu anda yönlendirilmiş grafiklerde en kısa yolları inceliyorum. Dijkstra veya bellman-ford's gibi bir ağdaki en kısa yolu bulmak için birçok etkili algoritma vardır. Peki ya grafik dinamikse? Dinamik derken, programın çalışması sırasında köşeleri ekleyebileceğimizi veya çıkarabileceğimizi kastediyorum. Bir köşe gelen kısa yolları güncellemek için etkin bir algoritma bulmaya çalışıyorum her …

3
AKS primallik testi ne zaman diğer testlerden daha hızlıdır?
AKS primallik testinin , öğrendiğimde nasıl yorumlanması gerektiği hakkında bir fikir edinmeye çalışıyorum , örneğin, PRIMES ⊆ P'nin ispatlanmasına yönelik bir sonuç ya da bilgisayarlarda ilkellik testi için pratik bir algoritma. Test polinom çalışma zamanına sahip ancak yüksek dereceli ve olası yüksek sabitleri var. Öyleyse, uygulamalı olarak, hangi diğer primallik …

7
İki dizide farklılık gösteren bir element. Etkili nasıl bulabilirim?
Kodlama görüşmesi için hazırlanıyorum ve bu sorunu çözmenin en etkili yolunu bulamıyorum. Diyelim ki sıralanmamış numaralardan oluşan iki dizimiz var. Dizi 2, Dizi 1'de bulunmayan bir sayı içerir. Her iki dizi de, aynı sırada veya aynı endekslerde olması gerekmez, rastgele yerleştirilmiş numaralara sahiptir. Örneğin: Dizi 1 [78,11, 143, 84, 77, …

3
Faktörleri modulo prime hesaplamanın en etkili yolu nedir?
Modülü sonra faktöriyel etkili bir şekilde hesaplayan bir algoritma biliyor musunuz? Örneğin, programlamak istiyorum: for(i=0; i<5; i++) sum += factorial(p-i) % p; Ancak, pfaktöriyeli doğrudan uygulamak için büyük bir sayıdır (asal) (p≤108)(p≤108)(p \leq 10^ 8) . Python'da bu görev gerçekten kolay, ama gerçekten nasıl optimize edileceğini bilmek istiyorum.

6
Bir aralıkta iki sayının maksimum XOR değerini bulma: ikinci dereceden daha iyisini yapabilir miyiz?
İki ve sayısı verildiğini ve l \ le i, \, j \ le r için bulmak istediğimizi varsayalım .lllrrrmax(i⊕j)max(i⊕j)\max{(i\oplus j)}l≤i,j≤rl≤i,j≤rl\le i,\,j\le r Saf algoritma tüm olası çiftleri kontrol eder; örneğin yakutta: def max_xor(l, r) max = 0 (l..r).each do |i| (i..r).each do |j| if (i ^ j > max) max …

2
Birleştirme türündeki “bölme” adımından kaçınılabilir mi?
Yani birleştirme sıralama bir böl ve fethet algoritmasıdır. Yukarıdaki şemaya bakarken, tüm bölünme adımlarını atlamanın mümkün olup olmadığını düşünüyordum. İki adım atlayarak orijinal dizi üzerinde yinelediyseniz, öğeleri i ve i + 1 dizininde alabilir ve bunları kendi sıralı dizilerine koyabilirsiniz. Tüm bu alt dizileri (şemada gösterildiği gibi [7,14], [3,12], [9,11] …

7
DFA'nın NFA'dan daha verimli olduğunu söyleyebilir miyiz?
Az önce hesaplama teorisi hakkında okumaya başladım. Hangisinin daha güçlü olduğunu (dizeleri kabul ederken) karşılaştırırsak, ikisi de aynıdır. Peki ya verimlilik? DFA, NFA ile karşılaştırıldığında hızlı olacaktır, çünkü sadece bir çıkış kenarı vardır ve belirsizlik olmayacaktır. Ancak NFA durumunda, olası tüm vakaları kontrol etmeliyiz ve bu kesinlikle zaman alır. DFA'nı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.