структура данных
простой ассоциативный массив будет делать работу
array(2) {
["data"]=> int
["children"]=> array()
}
PHP
<?php
function makeTree($data, $children = array()) {
$tree = array();
$tree['data'] = $data;
$tree['children'] = $children;
return $tree;
}
function traverse($tree) {
echo $tree['data'] . "\n";
foreach($tree['children'] as $child) {
traverse($child);
}
}
$root = makeTree(1, array(
makeTree(2, array(makeTree(5), makeTree(6))),
makeTree(3, array(makeTree(7), makeTree(8))),
makeTree(4, array(makeTree(9), makeTree(10), makeTree(11)))
));
traverse($root);
результат
1
2
5
6
3
7
8
4
9
10
11
Спасибо за ваш ответ. Ответ верен, но как мы можем хранить элемент в дереве, если уровень дерева и дочерние узлы являются динамическими. –