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

Сегодня я узнал: BST Traversal

Запись задания Напишите три функции (в заказе, предварительный заказ и пост-заказ). Помечено Python, Algorithms, WebDev, новички.

Напишите три функции (порядок, предварительный заказ и обход после порядка), которые принимают двоичное дерево поиска (BST) и пустой массив, пройдите, добавьте значение узла в массив ввода и верните массив.

tree =        10
           /       \
         5          15
      /    \           \
    2       5           22
  /
1
in_order = [1, 2, 5, 5, 10, 15, 22]
pre_order = [10, 5, 2, 1, 5, 15, 22]
post_order = [1, 2, 5, 5, 22, 15, 10]
def in_order_traversal(tree, array):
    if tree is not None: 
        in_order_traversal(tree.left, array)
        array.append(tree.value)
        in_order_traversal(tree.right, array)
    return array


def pre_order_traversal(tree, array):
    if tree is not None: 
        array.append(tree.value)
        pre_order_traversal(tree.left, array)
        pre_order_traversal(tree.right, array)
    return array


def post_order_traversal(tree, array):
    if tree is not None: 
        post_order_traversal(tree.left, array)
        post_order_traversal(tree.right, array)
        array.append(tree.value)
    return array
  • N/a
  • AlgoExpert для оператора проблемы
  • Xkcd для изображения обложки

Оригинал: “https://dev.to/anzhari/today-i-learned-bst-traversal-52b1”