采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
老师您好,在这个方法中,只使用shiftUp不就可以维护最大堆的性质了吗?为什么还需要使用shiftDown?
换句话说,如果只使用shiftUp,不使用shiftDown,最大索引堆的性质会被破坏吗?
谢谢老师
change的值有可能更大,也有可能更小,有可能要向堆顶移,也可能要向堆底移。所以可能要shiftUp,也可能要shiftDown。
当然,可以通过判断修改值和原值的大小关系来只执行一个操作(shiftUp或者shiftDown),但是课程中的写法是正确的。因为如果修改的值更小,需要shiftDown的话,shiftUp函数不会执行任何操作,然后就可以执行shiftDown了:)
非常感谢!
波波老师您好 是否可以通过对 change传入的值 与原先的值进行比较 如果比原先值小的话 则进行shiftDown操作 反之进行shiftUp操作。 这样逻辑上是否会更加清晰
可以:)这个回答的第二段话就是这个意思:)
登录后可查看更多问答,登录/注册
课程专为:短时间内应对面试、升职测评等艰巨任务打造
8.8k 21
5.7k 3
4.9k 5
1.4k 18