Рубрики
Без рубрики

Обход дерева в Python [Реализация]

В этой статье мы изучим концепцию и алгоритм для обхода дерева INARDORD. Тогда мы реализуем алгоритм обхода Interorder в Python и

Автор оригинала: 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.

BST.

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

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, чтобы пройти двоичное дерево поиска и обнаружило, что для двоичного поиска, в порядке обхода принтера принтера в увеличении порядка. Оставайтесь настроиться на более информативные статьи.

Счастливое обучение!