| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Java: Общие вопросы > Примеры двух алгоритмов на java |
| Автор: Atum 6.11.2012, 23:48 |
| Добрый день - возник такой вопрос - как реализовать два алгоритма один рекурсивный , второй обычный без рекурсии. есть интерфейс interface Node{ List<Node> getChildren(); } interface Tree { List<Node> getAllleafs(final Node rootNode); } Нужно получить все листья дерева (лист это нода у которой нет больше листьев) что то сложно с логикой в 1 час ночи. помогите составить два примера алгоритмов. |
| Автор: Mirkes 7.11.2012, 06:31 | ||||
| С рекурсией алгоритм совершенно простой. поскольку не понял, что значит получить, решил складывать в коллекцию. ghtlgjkfuf. Одна рекурсивная процедура findLeaves, точнее метод класса Node
Код писал прямо здесь. Так что не проверял. А вот с нерекурсивным поиском по дереву сложнее. А зачем это надо? Для зачета? В принципе это можно сделать с помощью стека, куда складывать еще не проверенных детишек. Писать не буду, а идея такова. Создаем массив стека (Например ArrayList, Vector и т.д.) Кладем туда корневой узел. Запускаем цикл пока ... Понял, что проще написать в коде
|