«algorithm» etiketlenmiş sorular

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

3
sınıfım için nasıl takas işlevi sağlayabilirim?
swapSTL algoritmalarımı etkinleştirmenin doğru yolu nedir ? 1) Üye swap. Mu std::swapüyesini kullanmak SFINAE hile kullanmak swap. 2) swapAynı isim alanında serbest duruş . 3) Kısmi uzmanlaşma std::swap. 4) Yukarıdakilerin tümü. Teşekkür ederim. DÜZENLEME: Görünüşe göre sorumu açıkça ifade etmedim. Temel olarak, bir şablon sınıfım var ve o sınıf için …
89 c++  algorithm  stl  swap 


19
Google nasıl bu kadar hızlı olabilir?
Kilitli . Bu soru ve cevapları kilitlidir çünkü soru konu dışıdır ancak tarihsel önemi vardır. Şu anda yeni cevapları veya etkileşimleri kabul etmiyor. Google'ın bir sorguya bu kadar hızlı hizmet vermesini sağlayan teknolojiler ve programlama kararları nelerdir? Bir şeyi her aradığımda (günde birkaç kez), sonuçları 1 saniyeye yakın veya daha …

4
100 hareketli hedef arasındaki en kısa yolu nasıl bulabilirim? (Canlı demo dahildir.)
Arka fon Bu resim sorunu göstermektedir: Kırmızı daireyi kontrol edebilirim. Hedefler mavi üçgenler. Siyah oklar, hedeflerin hareket edeceği yönü gösterir. Tüm hedefleri minimum adım sayısında toplamak istiyorum. Her dönüşte 1 adım sola / sağa / yukarı veya aşağı hareket etmeliyim. Her dönüşte hedefler ayrıca tahtada gösterilen talimatlara göre 1 adım …

