Sprawdzanie ktory string z tablicy odpowiada podanymu przez usera

0

Witam. Temat zakladam dla kolegi, poniewaz jest odciety od neta... wiec mam tablice stringow, pobieram od uzytkownika string i musze odnalezc ktory element tablicy odpowiada temu pobranemu - ma to byc jak najszybsze i w 100% niezawodne... Tak czy siak sugestie mile widziane, pozdrawiam :)

0

Iterujesz po całej tablicy i jeżeli znajdziesz odpowiednią wartość (Tablica[Iter] = WartoscPodanaPrzezUsera) to przerywasz pętle.
Co w tym takiego trudnego ?
PS: Chyba, że ma być podobny do tego, wtedy co innego...

1

posortuj listę stringów - wtedy będziesz miał najszybsze wyszukiwanie
a jak chcesz bardziej zaawansowanie to zamień tablicę na drzewo (np. trie czy skompresowane trie)

0

Nie wiem czy sortowanie będzie najszybsze. Chyba to najprostsze rozwiązanie w pętli będzie naprostsze i chyba najszybsze, tzn. można szybciej zacząć od litery od której zaczyna się string i tak po kolei, ale to już dłuższe rozwiązanie, ale jak to ma być do kilkudziesięciu-set stringów i ma to byc proste to zwykła pętla starczy.

1

na pewno najszybsze dla np. 1000 elementów przypadek pesymistyczny to 1000 'obrotów' pętli a przy posortowanej tablicy 'aż' 10, dla 1000000 pętlą będzie 1000000 a posortowana 20 - widzisz różnicę???
Tak samo, żeby stwierdzić że ciągu nie ma w tablicy musisz przelecieć ją całą a przy posortowanej dla 1000 elementów to 10 porównań a dla 1000000 do 20.
Chcesz dalej polemizować?
I żeby nie było - jakoś wątpię, że będzie tą tablicę za każdym razem pobierał od usera. Będzie ona najprawdopodobniej gdzieś zapisana więc odpada konieczność sortowania jej za każdym razem

0

Kolega dziekuje Wam za odpowiedzi, jak mowi "wygralo przeszukiwanie binarne posortowanej tablicy". Pozdro ;)

0

podstawowym rozwiązaniem podczas wyszukiwania wyrazów jest stosowanie funkcji hash'ującej.

1 użytkowników online, w tym zalogowanych: 0, gości: 1