写出三个下标公式
补全 parent / left / right 三个函数。 补全后输出 4 号的父亲是几号。
开始练习 →
一个节点的两个孩子分别是几号
同样三个函数。把 1 号的左右两个孩子拼起来输出,中间用 / 隔开。
开始练习 →
新元素先放哪儿
往堆里插一个新元素,第一步是把它【0】。
开始练习 →
放完之后要做什么
新元素放到末尾之后,接着要【0】。
开始练习 →
上浮什么时候停
上浮的循环停下来,是因为【0】。
开始练习 →
上浮最多走几步
插入一个元素,上浮最多走【0】步。
开始练习 →
插完五个数之后堆顶是几
把 17、24、15、13、23 依次插进一个空的大顶堆。运行下面这段程序: def push(h, x): h.append(x) i = len(h) - 1 while i > 0 and h[(i -
开始练习 →
自己写插入
补全 push:先放到末尾,再一路上浮。 把五个数插完之后输出堆顶。
开始练习 →
插完之后整个数组长什么样
同一个 push。五个数插完之后,把整个数组拼起来输出(用 / 隔开)。 ⚠️ 注意末尾两个的大小关系——兄弟之间本来就没有要求。
开始练习 →
插入 23 的时候上浮了几次
补全 push,让它返回这次上浮换了几次。 前四个数插完之后再插 23,输出这一次换了几次。
开始练习 →