Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Бинарное дерево поиска Python

Анатолий Закревский Ученик (175), на голосовании 3 года назад
Задано бинарное дерево с n вершинами, в котором хранятся целые числа. Разработайте эффективный алгоритм, определяющий минимальную глубину листа и количество листьев на этой глубине. Глубина вершины v — это длина пути от корня до вершины v.

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

(b) обосновать точность,

(c) получить временную сложность (в худшем случае).

class VrcholBinStromu:
"""класс для представления вершины бинарного дерева"""
def __init__(self, info = None, levy = None, pravy = None):
self.info = info # data
self.levy = levy # levé dítě
self.pravy = pravy # pravé dítě

def minHloubkaListu(koren : VrcholBinStromu) -> (int,int):
"""
корень : корень указанного бинарного дерева
возвращает: минимальная глубина листа и количество листов минимальной глубины
"""
Похожие вопросы