Bazı dize parçaları göz önüne alındığında, tüm parçaları içeren mümkün olan en kısa tek dize ("çıkış dizesi") bulmak istiyorum. Parçalar çıktı dizesinde birbiriyle çakışabilir.
Misal:
Dize parçaları için:
BCDA
AGF
ABC
Aşağıdaki çıktı dizesi tüm parçaları içerir ve naif eklenerek yapılmıştır:
BCDAAGFABC
Bununla birlikte, bu çıkış dizesi çakışma kullandığından daha iyidir (daha kısa):
ABCDAGF
^
ABC
^
BCDA
^
AGF
Bu sorun için algoritmalar arıyorum. Kesinlikle en kısa çıktı dizesini bulmak kesinlikle önemli değildir, ancak daha kısa olan daha iyidir. Ben giriş fragmanlarının tüm permütasyonları ekleme ve (ki NP-Complete gibi görünecektir) çakışma kaldırarak açık naif bir daha iyi bir algoritma arıyorum.
Bir çözüm üzerinde çalışmaya başladım ve bu oldukça ilginç; Başkalarının neler yapabileceğini görmek istiyorum. Bir süredir bu soruya devam eden çalışmamı ekleyeceğim.