Какую структуру данных можно использовать в php для предварительного обхода дерева?

введите описание изображения здесь

Здесь я прилагаю изображение, которое показывает дерево, я хочу путешествовать в предзаказе, как

1,2,5,6,3,7,8,4,9,10,11.

Какую структуру данных я могу использовать в php для этой структуры?

0

Решение

структура данных

простой ассоциативный массив сделает работу

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
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]