排序算法的各趟排序算法
1个回答
展开全部
以关键字序列(265,301,751,129,937,863,742,694,076,438)为例,分别写出执行以下排序算法的各趟排序结束时,关键字序列的状态。
(1) 直接插入排序 (2)希尔排序 (3)冒泡排序 (4)快速排序
(5) 直接选择排序 (6) 堆排序 (7) 归并排序 (8)基数排序
上述方法中,哪些是稳定的排序?哪些是非稳定的排序?对不稳定的排序试举出一个不稳定的实例。
答: (1)直接插入排序:(方括号表示无序区)
初始态: 265[301 751 129 937 863 742 694 076 438]
第一趟:265 301[751 129 937 863 742 694 076 438]
第二趟:265 301 751[129 937 863 742 694 076 438]
第三趟:129 265 301 751[937 863 742 694 076 438]
第四趟:129 265 301 751 937[863 742 694 076 438]
第五趟:129 265 301 751 863 937[742 694 076 438]
第六趟:129 265 301 742 751 863 937[694 076 438]
第七趟:129 265 301 694 742 751 863 937[076 438]
第八趟:076 129 265 301 694 742 751 863 937[438]
第九趟:076 129 265 301 438 694 742 751 863 937
(2)希尔排序(增量为5,3,1)
初始态: 265 301 751 129 937 863 742 694 076 438
第一趟:265 301 694 076 438 863 742 751 129 937
第二趟:076 301 129 265 438 694 742 751 863 937
第三趟:076 129 265 301 438 694 742 751 863 937
(3)冒泡排序(方括号为无序区)
初始态 [265 301 751 129 937 863 742 694 076 438]
第一趟: 076 [265 301 751 129 937 863 742 694 438]
第二趟: 076 129 [265 301 751 438 937 863 742 694]
第三趟: 076 129 265 [301 438 694 751 937 863 742]
第四趟: 076 129 265 301 [438 694 742 751 937 863]
第五趟: 076 129 265 301 438 [694 742 751 863 937]
第六趟: 076 129 265 301 438 694 742 751 863 937
(4)快速排序:(方括号表示无序区,层表示对应的递归树的层数)
初始态: [265 301 751 129 937 863 742 694 076 438]
第二层: [076 129] 265 [751 937 863 742 694 301 438]
第三层: 076 [129] 265 [438 301 694 742] 751 [863 937]
第四层: 076 129 265 [301] 438 [694 742] 751 863 [937]
第五层: 076 129 265 301 438 694 [742] 751 863 937
第六层: 076 129 265 301 438 694 742 751 863 937
(1) 直接插入排序 (2)希尔排序 (3)冒泡排序 (4)快速排序
(5) 直接选择排序 (6) 堆排序 (7) 归并排序 (8)基数排序
上述方法中,哪些是稳定的排序?哪些是非稳定的排序?对不稳定的排序试举出一个不稳定的实例。
答: (1)直接插入排序:(方括号表示无序区)
初始态: 265[301 751 129 937 863 742 694 076 438]
第一趟:265 301[751 129 937 863 742 694 076 438]
第二趟:265 301 751[129 937 863 742 694 076 438]
第三趟:129 265 301 751[937 863 742 694 076 438]
第四趟:129 265 301 751 937[863 742 694 076 438]
第五趟:129 265 301 751 863 937[742 694 076 438]
第六趟:129 265 301 742 751 863 937[694 076 438]
第七趟:129 265 301 694 742 751 863 937[076 438]
第八趟:076 129 265 301 694 742 751 863 937[438]
第九趟:076 129 265 301 438 694 742 751 863 937
(2)希尔排序(增量为5,3,1)
初始态: 265 301 751 129 937 863 742 694 076 438
第一趟:265 301 694 076 438 863 742 751 129 937
第二趟:076 301 129 265 438 694 742 751 863 937
第三趟:076 129 265 301 438 694 742 751 863 937
(3)冒泡排序(方括号为无序区)
初始态 [265 301 751 129 937 863 742 694 076 438]
第一趟: 076 [265 301 751 129 937 863 742 694 438]
第二趟: 076 129 [265 301 751 438 937 863 742 694]
第三趟: 076 129 265 [301 438 694 751 937 863 742]
第四趟: 076 129 265 301 [438 694 742 751 937 863]
第五趟: 076 129 265 301 438 [694 742 751 863 937]
第六趟: 076 129 265 301 438 694 742 751 863 937
(4)快速排序:(方括号表示无序区,层表示对应的递归树的层数)
初始态: [265 301 751 129 937 863 742 694 076 438]
第二层: [076 129] 265 [751 937 863 742 694 301 438]
第三层: 076 [129] 265 [438 301 694 742] 751 [863 937]
第四层: 076 129 265 [301] 438 [694 742] 751 863 [937]
第五层: 076 129 265 301 438 694 [742] 751 863 937
第六层: 076 129 265 301 438 694 742 751 863 937
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询