Welk algoritme moet ik gebruiken om het volgende probleem op te lossen:
Ik heb bijvoorbeeld 5 lijsten met een unieke sleutel (aantal lijsten kan variëren 1..N).
bv:
ABC
ABC EF
ZABCF
ABXCF
ZABCZ
het resultaat moet zijn:
ZABXCZEF
hoe kom ik hier aan ?
ABC EF moet passen in ABC : dus ABCEF
ZABCF moet passen in vorig resultaat ABCEF: dus ZABCEF
kortom, het gaat hier om vaarroutes 1..N en ik moet de verschillende patterns in één lijn stoppen.
Kan iemand mij naar de juiste richting sturen?
MATRIX of ARRAY of Objects tot één lijn afvlakken
Re: MATRIX of ARRAY of Objects tot één lijn afvlakken
Zoek eens op trefwoorden
"sequence alignment"
of
"dynamic programming".
Dan kom je bijvoorbeeld hierop:
https://www.sbc.su.se/~maccallr/thesis/node27.html
Hier worden 2 rijen letters met elkaar vergeleken en zo goed mogelijk op elkaar gelegd (fig 1.1.e op die pagina).
Deze wiki-pagina paragaaf:
https://en.wikipedia.org/wiki/Dynamic_p ... _alignment
verwijst naar 2 veel gebruikte algoritmen.
Dergelijke algoritmen kan je voor al je rijen herhaald toepassen, maar let er wel op dat nog van belang is:
- de volgorde waarin je rijen toevoegt
- de keuzes die je maakt bij gelijke geschiktheid
Voorbeeld:
AB, CBA, ABA:
geeft
(dus in totaal CBABA, een route met lengte 5)
maar
geeft
(dus in totaal CABA, een route met lengte 4)
"sequence alignment"
of
"dynamic programming".
Dan kom je bijvoorbeeld hierop:
https://www.sbc.su.se/~maccallr/thesis/node27.html
Hier worden 2 rijen letters met elkaar vergeleken en zo goed mogelijk op elkaar gelegd (fig 1.1.e op die pagina).
Deze wiki-pagina paragaaf:
https://en.wikipedia.org/wiki/Dynamic_p ... _alignment
verwijst naar 2 veel gebruikte algoritmen.
Dergelijke algoritmen kan je voor al je rijen herhaald toepassen, maar let er wel op dat nog van belang is:
- de volgorde waarin je rijen toevoegt
- de keuzes die je maakt bij gelijke geschiktheid
Voorbeeld:
AB, CBA, ABA:
Code: Selecteer alles
--AB
CBA-
Code: Selecteer alles
--AB-
CBA--
--ABA
maar
Code: Selecteer alles
-AB-
C-BA
Code: Selecteer alles
-AB-
C-BA
-ABA