кодесурса
«Python

Дерево бинарного поиска Python: найдите ближайшее значение цели в заданном непустом дереве двоичного поиска (BST) с уникальными значениями

script1adsense2code
script1adsense3code

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

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

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

Код Python:

class TreeNode(object):
    def __init__(self, x):
        self.val = x
        self.left = None
        self.right = None
def closest_value(root, target):
    a = root.val
    kid = root.left if target < a else root.right
    if not kid:
        return a
    b = closest_value(kid, target)
    return min((a,b), key=lambda x: abs(target-x))
root = TreeNode(8)  
root.left = TreeNode(5)  
root.right = TreeNode(14) 
root.left.left = TreeNode(4)  
root.left.right = TreeNode(6) 
root.left.right.left = TreeNode(8)  
root.left.right.right = TreeNode(7)  
root.right.right = TreeNode(24) 
root.right.right.left = TreeNode(22)  
    
result = closest_value(root, 19)
print(result)

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

 22

Блок - схема:

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

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

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

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

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

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


script1adsense4code
script1adsense5code
disqus2code
script1adsense6code
script1adsense7code
script1adsense8code
buysellads2code