- 3
- 0
- 约2.79千字
- 约 17页
- 2020-11-07 发布于江苏
- 举报
一、插入排序
介绍
插入排序基础操作就是将一个数据插入到已经排好序有序数据中,从而得到一个新、个数加一有序数据。
算法适适用于少许数据排序,时间复杂度为O(n^2)。
插入排算法是稳定排序方法。
步骤
①从第一个元素开始,该元素能够认为已经被排序
②取出下一个元素,在已经排序元素序列中从后向前扫描
③假如该元素(已排序)大于新元素,将该元素移到下一位置
④反复步骤3,直到找到已排序元素小于或等于新元素位置
⑤将新元素插入到该位置中
⑥反复步骤2
排序演示
算法实现
二、冒泡排序
介绍
冒泡排序(Bubble Sort)是一个简单排序算法,时间复杂度为O(n^2)。
它反复地走访过要排序数列,一次比较两个元素,假如她们次序错误就把她们交换过来。走访数列工作是反复地进行直到没有再需要交换,也就是说该数列已经排序完成。
这个算法名字由来是因为越小元素会经由交换慢慢“浮”到数列顶端。
原理
循环遍历列表,每次循环找出循环最大元素排在后面;
需要使用嵌套循环实现:外层循环控制总循环次数,内层循环负责每轮循环比较。
步骤
①比较相邻元素。假如第一个比第二个大,就交换她们两个。
②对每一对相邻元素作一样工作,从开始第一对到结尾最终一对。在这一点,最终元素应该会是最大数。
③针对全部元素反复以上步骤,除了最终一个。
④连续每次对越来越少元素反复上面步骤,直到没有任何一对数字需要比较。
算法实现:
三、快速排序
介绍
快速排序(Quicksort)是对冒泡排序一个改善,借用了分治思想,由C. A. R. Hoare在1962年提出。
基础思想
快速排序基础思想是:挖坑填数 + 分治法。
首先选出一个轴值(pivot,也有叫基准),经过一趟排序将待排统计分隔成独立两部分,其中一部分统计关键字均比另一部分关键字小,则可分别对这两部分统计继续进行排序,以达成整个序列有序。
实现步骤
①从数列中挑出一个元素,称为 “基准”(pivot);
②重新排序数列,全部元素比基准值小摆放在基准前面,全部元素比基准值大摆在基准后面(相同数能够到任一边);
③对全部两个小数列反复第二步,直至各区间只有一个数。
排序演示
算法实现
四、希尔排序
介绍
希尔排序(Shell Sort)是插入排序一个,也是缩小增量排序,是直接插入排序算法一个更高效改善版本。希尔排序是非稳定排序算法,时间复杂度为:O(1.3n)。
希尔排序是基于插入排序以下两点性质而提出改善方法:
·插入排序在对几乎已经排好序数据操作时, 效率高, 即能够达成线性排序效率;
·但插入排序通常来说是低效, 因为插入排序每次只能将数据移动一位。
基础思想
①希尔排序是把统计按下标一定量分组,对每组使用直接插入算法排序;
②伴随增量逐步降低,每组包1含关键词越来越多,当增量减至1时,整个文件恰被分成一组,算法被终止。
排序演示
算法实现
五、选择排序
介绍
选择排序(Selection sort)是一个简单直观排序算法,时间复杂度为Ο(n2)。
基础思想
选择排序基础思想:比较 + 交换。
第一趟,在待排序统计r1 ~ r[n]中选出最小统计,将它和r1交换;
第二趟,在待排序统计r2 ~ r[n]中选出最小统计,将它和r2交换;
以这类推,第 i 趟,在待排序统计ri ~ r[n]中选出最小统计,将它和r[i]交换,使有序序列不停增加直到全部排序完成。
排序演示
选择排序示例动画。红色表示目前最小值,黄色表示已排序序列,蓝色表示目前位置。
算法实现
六、堆排序
介绍
堆排序(Heapsort)是指利用堆积树(堆)这种数据结构所设计一个排序算法,它是选择排序一个。
利用数组特点快速指定索引元素。
基础思想
堆分为大根堆和小根堆,是完全二叉树。
大根堆要求是每个节点值小于其父节点值,即A[PARENT[i]] =A[i]。
在数组非降序排序中,需要使用就是大根堆,因为依据大根堆要求可知,最大值一定在堆顶。
排序演示
算法实现
七、归并排序
介绍
归并排序(Merge sort)是建立在归并操作上一个有效排序算法。该算法是采取分治法(Divide and Conquer)一个很经典应用。
基础思想
归并排序算法是将两个(或两个以上)有序表合并成一个新有序表,即把待排序序列分为若干个子序列,每个子序列是有序。然后再把有序子序列合并为整体有序序列。
算法思想
自上而下递归法(假如序列共有n个元素)
① 将序列每相邻两个数字进行归并操作,形成 floor(n/2)个序列,排序后每个序列包含两个元素;
② 将上述序列再次归并,形成 floor(n/4)个序列,每个序列包含四个元素;
③ 反复步骤②,直到全部元素排序完成。
自下而上迭代法
① 申请空间,使其大小为两个已经排序序列之和,该空间用来存放合并后序列;
② 设定两个
您可能关注的文档
最近下载
- 专题23 阅读理解(科普和文化)-备战中考英语高能训练(原卷版).docx VIP
- 中考数学模型 专题2.7 二次函数中的最值问题(学生版+解析版).docx
- 排水管理与排水设施建设管理的调研报告5.docx
- 中职物理探究磁现象及其应用教案.pdf
- 中考数学模型 专题2.6 逆等线模型(学生版+解析版) .docx
- 中职物理探究磁现象及其应用教学实施报告.pdf VIP
- 《3T模锻电液锤液压系统的设计》-毕业学术论文(设计).doc VIP
- 2025年放射法律法规及防护知识培训试题及答案.docx VIP
- (正式版)D-L∕T 517-2012 电力科技成果分类与代码.docx VIP
- 3.3.1 查对制度(word完结版).docx VIP
原创力文档

文档评论(0)