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

  • Blue Lightning TV

    Blue Lightni

    9 EKİM 2011
  • Eric Anthony

    Eric Anthony

    13 AĞUSTOS 2011
  • Lin Steven

    Lin Steven

    17 EKİM 2006