这个对我来说很难解决,基本上我在表格中有数据如下:
id a b
1 2 4
2 4 2
3 5 2
4 2 5
5 6 2
6 2 6
7 8 6
8 6 8
9 5 6
...
如果你试图确定父母有哪些孩子,你可以看到结构有多复杂:
[2->[4->[2->RECURSIVE], 5->[2->RECURSIVE], 6->[2->RECURSIVE, 8->[6->[8->RECURSIVE]]]], ...]
我担心单独的MySQL无法有效地找到路径,但考虑到我在PHP中写这个可能我可以写一些方法,它可能首先查询800行代码然后编程一种有效的方法来解析数据
这个想法是我试图做的这个函数,让我们称之为makePath()接受两个参数并返回一个带有子数组的数组,而id指的是数据表中的一行。
例如makePath(2,8)将返回:
array(array(2,6,8), array(2,5,6,8))
因为这些是从2到8没有回溯的唯一路径(即走向[2,5,2,6,8]和无限其他路径组合。)
我被困在如何开始这一切,希望有人比我在图上更亮,循环理论可以解释我应该如何开始我的代码 - 谢谢你的时间!
答案 0 :(得分:0)
您应该能够在有向图结构上进行深度优先搜索。基本大纲如下:
visiting
标志。如果您需要任何步骤的帮助,请询问。