Деревья, обход матрицы
Какой структурой данных можно организовать хранение дерева?
Глубина дерева не ограничена. Максимальное число ветвей на каждый узел - 4. Предположим, задача следующая: Дана матрица 10x10. Нужно обойти все элементы всеми возможными способами. Упростим задачу, предположив, что каждый узел можно посетить только один раз. Решение должно быть без рекурсии, и решение должно позволять возврат назад. Как вариант другая задача, обойти матрицу 10x10, состоящую из 1 и 2, так чтобы не была посещена ни одна 1. Элемент можно посетить несколько раз. Каким образом решаются подобные задачи? |
Цитата:
Код:
struct Node { Цитата:
Цитата:
Код:
22222 Код:
11100 Код:
11200 Можно доказать, что этот алгоритм всегда обходит все вершины, входящие в компоненту связности. Хотя, вероятно, и не самым оптимальным способом (не за минимальное число шагов). В общем, читайте нормальный книжки по структурам данных и алгоритмам. Их много. Стандартные алгоритмы почти всегда можно адаптировать под свою задачу. |
Время: 19:29. |
Время: 19:29.
© OSzone.net 2001-