Her düğümün en fazla üç çocuğu ve üç ebeveyni olduğu bir n boyutlu çok başlı asiklik grafik verildiğinde, iki düğümün aynı değeri paylaşmadığı bir n uzunluğundaki yolun var olup olmadığını belirlemek için üstel bir algoritma yoktur. ve bir kümenin her değeri hesaplanıyor mu?Labirent sorununa üstel çözüm mü?
Temel olarak, her alanın rasgele bir değere (1..n) sahip olduğu bir n * n labirentim var. Her değeri içeren n düğümlerinin bir yolunu (yukarıdan aşağıya) bulmalıyım.
Şu anda derinlemesine arama özelliğini kullanıyorum, fakat O(3^n)
olan ve ideal olmayan bir çözüm olan T(n) = 3T(n-1) + O(1)
. Korkularımı doğrulamak ya da beni doğru yöne işaret etmek çok takdir edilecektir.
Düzenleme: Bunu biraz daha somut hale getirmek için, burada çözümleri olan bir labirent (derinlik-ilk çözüm kullanılarak çözüldü).
1 2 5 5 4 1 5 1 3 5 4 1 2 3 2 5 5 4 4 3 4 2 1 2 4 S3, 5, 1, 3, 4, 2, F4 S3, 5, 1, 3, 4, 2, F2 S3, 5, 1, 3, 4, 2, F4 S3, 5, 3, 2, 4, 1, F3 S3, 5, 3, 2, 4, 1, F3 S3, 5, 3, 2, 4, 1, F3 S4, 5, 3, 2, 4, 1, F3 S4, 5, 3, 2, 4, 1, F3 S4, 5, 3, 2, 4, 1, F3 S4, 5, 1, 3, 4, 2, F4 S4, 5, 1, 3, 4, 2, F2 S4, 5, 1, 3, 4, 2, F4 S5, 4, 3, 2, 5, 1, F3 13 total paths`
bu ödev olarak etiketlenmeli? –
"Kod, kthxbye" için sormuyorum gibi değil. Daha büyük bir programlama ödevi parçası olarak, bir sorunla karşılaştım ve mümkün olan en iyi işi yapıp yapmadığımı merak ediyorum, ya da başımı CLRS ve Knuth'a bir kaç saat daha tutmalıyım ve bir şey eksik. –
Ayrıca, sözler benimdir. İkinci paragrafta özetlediğim naif bir açıklama yapıldı. –