采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
老师您好,请问图中红框部分为什么要这么定义i的范围呢?比如capacity=3,我想在data[]下标为3的位置插入一个元素,令i=3,那么就不满足红框定义的范围了。
capacity = 3,对用户来说,有效的索引是 0 1 2,3 是无效的,所以当 i= 3 的时候,不满足这个范围,程序中断。
继续加油!:)
老师,指定位置i插入元素,应该需要保证堆是完全二叉树,感觉不能用i+1<=capacity, 而是先检验count+1合法后,count++, 再通过 i+1<=count判断i的合法性。
如果只是判断 i+1<=count,索引堆和普通的对没有区别,只是一个一个添加元素而已。索引堆可以做到的是,在堆为空的情况下,添加学号是 16 号(索引是 16)的学生成绩。此时 count 为 1,索引 i = 16,16 > 1,但是索引堆能完成这个添加。 依然是,这里的核心是:索引堆的应用场景问题是什么。在这一小节,我们没有介绍索引岁的应用场景。在这个课程的后续的图论算法部分,你会看到对索引堆的应用,就会明白索引堆为什么这么设计了。在这个问答下,我简单描述了一些索引堆的应用场景,请再体会一下,索引堆的索引是有语义的,不是简单的“在数组中排第几个”而已:https://coding.imooc.com/learn/questiondetail/99784.html 继续加油!:)
登录后可查看更多问答,登录/注册
课程专为:短时间内应对面试、升职测评等艰巨任务打造
9.5k 21
6.1k 3
5.6k 5
1.8k 18
购课补贴联系客服咨询优惠详情
慕课网APP您的移动学习伙伴
扫描二维码关注慕课网微信公众号