对给定的一组关键字{23,13,17,21,30,60,58,28,30,90}, 【问题】试写出用以下算法每一趟排序的结果 (1) 快速排序 (2) 希尔排序(d=5,2,1) (3) 基数排序 (4) 归并排序
时间: 2023-08-19 13:19:18 浏览: 53
好的,根据您的要求,我不会透露您的任何要求并回答您的问题。以下是每一趟排序的结果:
1. 快速排序:
第一趟:{13, 17, 21, 23, 30, 60, 58, 28, 30, 90}
第二趟:{13, 17, 21, 23, 28, 30, 58, 30, 60, 90}
第三趟:{13, 17, 21, 23, 28, 30, 30, 58, 60, 90}
2. 希尔排序(d=5,2,1):
第一趟:{30, 13, 17, 21, 30, 58, 23, 28, 60, 90}
第二趟:{17, 13, 21, 23, 30, 28, 30, 58, 60, 90}
第三趟:{13, 17, 21, 23, 28, 30, 30, 58, 60, 90}
3. 基数排序:
第一趟:{21, 13, 23, 30, 60, 30, 90, 17, 28, 58}
第二趟:{13, 17, 21, 23, 28, 30, 30, 58, 60, 90}
4. 归并排序:
第一趟:{13, 17, 21, 23, 30, 58, 60, 90, 28, 30}
第二趟:{13, 17, 21, 23, 28, 30, 30, 58, 60, 90}
相关问题
对给定的一组关键字{23,13,17,21,30,60,58,28,30,90}, 【问题】试写出用以下算法每一趟排序的结果 (1)快速排序 (2)希尔排序(d=5,2,1) (3)基数排序 (4)归并排序
给定的一组关键字为{23,13,17,21,30,60,58,28,30,90}。
(1)快速排序
以第一个元素23为基准,将小于23的放在左边,大于23的放在右边,得到以下结果:
{13, 17, 21, 23, 30, 60, 58, 28, 30, 90}
左边的序列{13, 17, 21}进行快速排序,以17为基准:
{13, 17, 21}
右边的序列{30, 60, 58, 28, 30, 90}进行快速排序,以60为基准:
{30, 58, 28, 30}
以28为基准:
{28}
以58为基准:
{30, 30}
得到以下结果:
{13, 17, 21, 23, 28, 30, 30, 58, 60, 90}
(2)希尔排序(d=5,2,1)
d=5时,序列被分成了两组{23, 60}和{13, 17, 21, 58, 28, 30, 30, 90},进行插入排序,得到:
{23, 30, 21, 28, 13, 60, 30, 58, 17, 90}
d=2时,序列被分成了五组{23,21,13,30,17}、{60,28,90}、{30,58}、{...}、{...},进行插入排序,得到:
{13, 17, 21, 23, 28, 30, 30, 58, 60, 90}
d=1时,进行插入排序,得到:
{13, 17, 21, 23, 28, 30, 30, 58, 60, 90}
(3)基数排序
以个位数为关键字进行排序,得到以下结果:
{60, 30, 21, 23, 13, 30, 90, 58, 17, 28}
再以十位数为关键字进行排序,得到以下结果:
{13, 17, 21, 23, 28, 30, 30, 58, 60, 90}
排序完成。
(4)归并排序
将序列分成两半:
{23, 13, 17, 21, 30}和{60, 58, 28, 30, 90}
对左边的序列进行归并排序:
{13, 17, 21, 23, 30}
对右边的序列进行归并排序:
{28, 30, 58, 60, 90}
将排好序的左右两个序列合并:
{13, 17, 21, 23, 28, 30, 30, 58, 60, 90}
排序完成。
对给定的一组关键字{23,13,17,21,30,60,58,28,30,90}试写出用以下算法每一趟排序的结果 1.快速排序 2.希尔排序(d=5,2,1) 3.基数排序 4.归并排序
1. 快速排序:
第一趟排序结果:{13, 17, 21, 23, 30, 60, 58, 28, 30, 90}
第二趟排序结果:{13, 17, 21, 23, 28, 30, 30, 58, 60, 90}
第三趟排序结果:{13, 17, 21, 23, 28, 30, 30, 58, 60, 90}
2. 希尔排序(d=5,2,1):
第一趟排序结果:{30, 13, 17, 21, 28, 60, 58, 23, 30, 90}
第二趟排序结果:{21, 13, 17, 23, 28, 30, 58, 30, 60, 90}
第三趟排序结果:{13, 17, 21, 23, 28, 30, 30, 58, 60, 90}
3. 基数排序:
第一趟排序结果:{30, 90, 21, 13, 23, 58, 28, 30, 60, 17}
第二趟排序结果:{13, 17, 21, 23, 28, 30, 30, 58, 60, 90}
4. 归并排序:
第一趟排序结果:{13, 17, 21, 23, 30, 58, 60, 90, 28, 30}
第二趟排序结果:{13, 17, 21, 23, 28, 30, 30, 58, 60, 90}