Czytam o kukułki mieszaja z Pagh i Rodle i nie mogę zrozumieć sens tego ustępu.Jakie są "nowe funkcje skrótu" w haszu z kukułką?
może się zdarzyć, że proces ten pętli, jak pokazano na rysunku 1 (b). Dlatego liczba iteracji jest ograniczona przez wartość "MaxLoop" do być określone w rozdziale 2.3. Jeśli zostanie osiągnięta ta liczba iteracji, możemy powtarzać kluczy w tabelach z wykorzystaniem nowych funkcji skrótu, a następnie spróbuj ponownie aby pomieścić klucz nestless. Nie ma potrzeby, aby przeznaczyć nowe tabele dla uporczywie powtarzanym: Możemy po prostu uruchomić poprzez tabelach usunąć i wykonać zwykłe procedury wstawiania na wszystkich kluczy okaże się nie być w ich zamierzonym miejscu w tabeli.
Co to znaczy przy użyciu nowych funkcji skrótu?
W algorytmie wstawiania tabela jest zmieniana. Czy powinniśmy używać "puli" funkcji skrótu do użycia? Jak tworzymy tę pulę?
Jeśli dobrze rozumiem, to albo a) uzyskać nową funkcję skrótu z tego zestawu można wymienić i utrzymać wielkość stołu stała lub b) zmienić rozmiar tabeli, stosując te same funkcje 2 hash i nigdy ich nie zmienia? – Jim
Obie opcje prawie na pewno przerwie bieżącą pętlę. Jeśli nie przejmujesz się ilością miejsca, które będziesz zajmować, zmiana rozmiaru może być bardziej przydatna, ponieważ obniży szanse na kolejną pętlę (aż do momentu, gdy masz więcej zapisanych kluczy, tak czy inaczej). Należy pamiętać, że zmiana rozmiaru jest także zmianą funkcji skrótu, ponieważ prawdopodobnie używasz funkcji mieszającej modulo o rozmiar tabel; zwiększ rozmiar, a zmienisz, gdzie wszystko się skończy. –
Więc jeśli użyjemy (a) tj. Nowego hasha z ustalonym rozmiarem tabeli, w jaki sposób określany jest rozmiar tabeli? Z papieru nie jest dla mnie jasne. Jeśli liczba kluczy do wstawienia jest nieznana, jak można uzyskać pewną wielkość tabeli dla algorytmu kukułki? – Jim