回答两个问题 1. 已知序列{75,23,98,44,57,12,29,64,38,82},给出采用堆排序法对该序列升序排序时的每一趟的结果。 2. 已知序列{75,23,98,44,57,12,29,64,38,82},给出采用归并排序法对该序列作升序排序时的每一趟的结果
时间: 2023-07-27 08:28:26 浏览: 163
问题一:
采用堆排序法对该序列升序排序时的每一趟的结果如下:
1. 初始序列为{75,23,98,44,57,12,29,64,38,82},建立初始堆为{98,75,82,44,57,12,29,64,38,23};
2. 第一次排序,将堆顶元素98与堆底元素23交换位置,得到{23,75,82,44,57,12,29,64,38,98};
3. 对于不包括堆底元素98的前9个元素进行堆排序,得到堆{82,75,64,44,57,12,29,23,38};
4. 第二次排序,将堆顶元素82与堆底元素38交换位置,得到{38,75,64,44,57,12,29,23,82,82};
5. 对于不包括堆底元素82的前9个元素进行堆排序,得到堆{75,57,64,23,38,12,29,44};
6. 第三次排序,将堆顶元素75与堆底元素44交换位置,得到{44,57,64,23,38,12,29,75,82,44};
7. 对于不包括堆底元素75的前9个元素进行堆排序,得到堆{64,57,29,23,38,12,44};
8. 第四次排序,将堆顶元素64与堆底元素44交换位置,得到{44,57,29,23,38,12,64,75,82,64};
9. 对于不包括堆底元素64的前9个元素进行堆排序,得到堆{57,38,29,23,12,44};
10. 第五次排序,将堆顶元素57与堆底元素44交换位置,得到{44,38,29,23,12,57,64,75,82,57};
11. 对于不包括堆底元素57的前9个元素进行堆排序,得到堆{44,38,29,23,12};
12. 第六次排序,将堆顶元素44与堆底元素12交换位置,得到{12,38,29,23,44,57,64,75,82,44};
13. 对于不包括堆底元素44的前9个元素进行堆排序,得到堆{38,23,29,12};
14. 第七次排序,将堆顶元素38与堆底元素12交换位置,得到{12,23,29,38,44,57,64,75,82,38};
15. 对于不包括堆底元素38的前9个元素进行堆排序,得到堆{29,23,12};
16. 第八次排序,将堆顶元素29与堆底元素12交换位置,得到{12,23,29,38,44,57,64,75,82,29};
17. 对于不包括堆底元素29的前9个元素进行堆排序,得到堆{23,12};
18. 第九次排序,将堆顶元素23与堆底元素12交换位置,得到{12,23,29,38,44,57,64,75,82,23};
19. 对于不包括堆底元素23的前9个元素进行堆排序,得到堆{12};
20. 第十次排序,将堆顶元素12与堆底元素12交换位置,得到{12,23,29,38,44,57,64,75,82,12};
21. 排序完成,最终结果为{12,23,29,38,44,57,64,75,82,98}。
问题二:
采用归并排序法对该序列作升序排序时的每一趟的结果如下:
1. 初始序列为{75,23,98,44,57,12,29,64,38,82},将序列拆分为两个子序列{75,23,98,44,57}和{12,29,64,38,82};
2. 对左侧子序列进行递归分解,拆分为两个子序列{75,23}和{98,44,57};
3. 对{75,23}进行归并排序,得到{23,75};
4. 对{98,44,57}进行归并排序,得到{44,57,98};
5. 将{23,75}和{44,57,98}进行合并,得到{23,44,57,75,98};
6. 对右侧子序列进行递归分解,拆分为两个子序列{12,29,64}和{38,82};
7. 对{12,29,64}进行归并排序,得到{12,29,64};
8. 对{38,82}进行归并排序,得到{38,82};
9. 将{12,29,64}和{38,82}进行合并,得到{12,29,38,64,82};
10. 将左侧合并后的序列{23,44,57,75,98}和右侧合并后的序列{12,29,38,64,82}进行合并,得到最终结果{12,23,29,38,44,57,64,75,82,98}。
阅读全文