利用数据库存储数据加递归搜索似乎是目前很流行的一种方法,但这种方法的效率低下,并增加了不少数据库的负担。
我这个算法采用文本方式存储数据,效率应该还可以。由于时间关系,算法是匆匆完成没有经过严格测试就放上来了,大家有兴趣的话就测试一下,找找其中的bug,或改善一下算法的性能。
提醒一点,如果你的PHP可利用的内存不到1G,请不要尝试去创建一个具有100万个节点的树。。。

树的操作算法是各种高级数据结构算法的基础,估计不少同学在大学的时候都学烂了,所以我就不必细讲了。现在要讨论的是如何在PHP这个编程环境里面如果实现该算法最大的性能。
好吧,我来抛砖引玉。
因时间关系没有写注释,看不懂的同学可以提问。
[ 本帖最后由 sentrychen 于 2008-10-3 11:08 编辑 ]
Tree.rar
(2008-10-03 11:08:41, Size: 2.9 KB, Downloads: 77)


最新回复
[ 本帖最后由 sentrychen 于 2008-10-1 17:47 编辑 ]
但实际运用,
犹豫了,
怕怕
QUOTE:
呵呵,怕啥呢?如果用数据库,我只要一两个小时,
而这样写。我一两天就写不出来。。
QUOTE:
花了一个上午的时间写,再花一个下午的时间调试。非常感谢楼主分享。
建议加精,以资鼓励。
QUOTE:
呵呵,谢谢加精,这个算法我也没有在实际场合应用过,可能还有很多地方会有bug。有空我再写一个二叉树的算法,二叉树有4种遍历方式,估计也有很多地方需要用到的。
把你的思路写出来就可以了。
如果是数据库负荷大的系统,尽量减轻数据库负担,减少数据库中的运算
看过phper上的一个文章为啥php是草根,
觉得我们应该解放数据库,
提高自己了!