Допустим, у вас есть следующая древовидная структура:
a [Level 0]
/ | \
b c d [Level 1]
/ \ |
e f g [Level 2]
| / \
h i j [Level 3]
Я представил это в базе данных следующим образом:
node parent
------------
a null
b a
c a
d a
[...]
h f
i g
Я хотел бы написать функцию что для заданного уровня он вернет все узлы на этом уровне и их родителей.
Например:
f(0) => { a }
f(1) => { a, b, c, d }
f(2) => { a, b, c, d, e, f, g }
Есть мысли?