Nazdárek!
Chtěl bych vás, zkušené programátory poprosit o pomoc. Mám za semestrální práci (která mi byla přidělena) txt soubor s miliónem znaků "a g c t" random seřazené (začíná to např "aggctaatgctat") a já mám nalézt nejdelší opakující se substring a vypsat, kde se všude v tomto obrovském řetězci nachází.
Můj problém je, že jsem kdysi dělal v jiném jazyku brutal force na krátké řetězce, ale to je pro tento případ nepoužitelné, protože to, jestli jsem prošel nebo ne závisí na rychlosti, jak rychle se to celé provede....
Jsem nový obor, který nemá v prvním semestru algoritmizaci, takže jsem celkem ztracen...
Dokázal by někdo tento problém vyřešit? Byl bych moc vděčný....
PS: Napadlo mě si vytáhnout z toho zdrojového souboru souřadnice, kde se nachází jaké písmenko. Poté si udělat pár vyhodnocovacích cyklů, které porovnají substringy začínající těmito indexy a koukne se, co od 0tého prvku mají společné a to vezmou jako prozatimní nejvyžsí prvek. Zkoušel jsem toto naprogramovat, ale nepodařilo se mi to...nejsem tak zběhlý v programování.... A teď, když nad tím tak přemýšlím je to (asi) jen převlečený brutal force :(
Fórum › Java
Vyhledávání nejdelšího opakujícího se substringu v txt souboru
To dreIx : Já bych postupoval tak, že bych ten string dělil pořád na poliviny a tim prvním dílkem bych pořád porovnával zbytek toho stringu dokola. Ale asi to nebude "nejrychlejší řešení".
Ale taky by mě zajímalo jak má být vyhodnocen tento řetězec:
"acaca"
Jako dvakrát se opakjící se "ac" nebo dvakrát opakující se "aca" (podřetezce se můžou překrývat) ?
Myslím že tvoj problém sa týka dynamického programovania, konkrétne longest common subsequence[substring].
viď google[1] alebo presne tvoj problém[2] :smile1:
[1] http://www.google.sk/search?hl=sk&rlz=1C1GGLS_skSK304SK304&q=longest+common+subsequence&btnG=H%C4%BEada%C5%A5&meta=&aq=f&oq=
[2] http://www.cs.sunysb.edu/~algorith/files/longest-common-substring.shtml
Nechcu delat vlny, ale longest common subsequence to urcite nebude. To vyhledava 1 nejdelsi v mnoha vstupech a problem je najit mnoho v 1 vstupu. Spis bych to videl na Suffix tree a ten potom prjit. vice: http://en.wikipedia.org/wiki/Suffix_tree http://www.allisons.org/ll/AlgDS/Tree/Suffix/
Přidej příspěvek
Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku
×Vložení zdrojáku
×Vložení obrázku
×Vložení videa
Uživatelé prohlížející si toto vlákno
Podobná vlákna
Nacitani hodnot z txt do pole,vyhledavani a vypis hodnot — založil JiriVavru
Vyhledavani v souboru — založil panpanini
Indexace a vyhledavani v souboru — založil Igor
PHP Vyhledavaní v souboru — založil Petr
Vyhledávání souborů a složek na disku — založil Martin h.
Moderátoři diskuze