|
|
kleinsten gemeinsamen substring finden |
|
testuser |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 12.09.2012, 10:58
Titel: kleinsten gemeinsamen substring finden
|
 |
Hallo,
ich habe eine Reihe von strings die einen unbestimmten gemeinsame substring enthalten. Wie kann ich diesen finden?
Bsp.:
gesucht ist 'string'
Die länge des kleinsten gemeinsamen strings kenne ich natürlich nicht.
Ich hab schon ein bisschen mit den strcmp-Varianten rumprobiert, bin allerdings auf kein sinnvolles Ergebnis gekommen. Für hilfreiche Tips bin ich wie immer dankbar.
Grüße Gast
|
|
|
|
|
flashpixx |

Forum-Guru
|
 |
Beiträge: 355
|
 |
|
 |
Anmeldedatum: 19.04.08
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 12.09.2012, 12:23
Titel:
|
 |
Du wirst mit Standard String Funktionen da wohl keine Lösung finden, denn wenn Du die Länge nicht kennst, dann musst Du alle Teilstring suchen.
Dir wird da nur ein http://de.wikipedia.org/wiki/Suffixbaum helfen
|
|
|
Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 12.09.2012, 13:03
Titel: Re: kleinsten gemeinsamen substring finden
|
 |
Hallo,
Beginnen die gleichen Substrings alle am Anfang der Strings?
Was soll geschehen, wenn mehrere Substrings die gleiche Länge haben?
Gruß, Jan
|
|
|
testuser |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 12.09.2012, 13:39
Titel:
|
 |
Hallo, vereinfacht beginnen alle substrings am Anfang. Wenn der substring auch irgendwo innerhalb der strings liegt wäre das noch besser. Nichts soll passieren, ich will nur den substring haben, welcher in allen strings enthalten ist.
|
|
|
testuser |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 13.09.2012, 13:26
Titel:
|
 |
Hallo,
ich hab jetzt noch ein bisschen probiert und eine sehr umständliche Lösung gefunden.
Für Alternativvorschläge bin ich nach wie vor dankbar.
Grüße testuser
|
|
|
Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 13.09.2012, 17:09
Titel:
|
 |
Hallo testuser,
Oder:
Gruß, Jan
|
|
|
testuser |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 14.09.2012, 10:01
Titel:
|
 |
Hallo Jan,
danke für den Tip, die erste Variante funktioniert nicht ganz so gut aber aus der zweiten ließ sich was machen.
So klappt es ganz gut und ist deutlich übersichtlicher als meine Variante. Wenn du jetzt noch nen Tip hast wie man den längsten zusammenhängenden Substring innerhalb des Srings findet.
Eventuell in dieser Form:
|
|
|
Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 14.09.2012, 11:01
Titel:
|
 |
Hallo,
Das ist tückisch, denn es zählt auf gleiche Buchstaben mit, die später auftauchen:
Besser und eine Verbesserung meines Vorschlages:
Also: Find den ersten Buchstaben, der nicht für alle Strings gleich ist.
Den längsten zusammenhängenden Substring zu finden ist deutlich schieriger. Welches Ergebnis erwartest Du für:
Müssen die gleichen Buchstaben auch an der gleichen Position im String stehen?
Bringt Dich der Link von flashpixx weiter? Ein Kommentar dazu wäre hilfreich.
Gruß, Jan
|
|
|
testuser |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 14.09.2012, 11:30
Titel:
|
 |
Hey,
der Link hilft nicht wirklich, zumindest hab ich keine Ahnung wie ich sowas umsetzen sollte.
Der gemeinsame Substring wird sehr wahrscheinlich immer an der gleichen Stelle im String beginnen.
Wenn man in
findet wäre das schon eine große Hilfe.
Grüße testuser
|
|
|
|
|
Einstellungen und Berechtigungen
|
|
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
|
|
Impressum
| Nutzungsbedingungen
| Datenschutz
| FAQ
| RSS
Hosted by:
Copyright © 2007 - 2025
goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.
|
|