Создать список из вершин дерева

Опубликовано Sep 30, 2011 в Деревья и графы, Связанные списки | 3 коммент.

, , , ,

Дано бинарное дерево с приведенной структурой узла. Реализовать метод, который вернет список вершин на заданном уровне дерева.

struct tree_node
 {
    tree_node* left;
    tree_node* right;
    int data;
}
//Ваш код

Критерии оценки FulcrumWeb:

Нужно продемонстрировать знание стандартных приемов работы с бинарными деревьями и умение корректно работать с памятью, создавая динамические структуры данных. Код пишется на компьютере или бумаге по выбору, без доступа к документации

Ожидаемые вопросы:

  1. Я собираюсь использовать динамические контейнеры STL. Есть ли ограничения на их применение?
  2. Для возврата результата я собираюсь организовать свою собственную связную структуру данных. Можно ли использовать для этого готовую структуру узла tree_node по собственному усмотрению?

Оценка результатов:

Для начинающего программиста годится любая реализация, возможно содержащая ошибки, которые будут исправлены после указания на них. В решении обязательно не должно быть утечек памяти.

От более опытных кандидатов ожидаются вопросы, которые позволят увидеть понимание возможности решить задачу с использованием динамических контейнеров из STL. Если будет представлено решение, основанное на самостоятельной организации выходной структуры данных, то вопрос об STL будет поднят интервьюером.

Здесь приведено решение задачи “Создать список из вершин дерева”