Дан несортированный массив узлов, в котором узел определяется как: Node { int id;
int parent_id;
string label;
}
У каждого узла есть свой уникальный идентификатор. parent_id
определить своего родителя в дереве. Вопрос в том, как сделать предварительный обход дерева? (не обязательно двоичное дерево)
Это вопрос интервью, который беспокоил меня несколько дней. Что я могу придумать, так это использовать хеш-карту map<int,list<node> >
, где ключ - это родительский элемент. Тогда я не могу идти дальше. Должен ли я построить дерево с карты и выполнить обход перед заказом или есть хороший способ сделать это прямо с карты? Тогда как? Любая подсказка приветствуется!