EJIO.utils.component.tree package

Inheritance diagram of EJIO.utils.component.tree.general_tree.GeneralTreeNode, EJIO.utils.component.tree.bst.BSTNode

Submodules

EJIO.utils.component.tree.bst module

class EJIO.utils.component.tree.bst.BSTNode(*args: Any)[исходный код]

Базовые классы: TreeNode

Узел двоичного (бинарного) дерева поиска (Binary Search Tree). Содержит строго левого (меньшего) и правого (большего) потомков.

property children: Iterable[TreeNode]

Потокобезопасная проекция двоичной структуры на общий контракт TreeNode. Возвращает левого и правого детей, если они существуют.

Результат:

Список потомков.

destroy() → None[исходный код]

Итеративное, потокобезопасное и каскадное уничтожение бинарного дерева поиска. Полностью защищено от RecursionError и оптимизировано по скорости.

insert(val: Any) → None[исходный код]

Потокобезопасная упорядоченная вставка элемента со сравнением значений.

Параметры:

val – Значение нового узла.

left: BSTNode | None
right: BSTNode | None
property value: Any

Возвращает значение текущего узла.

Результат:

Значение текущего узла.

EJIO.utils.component.tree.general_tree module

class EJIO.utils.component.tree.general_tree.GeneralTreeNode(*args: Any)[исходный код]

Базовые классы: TreeNode

Узел универсального дерева общего вида (N-арное дерево). Может содержать неограниченное количество дочерних потомков.

add_child(child_node: GeneralTreeNode) → GeneralTreeNode[исходный код]

Потокобезопасно добавляет дочерний узел в дерево.

Параметры:

child_node – Новый дочерний узел.

Результат:

Новый узел.

property children: Iterable[TreeNode]

Возвращает изолированную потокобезопасную копию списка потомков.

Результат:

Список потомков.

destroy() → None[исходный код]

Потокобезопасное каскадное уничтожение N-арного дерева.

remove_child(child_node: GeneralTreeNode) → None[исходный код]

Потокобезопасно удаляет дочерний узел из дерева.

Параметры:

child_node – Дочерний узел.

property value: Any

Возвращает значение текущего узла.

Результат:

Значение текущего узла.

Module contents

class EJIO.utils.component.tree.BSTNode(*args: Any)[исходный код]

Базовые классы: TreeNode

Узел двоичного (бинарного) дерева поиска (Binary Search Tree). Содержит строго левого (меньшего) и правого (большего) потомков.

property children: Iterable[TreeNode]

Потокобезопасная проекция двоичной структуры на общий контракт TreeNode. Возвращает левого и правого детей, если они существуют.

Результат:

Список потомков.

destroy() → None[исходный код]

Итеративное, потокобезопасное и каскадное уничтожение бинарного дерева поиска. Полностью защищено от RecursionError и оптимизировано по скорости.

insert(val: Any) → None[исходный код]

Потокобезопасная упорядоченная вставка элемента со сравнением значений.

Параметры:

val – Значение нового узла.

left: BSTNode | None
right: BSTNode | None
property value: Any

Возвращает значение текущего узла.

Результат:

Значение текущего узла.

class EJIO.utils.component.tree.GeneralTreeNode(*args: Any)[исходный код]

Базовые классы: TreeNode

Узел универсального дерева общего вида (N-арное дерево). Может содержать неограниченное количество дочерних потомков.

add_child(child_node: GeneralTreeNode) → GeneralTreeNode[исходный код]

Потокобезопасно добавляет дочерний узел в дерево.

Параметры:

child_node – Новый дочерний узел.

Результат:

Новый узел.

property children: Iterable[TreeNode]

Возвращает изолированную потокобезопасную копию списка потомков.

Результат:

Список потомков.

destroy() → None[исходный код]

Потокобезопасное каскадное уничтожение N-арного дерева.

remove_child(child_node: GeneralTreeNode) → None[исходный код]

Потокобезопасно удаляет дочерний узел из дерева.

Параметры:

child_node – Дочерний узел.

property value: Any

Возвращает значение текущего узла.

Результат:

Значение текущего узла.