TGViewer
Python tricks | Хитрости Питона Python tricks | Хитрости Питона @python_tricks · 5.08K subscribers
Post #2655 761
Напишите функцию на Python, которая принимает корень бинарного дерева поиска и целое число k, и возвращает k-ый по величине элемент в этом дереве.

Условия:
Бинарное дерево поиска (BST) - это дерево, в котором каждый узел имеет не более двух детей, и для каждого узла его левое поддерево содержит только узлы с ключами, меньшими чем ключ узла, а правое поддерево - только узлы с ключами, большими чем ключ узла.
k всегда валидно и находится в пределах количества узлов в дереве.

Объяснение:
Функция kthSmallest принимает корень бинарного дерева и число k.
Вложенная функция inorder реализует обход дерева в порядке "лево-корень-право", что гарантирует получение элементов в порядке возрастания.
Рекурсивный вызов inorder собирает значения узлов в список.
Функция возвращает k-1 элемент этого списка, так как индексация в Python начинается с нуля.


Этот вопрос проверяет знания кандидата в области алгоритмов обхода дерева, рекурсии и понимания структур данных, таких как бинарные деревья поиска.

🔗 Python tricks
More from @python_tricks
  1. Sep 23, 2026Однострочный условный оператор (тернарный оператор) В Python существует возможность исполь…
  2. Sep 22, 2026Сложение списков Не всегда операторы в python ведут себя так, как мы привыкли. Например сл…
  3. Sep 22, 2026🔴 Тестовый собес на Middle Python с разработчиком из Яндекса завтра вечером! [+ разбор 50…
  4. Sep 21, 2026Анатомия декоратора в Python Создадим декоратор @hello_decorator. Декоратор в Python — фун…
  5. Sep 21, 2026Настраиваемый логгер-декоратор Начнем с примера использования. Так мы не перегружаем внима…
  6. Sep 2, 2026Использование zip() для одновременной итерации по нескольким спискам Функция zip() позволя…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →