冒泡排序、插入排序、选择排序 | 您所在的位置:网站首页 › 对数组从小到大的排序代码 › 冒泡排序、插入排序、选择排序 |
排序
1 冒泡排序1.1冒泡排序的流程及代码2 插入排序2.1插入排序的流程及代码3 选择排序3.1选择排序的流程及代码
1 冒泡排序
它是通过一系列的”交换“动作完成的。首先第一个关键字和第二个关键字比较,如果第一个大,则二者交换,否则不交换;然后第二个关键字和第三个关键字比较,如果第二个大,则二者交换,否则不交换…一直按这种方式进行下去,最终最大的那个关键字被交换到了最后,一趟起泡排序完成。经过多趟这样的排序,最终使整个序列有序。这个过程中,大的关键字像石头一样”沉底“,小的关键字像气泡一样逐渐向上”浮动“,冒泡排序的名字由此而来。 1.1冒泡排序的流程及代码
时间复杂度和空间复杂度 每趟将一个待排序的关键字按照其值的大小插入到已经排好的部分有序序列的适当位置上,直到所有待排关键字都被插入到有序序列中为止 2.1插入排序的流程及代码
该算法的时间复杂度和空间复杂度: 算法稳定性排序方式时间复杂度最好时间空间复杂度插入稳定直接插入O(n2)O(n)O(1) 3 选择排序选择类排序的主要动作是”选择“,简单选择排序采用最简单的选择方式,从头至尾扫描序列,找出最小的一个关键字,和第一个关键字交换,接着从剩下的关键字中继续这种选择和交换,最终使序列有序。 3.1选择排序的流程及代码
该算法的时间复杂度和空间复杂度 算法稳定性排序方式时间复杂度最好时间空间复杂度选择不稳定直接选择O(n2)O(n)O(1)本篇文章我们主要介绍了冒泡排序,插入排序和选择排序,为什么我要将它们三个放在一起讲,细心的已经发现了是因为它们的时间复杂度和空间复杂度是一样的。如下图 |
CopyRight 2018-2019 实验室设备网 版权所有 |