Interesuje me cisto posto nemam ideja za slagalicu.
Kako uraditi za najduzu rec?
Npr. od slova dasdasdf izdvojiti najduzu rec?
Imam bazu od preko 50000 reci.
Jedna od ideja je da se sortiraju reci ali to radi samo za taj length i nista preko,
mozda izbaci vise od jedne ali to je ludacka sreca ako sql ide sa like "%...%".
Kako biste vi uradili?
Jedno od resenja je spisak svih kombinacija za npr. duze od 6 slova pa search kroz bazu za svaku kombinaciju ali slozicete se da je to izuzetno sporo...
unutar baze, svakoj rijeci pridruzis rijec od slova koje je sacinjavaju, ali poredana po abecedi.
npr. za SLAGALICA to bi bila rijec AAACGILLS
kada dobijes slova od kojih treba naci najduzu rijec i njih isto poredas.
recimo da se dobiju slova SLAGALIBB, pa bi dobio AABBGILLS
za duzinu 10 je lako.
provjeris postoji li u bazi AABBGILLS.
za duzinu 9 je isto lako. oduzimas svaki put drugo slovo pa bi provjeravao 9 kombinacija.
medjutim, posto se neka slova ponavljaju onda je tu samo 6 kombinacija:
AABBGILL
AABBGILS
AABBGLLS
AABBILLS
AABGILLS
ABBGILLS
duzina 8 je vec malo komplikovanija. tu treba provjeravati kombinacije bez 2 slova, pazeci
opet da se zanemare duple.
Googladzijo to se bas tako i ne radi (mislim na pronalazenje), od celog recnika treba napraviti strukturu stabla i onda raditi pretragu, tako je uradjeno na http://www.zanimacija.com , baza je ogromna a rezultati pretrage se dobijaju u proseku za 20milisekundi
Bole80: Googladzijo to se bas tako i ne radi (mislim na pronalazenje), od celog recnika treba napraviti strukturu stabla i onda raditi pretragu, tako je uradjeno na http://www.zanimacija.com , baza je ogromna a rezultati pretrage se dobijaju u proseku za 20milisekundi
Izgleda da jako kasnim sa odgovorom ali mozda i nije kasno :). Formiras strukturu stabla i onda kreces da unosis rec po rec i kreiras redom cvorove stabla. Mozes da primetis kako na zanimacija.com nekad se rec dobija jako brzo a nekad ne, u trenutku kada duze cekas na odgovor tada se kreira od cele baze reci struktura stabla, za to treba par sekundi, posto je u pitanju singleton svaki sledeci zahtev ide jako brzo kao sto rekoh za 20 milisekundi se dobije rezultat jer se koristi vec kreirana struktura. Nadam se da sam pomogao i posetite zanimacija.com ;)