为什么结果中有11个null而不是10个null
来源:9-3 创建线段树
yushou
2018-06-12
如图中所示,在构建例程中的线段树时,我在最后只画了10个NULL,而程序运行了11个NULL,请问我画的错在那里?
写回答
1回答
-
按照你的画法,每个叶子节点左右都是NULL,不管叶子节点有几个,最后肯定有偶数个NULL。我不确定你在程序中是如何验证的?看看是否是程序有问题?
你的根节点区间是[0...5],一共包含6个元素(0,1,2,3,4,5),最后每个叶子节点都包含一个元素,你又计算每个叶子元素有左右两个NULL,最终应该有12个NULL。看看是你得到的11是最后一个NULL的索引?(从0开始算,索引11对应第12个元素)
课程的所有代码都可以直接在课程的官方github中找到,可以尝试运行课程的官方github代码,看是否有同样的问题?传送门:https://github.com/liuyubobobo/Play-with-Data-Structures
加油!
062018-11-14
相似问题