кодесурса
«Python

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

script1adsense2code
script1adsense3code

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

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

Иллюстрированная презентация:

«Блок-схема:

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

Код Python:

class TreeNode(object):
    def __init__(self, x):
        self.val = x
        self.left = None
        self.right = None
def 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:])
    return node
def preOrder(node): 
    if not node: 
        return      
    print(node.val)
    preOrder(node.left) 
    preOrder(node.right)   
    
result = sorted_array_to_bst([1, 2, 3, 4, 5, 6, 7])
preOrder(result)

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

 4
2
1
3
6
5
7

Блок - схема:

«Блок-схема:

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

Внесите свой код и комментарии через Disqus.

Предыдущий: Binary Tree Home.
Далее: Напишите программу на Python для перебора класса enum и отображения отдельного члена и его значения.

Каков уровень сложности этого упражнения?

Новый контент: Composer: менеджер зависимостей для PHP , R программирования


script1adsense4code
script1adsense5code
disqus2code
script1adsense6code
script1adsense7code
script1adsense8code
buysellads2code