Автор оригинала: Pankaj Kumar.
Обход дерева в Python [Реализация]
В этой статье мы изучим концепцию и алгоритм для обхода дерева INARDORD. Затем мы реализуем алгоритм для обхода Interorder в Python и запустите его на двоичном дереве поиска.
Что такое обход дерева
Обжарка INORDORD – это алгоритм обхода древовидной глубины. В глубине первого обхода мы начинаем на корневом узле, а затем мы исследуем ветвь дерева до конца, а затем мы возвращаемся и пересекаем другую ветку.
В прохождении INOODER, сначала пересекаем левый ребенок или левый подметку текущего узла, а затем мы перемещаем текущий узел, а затем пересекаем правильный дочерний или правый подметку текущего узла. Мы выполняем эту операцию рекурсивно, пока все узлы не пройдены. Мы используем обход INORDORD для печати элементов двоичного дерева поиска в увеличении порядка.
Алгоритм обхода дерева
Ниже приведен алгоритм для обхода внешнего назначения.
Algorithm inorder: Input: Reference to Root Node Output:Prints All the nodes of the tree Start. 1.If root is empty,return. 2.Traverse left subtree of the root.// inorder(root.leftChild) 3. Traverse the root node. //print value at node 4. Traverse the right subtree of the root.// inorder(root.rightChild) End.
Внедрение прохождения алгоритма обхода в Python
Теперь мы реализуем вышеупомянутый алгоритм для печати узлов следующего двоичного дерева поиска в прохождении Oinder.
В следующем коде сначала была создана вышеупомянутое двоичное поисковое дерево, а затем напечатано обходное устройство двоичного дерева.
class BinaryTreeNode: def __init__(self, data): self.data = data self.leftChild = None self.rightChild=None def insert(root,newValue): #if binary search tree is empty, make a new node and declare it as root if root is None: root=BinaryTreeNode(newValue) return root #binary search tree is not empty, so we will insert it into the tree #if newValue is less than value of data in root, add it to left subtree and proceed recursively if newValue
Выход:
Printing values of binary search tree in Inorder Traversal. 6 10 14 15 20 25 60
Здесь мы видим, что значения были напечатаны в увеличении порядка. Итак, если вас просят распечатать данные из двоичного дерева поиска в увеличении порядка, вам просто нужно выполнить прохождение обстановки двоичного поиска.
Заключение
В этой статье мы узнали концепцию обхода дерева Enlordorder. Мы также изучили алгоритм и внедрили его в Python, чтобы пройти двоичное дерево поиска и обнаружило, что для двоичного поиска, в порядке обхода принтера принтера в увеличении порядка. Оставайтесь настроиться на более информативные статьи.
Счастливое обучение!