[ peca89bg @ 25.06.2012. 08:29 ] @
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...
[ preki @ 25.06.2012. 09:05 ] @
Oni to rade malo drugačije. Uzmu reč od x slova, ubace dva random slova i onda izmešaju.
[ Googladzija @ 25.06.2012. 09:10 ] @
mozda bi se moglo ovako krenuti:

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.

itd. itd.

ne znam da li je pomoglo ovo razmisljanje...
[ Googladzija @ 25.06.2012. 10:59 ] @
ovo prethodno sam napisao pretpostavljajuci da posmatras iz ugla rjesavaca, a ne sastavljaca.

ako si sastavljac onda ide ovako kako je Preki napisao...

[ Bole80 @ 04.07.2012. 08:45 ] @
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
[ peca89bg @ 06.07.2012. 23:12 ] @
Citat:
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


jel moze example?
[ Bole80 @ 22.12.2012. 22:11 ] @
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 ;)
[ goranmd @ 01.01.2013. 15:00 ] @
Imam ja resenje :) Vec sam implementirao algoritam sa recnikom od preko 250 000 reci (doduse korisceni su i padezi)


https://play.google.com/store/...etails?id=com.goci.najduza.rec