Wpis z mikrobloga

#java #programowanie

jak lepiej zrobic 20 pare plikow, w kazdym wszystkie slowa zaczynajace sie na dana literke, np wszystkie na f co sie zaczyanja potem nastepny plik z na "g" etc? i potem wiadomo szukajac bedzie sprawdzac plik pod kątem danego slowka i zawsze na poczatku sprawdzanie na jaka literke sie zaczyna, czy wszystkie slowka do jednego pliku, i leciec przez caly plik? i jak lepiej zaczac szukac, tradycyjne przeszukiwanie czy to zaczynajace od srodka i lecace w prawo lub w lewo, w zaleznosci od szukanego slowa? bo plik ma je posegregowane alfabetycznie?
  • 15
@safian: @matiit: jak lepiej zrobic. Jeden plik ze wszystkimi slowkami i zawsze przelaywac przez wszystkie? czy wiele plikow, z slowami na dana literke tylko? no i system liniowy wyszukiwania bedzie w pyte? danego slowka w tym pliku czy wystepuje, czy cos innego lepiej poszukac?
@matiit: no ale gdzies musze miec "baze danych" ze slowkami :D wiadomo ze bardziej zaawanosane nie, ale jak podstawy mamy etc, to w czym mam trzymac? mozna potem to zaladowac do array np, mysle, ale moze mi cos podpowiesz? ale cos dosc prostego i przystepnego :D
@porque: Jeśli słownik będzie zmieniać się rzadko najlepsza na coś takiego jest maszyna stanu. Każde przejście jest literką, jeśli z danego stanu jest przejście do stanu końcowego to oznacza że masz słowo. Zalety takiego podejścia są 3 - całość jest piekielnie mała (jakieś 200tyś słów zmieściło się w 1-2MB..), praktycznie ciężko o coś szybszego, ponadto w Javie możesz trzymać taką maszynę stanu w tablicy bajtów/intów - interpreter, który będzie po niej
@losiul: slownik raczej nie bedzie sie zmieniac :) ma okolo 100 tys slow :) nie rozumiem z tym zmienianiem stanu, dokladnie o co chodzi :) moze gdzies jakies proste wytluamczenie jest? lub jakos mozna opisac na chlopski rozum?
@losiul: no wlasnie zadanie :) mamy tydzien chyba jak sie nie myle, a chce to zrobic naprawde fajnie. Typu mamy tablice 2 wymiarowa, z losowo wygerenowanymi literkami od A-Z i gracz podaje slowo i jak da sie ulozyc z tych literek ten wyraz, to sa one usuwane i dodawane punkty. Dlatego mam juz slownik i juz dziala i wyszukuje czy istnieje dane slowo. Potem sprawdzanie to juz nie problem :) to