Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Задачи

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

Назад
Вопрос про JavaScript: binary tree, leaf node, tree traversal, node children

Как определить, что у узла нет потомков?

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

Короткий ответ

Узел считается не имеющим потомков, если оба его указателя на левого и правого потомка равны null. Такие узлы называются листьями. Это базовое свойство используется при обходе дерева и подсчёте листьев.

Длинный ответ

Определение узла без потомков

В бинарном дереве каждый узел может иметь до двух потомков: левого и правого. Узел считается не имеющим потомков (листом), если оба его указателя на потомков равны null. Это фундаментальное свойство используется при анализе структуры дерева, например, при подсчёте количества листьев или при проверке, является ли дерево полным.

Пример на JavaScript

class TreeNode {
  constructor(value) {
    this.value = value;
    this.left = null;
    this.right = null;
  }
}

function isLeaf(node) {
  return node.left === null && node.right === null;
}

// Пример использования
const root = new TreeNode(1);
root.left = new TreeNode(2);
root.right = new TreeNode(3);
console.log(isLeaf(root)); // false
console.log(isLeaf(root.left)); // true

Применение

Определение листовых узлов необходимо в алгоритмах обхода дерева (DFS, BFS), при вычислении высоты дерева, а также в задачах, связанных с удалением узлов или балансировкой. Например, в бинарных деревьях поиска листья — это узлы, которые можно безопасно удалить без нарушения структуры.

Вывод

Проверка на отсутствие потомков — базовая операция при работе с деревьями. Она позволяет идентифицировать листья, что важно для многих алгоритмов обработки деревьев, от простого подсчёта до сложных операций удаления и балансировки.

  • Аватар

    Python Guru

    Sergey Filichkin

    Guru – это эксперты YeaHub, которые помогают развивать комьюнити.

Уровень

  • Рейтинг:

    3

  • Сложность:

    2

Навыки

  • JavaScript

    JavaScript

Ключевые слова

#binary tree

#leaf node

#tree traversal

#node children

Подпишись на Python Developer в телеграм

  • Аватар

    Python Guru

    Sergey Filichkin

    Guru – это эксперты YeaHub, которые помогают развивать комьюнити.