Хотя трудно найти единообразное определение «дерева Radix», большинство принятых определений дерева Radix указывают, что это уплотненное дерево префикса. То, что я пытаюсь понять, - это значение термина «радикс» в этом случае. Почему уплотненные деревья префиксов так называются (т. Е. Дерево Radix) и не уплотненные не называются Radix Tree?Значение термина «Radix» в дереве Radix
ответ
Википедия может ответить на этот вопрос, https://en.wikipedia.org/wiki/Radix:
В математических числительными системах счисления является число уникальных цифр, включая ноль, используемых для представления чисел в позиционной системе счисления. Например, для десятичной системы ( наиболее распространенной системы в использовании сегодня) радикс десять, потому что он использует десять цифр от 0 до 9.
и дерево https://en.wikipedia.org/wiki/Radix_tree:
структура данных, представляющая оптимизированную по пространству trie, в которой каждый узел , являющийся единственным дочерним, объединяется со своим родителем. Результат , что число детей каждый внутреннего узла, по крайней мере Radix г дерева поразрядного, где г является положительным целым числом и мощностью х 2, имеющим х ≥ 1
Наконец проверить словарь:
1.radix (существительного)
примитивный слово, от которого другие слова весной.
Радиус в дереве оснований определяет баланс между количеством детей (или глубины) дерева и «разреженности» или количеством суффиксов уникальным.
EDIT - разработка
число детей каждого внутреннего узла, по крайней мере радикс г
Давайте рассмотрим слова «АВА, ненормальное, акне, и бездонной». В обычном дерево префиксов (или синтаксического дерева), каждая дуга добавляет одну букву в слове, так что мы имеем:
-a-b-a-
n-o-r-m-a-l-
y-s-m-a-l-
-c-n-e-
Мой рисунок немного вводит в заблуждение - в попытках письма обычно сидят на дугах, так «- '- это узел, а буквы - это ребра. Примечание много внутренних узлов есть один ребенок! Теперь компактна (и очевидно) форма:
-a-b -a-
normal-
ysmal-
cne-
Ну теперь у нас есть внутренний узел (за б) с 3-мя детьми! Радиус - положительная мощность 2, поэтому в этом случае 2. Почему 2 и не сказать 3? Хорошо сначала обратите внимание, что у корня есть 2 ребенка. Кроме того, предположим, что мы хотим добавить слово.Опции:
- разделяет точку
b
префиксов - ну, 4 больше 2. - акций ребро ребенка
b
- говорят, 'ненормально'. Ну Встраивание способ работает совместно часть будет разделена, и мы будем иметь:
Соответствующие отрасли:
-normal-ly-
-
нормаль внутренний узел сейчас, но имеет 2-х детей (один листок). - другой случай, например, удаляет акне. Но теперь свойство компактности говорит узел после b
должны быть слиты обратно, так как это единственный ребенок, поэтому дерево становится
дерево:
-ab-a
-normal-ly-
-
-ysmal
так, мы по-прежнему поддерживать детей> 2.
Надеюсь, это прояснит!
@ kabanus - я не мог понять _ «каждый внутренний узел - это, по крайней мере, радиус r» _. Не могли бы вы рассказать о том, что это значит; и почему это неприменимо для не уплотненных Trie! – KGhatak
@ kabanus - Большое спасибо за терпение ура; хотя я начал казаться невозможным. Btw, вы говорите, для уплотненного Trie, для всех внутренних узлов n, если min (# из числа детей n)> = 2^r, то r является основанием уплотненного trie? Может быть, мы можем сначала определить определение radix r такого Trie! – KGhatak
Я только что нашел еще один хороший андер: http://stackoverflow.com/questions/21204980/what-does-radix-mean-in-a-radix-tree - жаль, что я не увидел это раньше. Как вы видите, минимальное количество бит, необходимое для поддержания всех возможных префиксов во внутренних узлах, является основанием. – kabanus
Ответ на этот вопрос я не думаю. Я имею в виду, что у trie есть столько же «оснований» в нем, сколько в дереве radix. Однако кто-то использовал этот термин, и он остался таким. Более важно то, что дерево radix - это сжатая версия trie, и именно поэтому некоторые люди используют термин сжатое префиксное дерево или сжатое trie. Кроме того, я использую термин PATRICIA для вызова той же структуры данных. Однако есть некоторые дебаты по этому поводу, и согласно wikipedia PATRICIA - это особый тип дерева оснований, используемого для хранения двоичных строк. –
Я в конце концов нашел ответ и разместил свое понимание как ответ на другой вопрос: http://stackoverflow.com/questions/14708134/what-is-the-difference-between-trie-and-radix-trie-data -структуры/40567517 # 40567517 – KGhatak