如何组建一棵树

// 如何组建一棵树

// 实现方案
/*
* 原始数据 :
* 子节点 父节点
* 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);
* 说明:对任何一个节点来说,它是别的节点的一个子结点,也是其它节点的父节点。
*
*
*/
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值