`

如何组建一棵树

 
阅读更多

// 如何组建一棵树

// 实现方案
/*
*  原始数据 :
*  子节点    父节点
*  001| [000]
*  002| [000,001]
*  003| [002]

*  组成一个数据结构:

*  NODE {

*  NODE_ID ,
*  parentNODE_ID[],
*  CHILDREN_NODE[],
*  search_count

*  }
*/

/* 从根节点开始组成一棵树。
*
* 1. 拿一个 父节点的ID,查它所有的了子结点。
* 假设所有的子结点,都已经知道它对应的父节点。
* 查父节点的ID查找所有子节点中的父节点中是否有对应的存在。
*
* 1.1 删除已经找到节点,删除条件:它已经被它的父节点全部找到。
*
* 2. 把所有的子结点归于父节点下。
*
* 3. 遍历所有已经查到的子结点。同时调 用,1,2,3
*
*/

/*
* 性能优化   :
*
* 1。先到这个所有的结点排序,排序的KEY为此结点的父节点。(排序算法。(冒泡,插入,快速)排序)
*
* (注意:一个子节点对的父可能有多个)
*  
*
* 2. 查找子结点的时候,用二分查找法,查找所有的子节点。
*
*
*
*/


/*
*  树结构生成XML

*  原则,从树根开始生成。

*  1.把父结点的基本信息,加入到XML中。

*  2。循环它下所有的子节点。
*  2.1  循环的时候在调用(1,2);
*  说明:对任何一个节点来说,它是别的节点的一个子结点,也是其它节点的父节点。
*

*/
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics