1.已知集合{45,32,57,74,67,12,29,53}。(1)写出(直接)插入排序、希尔(Shell)排序前三趟的结果。(2)写出快速排序第一趟划分的结果(以45为轴值)。(3)画出建立初始大顶堆的过程。
时间: 2024-04-26 21:20:22 浏览: 74
好的,我来回答你的问题。
(1)直接插入排序前三趟的结果:
第一趟:{32,45,57,74,67,12,29,53}
第二趟:{32,45,57,74,67,12,29,53}
第三趟:{32,45,57,74,67,12,29,53}
(2)快速排序第一趟划分的结果(以45为轴值):
{29,32,12,45,67,74,57,53}
(3)建立初始大顶堆的过程:
首先将原始序列建立成一个完全二叉树:
45
/ \
32 57
/ \ / \
74 67 12 29
/
53
从最后一个非叶子节点开始,依次向上调整:
第一步:对节点74进行调整,将其与子节点中的最大值交换,得到:
45
/ \
32 57
/ \ / \
74 67 12 29
/
53
第二步:对节点32进行调整,将其与子节点中的最大值交换,得到:
45
/ \
74 57
/ \ / \
32 67 12 29
/
53
第三步:对节点45进行调整,将其与子节点中的最大值交换,得到:
74
/ \
45 57
/ \ / \
32 67 12 29
/
53
最终得到一个初始大顶堆:{74,45,57,32,67,12,29,53}。
阅读全文