知识大全 排序算法的各趟排序算法

Posted

篇首语:要让事情改变,先改变自己;要让事情变得更好,先让自己变得更强。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 排序算法的各趟排序算法相关的知识,希望对你有一定的参考价值。

  以关键字序列( )为例 分别写出执行以下排序算法的各趟排序结束时 关键字序列的状态

  ( ) 直接插入排序 ( )希尔排序 ( )冒泡排序 ( )快速排序

  ( ) 直接选择排序 ( ) 堆排序 ( ) 归并排序 ( )基数排序

  上述方法中 哪些是稳定的排序?哪些是非稳定的排序?对不稳定的排序试举出一个不稳定的实例

  答 ( )直接插入排序:(方括号表示无序区)

  初始态: [ ]

  第一趟 [ ]

  第二趟 [ ]

  第三趟 [ ]

  第四趟 [ ]

  第五趟 [ ]

  第六趟 [ ]

  第七趟 [ ]

  第八趟 [ ]

  第九趟

  ( )希尔排序(增量为 )

  初始态:

  第一趟

  第二趟

  第三趟

  ( )冒泡排序(方括号为无序区)

  初始态 [ ]

  第一趟 [ ]

  第二趟 [ ]

  第三趟 [ ]

  第四趟 [ ]

  第五趟 [ ]

  第六趟

  ( )快速排序 (方括号表示无序区 层表示对应的递归树的层数)

  初始态 [ ]

  第二层 [ ] [ ]

  第三层 [ ] [ ] [ ]

  第四层 [ ] [ ] [ ]

  第五层 [ ]

  第六层

  ( )直接选择排序 (方括号为无序区)

  初始态  [ ]

  第一趟 [ ]

  第二趟 [ ]

  第三趟 [ ]

  第四趟 [ ]

  第五趟 [ ]

  第六趟 [ ]

  第七趟 [ ]

  第八趟 [ ]

  第九趟

  ( )堆排序 (通过画二*树可以一步步得出排序结果)

  初始态    [ ]

  建立初始堆 [ ]

  第一次排序重建堆 [ ]

  第二次排序重建堆 [ ]

  第三次排序重建堆 [ ]

  第四次排序重建堆 [ ]

  第五次排序重建堆 [ ]

  第六次排序重建堆 [ ]

  第七次排序重建堆 [ ]

  第八次排序重建堆 [ ]

  第九次排序重建堆

  ( )归并排序(为了表示方便 采用自底向上的归并 方括号为有序区)

  初始态 [ ] [ ] [ ] [ ] [ ] [ ] [ ] [ ] [ ] [ ]

  第一趟 [ ] [ ] [ ] [ ] [ ]

  第二趟 [ ] [ ] [ ]

  第三趟 [ ] [ ]

  第四趟 [ ]

  ( )基数排序(方括号内表示一个箱子共有 个箱子 箱号从 到 )

  初始态

  第一趟 [] [ ] [ ] [ ] [ ] [ ] [ ] [ ] [ ] [ ]

  第二趟 [ ] [] [ ] [ ] [ ] [ ] [ ] [ ] [] [ ]

  第三趟 [ ] [ ] [ ] [ ] [ ] [] [ ] [ ] [ ] [ ]

  在上面的排序方法中 直接插入排序 冒泡排序 归并排序和基数排序是稳定的 其他排序算法均是不稳定的 现举实例如下 以带*号的表示区别

  希尔排序 [ * ]

  快速排序 [ * ]

  直接选择排序 [ * ]

cha138/Article/program/sjjg/201311/23531

相关参考

知识大全 第8章排序(基础知识)习题练习

以关键字序列()为例分别写出执行以下排序算法的各趟排序结束时关键字序列的状态 ()直接插入排序()希尔排序()冒泡排序()快速排序 ()直接选择排序()堆排序()归并排序()基数排序  上述方法中哪些

知识大全 第8章排序(基础知识)习题练习答案

以关键字序列()为例分别写出执行以下排序算法的各趟排序结束时关键字序列的状态 ()直接插入排序()希尔排序()冒泡排序()快速排序 ()直接选择排序()堆排序()归并排序()基数排序  上述方法中哪些

知识大全 第8章排序(算法设计)习题练习

将哨兵放在R[n]中被排序的记录放在R[n]中重写直接插入排序算法以单链表作为存储结构实现直接插入排序算法 设计一算法使得在尽可能少的时间内重排数组将所有取负值的关键字放在所有取非负值的关键

知识大全 十大排序算法面试题

选择排序选择排序的基本思想是对待排序的记录序列进行n遍的处理第i遍处理是将L[in]中最小者与L[i]交换位置这样经过i遍处理之后前i个记录的位置已经是正确的了选择排序是不稳定的算法复杂度是O(n^)

知识大全 c#与算法--快速排序

  从事net工作两年当初学到的数据结构算法一直没有在实际工作中用到近日闲来无事突发奇想要温习一下简单的数据结构算法今日用了一个下午的时间完成了排序中的快速排序以此作为入驻博客园的首篇随笔!思想向后是

知识大全 常见排序算法的java实现

  最近在面试遇到很多排序算法问题总结一下  定义数组如下  [java]  int[]array=newint[];  int[]array=newint[];  首先是插入排序  [java]  

知识大全 C#排序算法大全

C#排序算法大全  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!冒泡排序  学语言要花大力气学数据结

知识大全 PHP实现插入排序算法

PHP实现插入排序算法  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  插入排序(Insertio

知识大全 C#实现选择排序算法

C#实现选择排序算法  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  选择排序  classSel

知识大全 第8章排序(算法设计)习题练习答案

将哨兵放在R[n]中被排序的记录放在R[n]中重写直接插入排序算法解   重写的算法如下 voidInsertSort(SeqListR)  //对顺序表中记录