T-дерево: различия между версиями

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
[непроверенная версия][непроверенная версия]
Содержимое удалено Содержимое добавлено
м поправил картинку
м Код
Строка 1: Строка 1:
[[Файл:T-tree.pdf|thumb]]
[[Файл:T-tree.pdf|thumb]]


'''T-tree''' — сбалансированное дерево во внешней памяти, оптимизированное для случаев, когда востребованные ({\comic горячие}) данные полностью хранятся в оперативной памяти.
'''T-tree''' — сбалансированное дерево во внешней памяти, оптимизированное для случаев, когда востребованные ({\comic горячие}) данные полностью хранятся в оперативной памяти. Данные хранятся в самих узлах дерева.
Указатели переводят на следующий узел дерева.


T-деревья сами не хранят копии индексированных полей данных в своих вершинах.
T-деревья сами не хранят копии индексированных полей данных в своих вершинах.
Строка 7: Строка 8:
Таким образом, они просто содержат ссылки на эти горячие данные.
Таким образом, они просто содержат ссылки на эти горячие данные.


Структура узла T-дерева можно представить в следующем виде:

<source lang="С">

struct t_tree_node{
void* parent;
void** data; /* ordered array of data pointers */
void* control; /* some extra control data */
void* left_child;
void* right_child;
}
</source>





Версия от 18:59, 2 апреля 2010

T-tree — сбалансированное дерево во внешней памяти, оптимизированное для случаев, когда востребованные ({\comic горячие}) данные полностью хранятся в оперативной памяти. Данные хранятся в самих узлах дерева. Указатели переводят на следующий узел дерева.

T-деревья сами не хранят копии индексированных полей данных в своих вершинах. Вместо этого, они пользуются тем, что горячие данные всегда содержатся в памяти вместе со своим индексом. Таким образом, они просто содержат ссылки на эти горячие данные.

Структура узла T-дерева можно представить в следующем виде:

struct t_tree_node{
	void* parent;
	void** data; /* ordered array of data pointers */
	void* control; /* some extra control data */
	void* left_child;
	void* right_child;
}