Witam
Piszę program który będzie szukał słowa w słowniku i mowil czy takie słowo istnieje czy tez nie.
Jak najlepiej to zrobic? Na samym poczatku wczytywać plik(30MB) do tablicy czy mozna jakos szybciej to zrobic?
Witam
Piszę program który będzie szukał słowa w słowniku i mowil czy takie słowo istnieje czy tez nie.
Jak najlepiej to zrobic? Na samym poczatku wczytywać plik(30MB) do tablicy czy mozna jakos szybciej to zrobic?
Czytaj linia po linii i sprawdzaj czy już znaleziono odpowiedni wyraz lub wczytuj grupami, powiedzmy po 1024 znaki i podziel cobie według jakiegoś znaku (np. \n) cofnij się do ostatniego pełnego znaku a w tablicy wyszukaj czy dane słowo istnieje. Sądzę jednak, że pomysł nr 1 będzie szybszy.
To jest złe podejście! Po prostu za wolne.
O wiele lepiej skorzystać z funkcji hash-ujących.
Żeby robić z danymi cokolwiek, musisz je mieć w pamięci. Wczytywanie danych z pliku jest dość czasochłonne. Najpierw wczytaj plik do tablicy (30 MB więcej w pamięci system nawet nie poczuje ), później możesz ją jeszcze przygotować ( np. posortować ). Wtedy samo wyszukiwanie będzie o wiele szybsze niż każdorazowe wczytywanie wyrazu, linii, bloku danych i sprawdzanie wyraz po wyrazie.
Ja zrozumiałem, że on szuka tylko 1 słowa. Jeśli większej ilości to hasztablice bez wątpienia.