У меня есть дерево, которое заполнено объектами Node
. Каждый узел имеет ArrayList, который хранит свои дочерние узлы, так как может быть неопределенное количество детей, в отличие от двоичного дерева.Как найти дерево для определенного класса узлов
Как я могу пройти дерево, чтобы найти определенный узел, если каждый узел имеет число детей, где каждый ребенок имеет своих собственных детей по очереди и т. Д. Я просто ищу общий способ сделать это итеративно, например, используя функцию, которая выполняет поиск по массиву nodeList узла (сохранение дочерних элементов), а также списки последующих дочерних элементов каждого дочернего элемента.
Любые предложения?
UPDATE
Это то, что я пытался до сих пор:
return
(
(StrangeNode)current.ChildrenList
.SingleOrDefault(c =>
c.GetType().Name.ToString().Equals("StrangeNode"))
).myArrayList;
http://mattgemmell.com/2008/12/08/what-have-you-tried/ Это похоже на попытку заставить SO выполнить домашнее задание? –
Это не домашнее задание на самом деле, я пытаюсь реализовать дерево, которое должно иметь специальный тип узла в определенных точках дерева (т. Е. Другой класс). – Palindrome
Он не имел в виду это буквально, что вы пробовали? –