SORU
26 NİSAN 2010, PAZARTESİ


Bir liste, tüm olası permütasyon oluşturmak için algoritma?

N eleman listesi, n var biliyorum var! olası yolları bu öğeleri sipariş etmek. Bu liste, tüm olası sıralama oluşturmak için bir algoritma nedir? Örneğin, liste [a, b, c]. Algoritma döndürecektir [[a, b, c], [a, c, b], [b, a, c], [b, c, a], [c, a, b], [c, b, a]].

Burada okuyorum http://en.wikipedia.org/wiki/Permutation#Algorithms_to_generate_permutations

Ama Wikipedia asla açıklanması iyi oldu. Bunu pek anlamıyorum.

CEVAP
26 NİSAN 2010, PAZARTESİ


Temel olarak, soldan sağa her bir unsur için kalan tüm öğeleri permütasyon oluşturmak. Bu noktada sadece olası bir düzen var Son elemanı elde edene kadar bu yinelemeli olarak (ya da eğer acı seviyorsanız yinelenen) yapabilirsiniz.

Yani, bir liste verilmiş: [1,2,3,4]

Sadece 1, 2, 3 ve 4 ile başlayan tüm permütasyon ile başlayan tüm permütasyon oluşturmak.

Bu etkili üç öğe listesi için dört unsurun bir listesi permütasyon bulma soruna azaltır. Sen ve 1 element 2'nin devam sonra, hepsi var.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • CruzerLite

    CruzerLite

    1 EKİM 2011
  • Jesse Pimenta

    Jesse Piment

    5 EKİM 2011
  • TheFlashCentre

    TheFlashCent

    22 Mayıs 2008