198天|冒泡直接插入简单选择排序
Posted J2EEDeveloper
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了198天|冒泡直接插入简单选择排序相关的知识,希望对你有一定的参考价值。
冒泡排序:两两比较,如果是升序排序,做完一趟冒泡排序,最大的就在最后面了。
考研:一般让写出一趟冒泡排序
直接插入排序:
一个序列,先看第一个,显然有序,然后拿第二个和第一个比,如果后面的小,就让第一个后移一个位置,然后把这个数放到第一个位置。然后再选择第三个数与前面两个数比较,如果大于那两个数,不用移动,直接放在那里。如果第三个数比那两个数小,就插入到该插入的位置。
思想:每趟将一个待排序的关键字按照其值的大小插入到已经排好序的部分有序序列的适当位置。
考研:没考过,直接可以写出全部
时间复杂度:O(n^2);空间复杂度O(1)
简单选择排序:《有序|无序》
思想:所谓的选择排序,还是简单选择排序。就是从头到尾扫描序列,选出最小的一个关键字,然后跟第一个交换,接着从剩下的关键字中继续这种选择和交换。
划分有序和无序序列,最开始都是无序
第一趟:从无序序列选择一个最小的,与第一个交换,从而产生了仅有一个关键字的有序序列
第二趟:然后再从无序序列中选最小的,与第二个位置交换,从而有两个有序。
以此类推。
考研:没考过,考全部过程
以上是关于198天|冒泡直接插入简单选择排序的主要内容,如果未能解决你的问题,请参考以下文章
插入排序(直接插入排序希尔排序);交换排序(冒泡排序快速排序);选择排序(简单选择排序堆排序);归并排序和基数排序;基于关键词比较的排序算法下界分析