+ -
当前位置:首页 → 问答吧 → 你用什么算法处理无限分类?

你用什么算法处理无限分类?

时间:2008-11-22

来源:互联网

父子ID法:每个分类用id, parent来记录继承关系。
左右值:以左值和右值(lft, rgt)中间来包括后代。
跟踪祖先:以一个序列字段(Forefather)来记录祖先。
其它:欢迎提供其它算法。

[ 本帖最后由 七月十五 于 2009-3-23 17:14 编辑 ]

作者: LeoPHP   发布时间: 2008-11-22

不知道跟踪祖先说的是什么?

作者: oophp   发布时间: 2008-11-22

跟踪祖先大概是 把所有的父类,父类的父类....按远近顺序排在一起,用分隔符隔开?
我用的一般是记录父ID

作者: lince343   发布时间: 2008-11-22

父子ID

作者: koin   发布时间: 2008-11-23

还不会。。。

作者: kk11   发布时间: 2008-11-23

一直都是第一种!

作者: dx_andy   发布时间: 2008-11-24

LZ最近和无限分类干上了。。。

作者: shanji   发布时间: 2008-11-24

有点不明白想这么多干嘛,只要保证数据库只读写一次,递归并不象传说中的那么慢。

作者: slime   发布时间: 2009-01-24

递归下做个缓存~

作者: zwws   发布时间: 2009-01-24

我把数据一次性提取出来然后一层层循环访问

作者: ygnh2008   发布时间: 2009-01-24

学习其他方法

作者: it179   发布时间: 2009-02-01

没发现左右值 有什么好

作者: quanhaier   发布时间: 2009-02-01

不知道是什么东东

作者: cnkiller   发布时间: 2009-02-01

原帖由 slime 于 2009-1-24 10:35 发表
有点不明白想这么多干嘛,只要保证数据库只读写一次,递归并不象传说中的那么慢。


等你数据多了,层数多了,看还能不能说这个话.

别说复杂点的情况,递归是最不可取的做法.

作者: 我要读书网   发布时间: 2009-02-01

很麻烦的事情

作者: xoolee   发布时间: 2009-02-02

....

[ 本帖最后由 xoolee 于 2009-2-2 11:49 编辑 ]

作者: xoolee   发布时间: 2009-02-02

我觉得还是父子ID方便吧

作者: wolong   发布时间: 2009-03-23

最方便的是  跟踪祖先  当然效率最高的是左右值

作者: harrycms   发布时间: 2009-03-24

原帖由 harrycms 于 2009-3-24 13:54 发表
最方便的是  跟踪祖先  当然效率最高的是左右值

如果你的数据更新比较频繁,你就知道左右值是多么地低效了~

作者: 心痛   发布时间: 2009-03-25

我记得有一算法解决,递归合理的应用还是很不错的

作者: jeccy   发布时间: 2009-03-25

心痛

只要分类不频繁更新,就还是很高效的。。。
再者,通常一个网站的分类也不会太频繁更改把

作者: qai41   发布时间: 2009-06-17

我记得有一算法解决,递归合理的应用还是很不错的
jeccy 发表于 2009-3-25 01:13

共享下哈.:tongue:

作者: qianzhengwei   发布时间: 2009-07-14

异步递归是最好的处理方式,国内几家大的ERP厂商都是这种方式,哪个数据量一般人看见都会吓着的!

作者: lshfong   发布时间: 2009-07-14

左右值非常好用,只是转移树的时候麻烦些

作者: abbish   发布时间: 2009-07-19

这几种算法都用过,但最后还是采用父子ID+数组缓存递归。实际上并不递归数据库。一次查询生成缓存即可。
这种方法1百个分类+10层以下都可以轻松,再多的本人也没试过。同时结合多数主流JS使用,效果更佳。
所谓的左右值等方法,很难和主流的JS程序想结合使用。并且修改一次,整个类别都都要改动速度慢。
算法也难懂。不觉得他有多大好处。

作者: shher   发布时间: 2009-07-20

看项目需求,
一般父子的够用了.

作者: aaxron   发布时间: 2009-07-22

递归加缓存还不够用的人是不来这里讨论的,哈哈。

作者: asu530   发布时间: 2009-07-29

哈哈。还不懂 什么算法。应该从那学习 。

作者: xyyie   发布时间: 2009-07-29

只要效率高,维护方便咋搞都可以,一般没多少是无限分类的,有个4级的构架就是很庞大的一个信息类了

作者: cyhchenz   发布时间: 2009-07-29

父子~000000000000000000

作者: jerry2801   发布时间: 2009-07-29