Дерево двоичного поиска Python: создание сбалансированного двоичного дерева поиска (BST) с использованием отсортированного массива

Дерево двоичного поиска Python: упражнение 1 с решением

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

Наглядное представление:

Пример решения :

Код Python:

  class TreeNode (object): def __init __ (self, x): self.val = x self.left = None self.right = Nonedef sorted_array_to_bst (nums): if not nums: return None mid_val = len  (nums)//2 node = TreeNode (nums [mid_val]) node.left = sorted_array_to_bst (nums [: mid_val]) node.right = sorted_array_to_bst (nums [mid_val + 1:]) вернуть nodedef preOrder (node): if not  узел: вернуть print (node.val) preOrder (node.left) preOrder (node.right) result = sorted_array_to_bst ([1, 2, 3, 4, 5, 6, 7]) preOrder (результат)  

Пример вывода:

 4213657 

Блок-схема:

Редактор кода Python:

Оцените статью
nanomode.ru
Добавить комментарий