本帖最后由 kk86868058 于 2012-12-16 00:52:18 编辑

解决方案 »

  1.   

    你可以google一下左右值 预排序 遍历树
    可以很好地解决你的问题
      

  2.   

    作为一棵树,就不能假定叶子只长在树枝顶端。我不知道是否有枝干上不涨叶子的植物,珊瑚好像是,不过他是动物
    你所谓的“传统的无限分类结构表”是从二叉树遍历演化出来的最简洁的算法,称为“邻接列表算法”
    你从教科书上可以看到二叉树遍历使用了递归,所以“邻接列表算法”也需要递归
    递归的好处在于结构清晰、算法简单,缺点是占用资源较多。
    不过你增加的 sub_cate_ids 虽然可以不再递归,但是也把无限变成有限的了
      

  3.   

    我个人递归比较弱,所以一直偏向native xml树状方式,这样也是无限分级的
    然后用树状的递归器查找,这种方法我那小小的脑袋还能装得下
    再简单点就是xpath查找如果连查找搜索都要我想个算法,我只能“有心无力”
    ps:
    php SPL内有现成的树状递归器RecursiveIteratorIterator,可选LEAVES_ONLY
    文件目录的有RecursiveDirectoryIterator