Uczę się o drzewach Radix (inaczej skompresowanych próbach) i Patricii, ale znajduję sprzeczne informacje na temat tego, czy faktycznie są one takie same. Drzewo radix można uzyskać z normalnej (nieskompresowanej) trie, łącząc węzły z ich rodzicami, gdy węzły są jedynym dzieckiem. Dotyczy to również prób Patricii. W jaki sposób dwie struktury danych są różne?
Na przykład NIST wymienia dwa jako takie same:
Drzewo Patricia
(struktura danych)
Definicja: Zwarta reprezentacja trie, w której dowolny węzeł będący jedynym dzieckiem jest łączony z jego rodzicem.
Znany również jako drzewo radix.
Wiele źródeł w sieci twierdzi, że tak samo. Jednak najwyraźniej próby Patricii są szczególnym przypadkiem drzew radix. Wpis w Wikipedii mówi:
Próby PATRICIA są próbami z radix z radix równym 2, co oznacza, że każdy bit klucza jest porównywany indywidualnie, a każdy węzeł jest dwukierunkową (tj. Lewą i prawą) gałęzią.
Naprawdę tego nie rozumiem. Czy różnica polega tylko na sposobie dokonywania porównań podczas wyszukiwania? Jak każdy węzeł może być „gałęzią dwukierunkową”? Czy nie powinno być co najwyżej ALPHABET_SIZE
możliwych gałęzi dla danego węzła?
Czy ktoś może to wyjaśnić? Czy ze względów praktycznych próby Radix są zwykle wdrażane tak, jak próbuje Patricia (i dlatego często są uważane za takie same)? Czy nie można dokonać takich uogólnień?
źródło