4
Yinelemeli dizgenin zaman karmaşıklığı gerçekte O (n ^ 2) veya O (n) 'yu ekliyor mu?
CTCI'dan kaynaklanan bir sorun üzerinde çalışıyorum. 1. bölümün üçüncü problemi, aşağıdaki gibi bir dizge almanızı gerektirir: 'Mr John Smith ' ve sizden ara boşlukları aşağıdakilerle değiştirmenizi ister %20: 'Mr%20John%20Smith' Yazar bu çözümü Python'da O (n) olarak adlandırarak sunuyor: def urlify(string, length): '''function replaces single spaces with %20 and removes trailing …

8
Bir öğeyi aramanın verimli yolu
Geçenlerde bir röportaj yaptım ve bana bir " arama " sorusu sordular . Soru şuydu: Her bir öğenin bitişiğindeki öğeleriyle karşılaştırıldığı +1veya -1bunlarla karşılaştırıldığı bir (pozitif) tamsayı dizisi olduğunu varsayalım . Misal: array = [4,5,6,5,4,3,2,3,4,5,6,7,8]; Şimdi 7konumunu arayın ve geri dönün. Bu cevabı verdim: Değerleri geçici bir dizide saklayın, sıralayın …

14
Voronoi diyagramının uygulanması için en kolay algoritma? [kapalı]
Kapalı. Bu soru Yığın Taşması yönergelerini karşılamıyor . Şu anda cevapları kabul etmiyor. Bu soruyu geliştirmek mi istiyorsunuz? Yığın Taşması için konuya uygun olması için soruyu güncelleyin . 1 yıl önce kapalı . Bu soruyu geliştirin Voronoi diyagramını uygulamak için kolay algoritmalar nelerdir? Özellikle sözde formda herhangi bir algoritma bulamadım. …

16
Sayı tabanlı sistemlere dayalı algoritmalar? [kapalı]
Şu anda olduğu gibi, bu soru Soru-Cevap formatımıza uygun değil. Cevapların gerçekler, referanslar veya uzmanlıkla desteklenmesini bekliyoruz, ancak bu soru büyük olasılıkla münazara, münakaşalar, anketler veya uzun tartışmalar gerektirecektir. Bu sorunun iyileştirilebileceğini ve muhtemelen yeniden açılabileceğini düşünüyorsanız, rehberlik için yardım merkezini ziyaret edin . 8 yıl önce kapalı . Son …

5
Tembel permütasyon oluşturma
Clojure'da tembel bir liste yapabileceğim bir kümenin permütasyonlarını oluşturmak için bir algoritma arıyorum. Yani, her permütasyonun ben talep edene kadar hesaplanmadığı ve tüm permütasyonların aynı anda bellekte saklanmasının gerekmediği bir permütasyon listesi üzerinde yinelemek istiyorum. Alternatif olarak, belirli bir küme verildiğinde bir algoritma arıyorum, bu kümenin "sonraki" permütasyonunu döndürecektir, öyle …

13
Bir daire içindeki noktaların konumunu hesaplamak
Şu anda bu konuda biraz boş boş düşünüyorum. Merkezden ve birbirlerinden eşit uzaklıkta olduklarını varsayarak, merkezi bir nokta etrafındaki noktaların konumunu hesaplamam gereken bir problemim var. Puanların sayısı değişkendir, bu yüzden DrawCirclePoints(int x) eminim ki basit bir çözüm vardır, ancak hayatım boyunca bunu göremiyorum :)

12
Bir listenin tüm permütasyonlarını bitişik eşit öğeler olmadan oluşturun
Bir listeyi sıraladığımızda, a = [1,2,3,3,2,2,1] sorted(a) => [1, 1, 2, 2, 2, 3, 3] eşit öğeler her zaman sonuç listesinde bitişiktir. Bunun zıttı görevi nasıl başarabilirim - listeyi karıştırın, böylece eşit öğeler asla (veya mümkün olduğunca nadiren) bitişik olmaz? Örneğin, yukarıdaki liste için olası çözümlerden biri şudur: p = …

28
Listede Olmayan En Küçük Tamsayıyı Bulun
Bir meslektaşımın kullandığı ilginç bir röportaj sorusu: Size çok uzun, sıralanmamış 64 bitlik işaretsiz tam sayılar listesi verildiğini varsayalım. Listede bulunmayan en küçük negatif olmayan tamsayıyı nasıl bulursunuz ? İZLEME: Sıralamayla bariz bir çözüm önerildiğine göre, bunu O (n log n) den daha hızlı yapabilir misiniz? TAKİP: Algoritmanız, örneğin 1 …
87 arrays  algorithm 

12
Bilgisayar Bilimlerinde Sıralama ve 'Gerçek' Dünyada Sıralama
Yazılımdaki algoritmaları ve engelin üstesinden gelmenin olası yollarını düşünüyordum O(nlogn). Pratik anlamda daha hızlı sıralamanın mümkün olduğunu sanmıyorum, bu yüzden lütfen yaptığımı düşünmeyin. Bununla birlikte, neredeyse tüm sıralama algoritmalarında, yazılımın her bir öğenin konumunu bilmesi gerekir. Hangisi mantıklı, aksi takdirde, her bir öğeyi bir sıralama kriterine göre nereye yerleştireceğini nasıl …

11
Ekleme sıralaması ve Kabarcık Sıralama Algoritmaları
Birkaç sıralama algoritmasını anlamaya çalışıyorum, ancak kabarcık sıralama ve ekleme sıralama algoritmasındaki farkı görmeye çalışıyorum. Her ikisinin de O (n 2 ) olduğunu biliyorum , ama bana öyle geliyor ki, kabarcık sıralaması her geçiş için dizinin maksimum değerini en üste çıkarırken, ekleme sıralaması her geçişte en düşük değeri en alta …

17
bir yinelenebilirliği sabit boyutlu parçalara bölme
Olası Yineleme: Python'da bir listeyi eşit büyüklükte parçalara nasıl bölersiniz? Girdi olarak yinelenebilen ve yinelenebilir yinelenebilir bir "toplu" işlevi bulamadığıma şaşırdım. Örneğin: for i in batch(range(0,10), 1): print i [0] [1] ... [9] veya: for i in batch(range(0,10), 3): print i [0,1,2] [3,4,5] [6,7,8] [9] Şimdi, oldukça basit olduğunu düşündüğüm …

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.