- 19
- 0
- 约9.82千字
- 约 10页
- 2020-11-10 发布于天津
- 举报
2.2
2.2 选择排序
0(1)
0(1)
常用排序算法比较与分析
一、常用排序算法简述
下面主要从排序算法的基本概念、原理出发 ,分别从算法的时间复杂度、空间复杂度、算法的稳定性和速度等方面进行分析比较。依据待排序的问
题大小(记录数量n)的不同,排序过程中需要的存储器空间也不同,由此将排序算法分为两大类:【排序】、【外排序】。
排序:指排序时数据元素全部存放在计算机的随机存储器 RAM中。
外排序:待排序记录的数量很大,以致存一次不能容纳全部记录,在排序过程中还需要对外存进行访问的排序过程。
先了解一下常见排序算法的分类关系 (见图1-1)
舍尔排序…冒泡排宇 快诵排字
舍尔排序…
冒泡排宇 快诵排字
选择排宇
内捋匡空換排宇
也井排了
外排洋I
图1-1常见排序算法
二、排序相关算法
2.1插入排序
核心思想:将一个待排序的数据元素插入到前面已经排好序的数列中的适当位置,使数据元素依然有序,直到待排序数据元素全部插入完为止。
2.1.1直接插入排序
核心思想:将欲插入的第 i个数据元素的关键码与前面已经排序好的 i-1、i-2 、i-3、…数据元素的值进行顺序比较,通过这种线性搜索的方法
找到第i个数据元素的插入位置 ,并且原来位置 的数据元素顺序后移,直到全部排好顺序。
O(n2),空间复杂度为常数阶
O(n2),空间复杂度为常数阶
Python 源代码:
# 直接插
原创力文档

文档评论(0)