Дерево двоичного поиска 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: