Дерево остатков
Недавно в голову пришла следующая идея:
Если взять список простых чисел 2,3,5,7…
Можно построить дерево, где каждый уровень дерева соответствует простому числу, и у всех узлов данного уровня количество дочерних элементов равно этому числу. Позиция в дереве определяется путем взятия остатка от деления на простое число. Можно сказать, что мы кодируем число в системе остаточных классов(СОК).
Допустим число 15 можно закодировать так:
15 % 2 = 1
15 % 3 = 0
15 % 5 = 0
Значит маршрут поиска элемента в дереве будет 1 0 0
Вот пример полного дерева для основания (2,3)
dl.dropbox.com/u/20772796/tree.png
Выскажие ваше экспертное мнение, встречались ли вы с такими структурами данных?
Если кому-то интересно, я набросал первый вариант реализации на Scala
github.com/netslow/rtree