算法之预排序遍历树算法

在我们需要快速查询后代或者祖先的需求中,预排序遍历树算法就显示了出来

预排序遍历树算法顾名思义其实在数据落地之前就计算好了顺序,是一种有序的树状结构

这种树,依赖左值与右值来快速排序

如图:


WechatIMG399.jpeg

祖先的左值如果从N开始排序,子孙的左值则N+1,,右值则为(N+1)+1,如果父级有两个子孙节点,那么从该子孙节点的右节点的左值就左节点的右值N+1,右值则为(N+1)+1

从上图中,假定我们需要搜索某个祖先下的后代

如:第二代的2 -7
那么left>2 并且同时满足条件 right<7 即为它的后代

在上图中,假定我们需要查询某个子孙的祖先

如:第三代的 3 - 4
那么left<3 并且同时满足条件 right > 4 即为它的祖先

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容