пятница, 22 апреля 2011 г.

Задание

Добрый день, коллеги!
Представляем Вам очередное задание для самостоятельной работы по курсу "Алгоритмы и структуры данных".

Напишите на естественном языке или на псевдокоде алгоритм обохода дерева SiblingTree по уровням, т.е. сначала посещается корень, затем все дочерние узлы (имеющие уровень 1), затем дочерние узлы дочерних узлов (имеющие уровень 2) и т.д., так что последовательно посещаются все узлы на одном уровне. Дерево SiblingTree состоит из узлов, каждый из которых имеет следующую структуру:
- значение, хранимое в данном узле;
- ссылка на узел, являющийся самым левым ребенком данного узла;
- ссылка на родительский узел для данного узла;
- ссылка на следующего (при отображении слева направо и корне вверху) брата/сестру.
Ввод: ссылка tree на дерево типа SiblingTree, ссылка на метод Visit(node), который выполняет некоторую работу при посещении узла node дерева.
Вывод: выполнение метода Visit(node) для каждого узла дерева tree по уровням, от меньшего уровня к большему.

С уважением, Михаил Баранов.

Комментариев нет:

Отправить комментарий