1.已知集合{45,32,57,74,67,12,29,53}。 (1)写出(直接)插入排序、希尔(Shell)排序前三趟的结果。 (2)写出快速排序第一趟划分的结果(以45为轴值)。 (3)画出建立初始大顶堆的过程。
时间: 2023-09-04 14:11:13 浏览: 106
新教材高一数学 寒假作业(1)集合 新人教A版 试题.doc
好的,来一题算法题,让我先整理一下:
问题:已知集合{45,32,57,74,67,12,29,53}。
1. 写出(直接)插入排序、希尔(Shell)排序前三趟的结果。
2. 写出快速排序第一趟划分的结果(以45为轴值)。
3. 画出建立初始大顶堆的过程。
回答如下:
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}
希尔排序前三趟结果:
第一趟:{12, 32, 29, 45, 67, 57, 74, 53}
第二趟:{12, 29, 32, 45, 53, 57, 67, 74}
第三趟:{12, 29, 32, 45, 53, 57, 67, 74}
2. 快速排序第一趟划分的结果(以45为轴值):
{29, 32, 12, 45, 74, 67, 57, 53}
3. 建立初始大顶堆的过程:
初始序列:{45, 32, 57, 74, 67, 12, 29, 53}
第一步:从最后一个非叶子节点开始调整,即节点5(以0为起始下标),比较节点5、节点10、节点11,得到最大值74,交换节点5和节点1的位置。
调整后序列:{74, 32, 57, 45, 67, 12, 29, 53}
第二步:从节点4开始调整,比较节点4、节点8、节点9,得到最大值67,交换节点4和节点2的位置。
调整后序列:{74, 67, 57, 45, 32, 12, 29, 53}
第三步:从节点3开始调整,比较节点3、节点6、节点7,得到最大值45,交换节点3和节点0的位置。
调整后序列:{74, 67, 57, 45, 32, 12, 29, 53}
调整结束,得到初始大顶堆:{74, 67, 57, 45, 32, 12, 29, 53}
阅读全文