博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
The Nested Set Model
阅读量:7042 次
发布时间:2019-06-28

本文共 420 字,大约阅读时间需要 1 分钟。

hot3.png

原理:

    我们先把树按照水平方式摆开。从根节点开始(“Food”),然后他的左边写上1。然后按照树的顺序(从上到下)给“Fruit”的左边写上2。这样,你沿着树的边界走啊走(这就是“遍历”),然后同时在每个节点的左边和右边写上数字。最后,我们回到了根节点“Food”在右边写上18。下面是标上了数字的树,同时把遍历的顺序用箭头标出来了。

  

    我们称这些数字为左值和右值(如,“Food”的左值是1,右值是18)。正如你所见,这些数字按时了每个节点之间的关系。因为“Red”有3和6两个值,所以,它是有拥有1-18值的“Food”节点的后续。同样的,我们可以推断所有左值大于2并且右值小于11的节点,都是有2-11的“Fruit” 节点的后续。这样,树的结构就通过左值和右值储存下来了。这种数遍整棵树算节点的方法叫做“改进前序遍历树”算法。

表结构设计:

转载于:https://my.oschina.net/cng1985/blog/760006

你可能感兴趣的文章
磁盘清理
查看>>
javascript 判断数据类型 判空
查看>>
matplotlib 中文字体问题
查看>>
protobuf v3测试
查看>>
(1)知识准备【利用objective-c的runtime特性,结合FMDB实现一个轻量级的ORM】
查看>>
Angular js开发的各种坑(持续更新中。。。)
查看>>
Google Apps - Gmail API的通知功能
查看>>
调试java8 函数式
查看>>
Intellij使用心得(二) -- 关于启动Web服务器的几个事
查看>>
linux源代码安装软件
查看>>
我的友情链接
查看>>
SCOM 2012 SP1 监控网络设备 概览
查看>>
IBM x3650硬盘故障
查看>>
高并发架构系列:Redis的内存回收原理,及内存过期淘汰策略详解
查看>>
Python模块optparse学习
查看>>
asp带验证码的用户登录及校验代码实现
查看>>
深入理解 String, StringBuffer 与 StringBuilder 的区别
查看>>
使用局jQuery提交file
查看>>
2013年4月IT技术行业网站综合影响力排名
查看>>
Magento session机制的分析与应用
查看>>