有趣的排序算法—入门介绍

一:排序概念:

排序其实是对关键字进行递增或递减顺序对一组记录重新进行排列的操作。即已知一序列,对其中的关键字进行从有序表到有序表的转换。

二:排序分类:

依据排序过程中记录多占用的存储设备进行分类,结构见下图:

冒泡排序模型:前提对一无序表中10个数进行排序

循环设计:

1 2 3 4 5 6 7 8 9

1 2 3 4 5 6 7 8

1 2 3 4 5 6 7

1 2 3 4 5 6

1 2 3 4 5

1 2 3 4

1 2 3

1 2

1

选择排序模型:

循环设计:

1 2 3 4 5 6 7 8 9

2 3 4 5 6 7 8 9

3 4 5 6 7 8 9

4 5 6 7 8 9

5 6 7 8 9

6 7 8 9

7 8 9

8 9

9

插入排序模型:

循环设计:

1 2

1 2 3

1 2 3 4

1 2 3 4 5

1 2 3 4 5 6

1 2 3 4 5 6 7

1 2 3 4 5 6 7 8

1 2 3 4 5 6 7 8 9

三:算法分析
  1.    待排序的记录个数
  2.    记录本身大小
  3.    关键字的结构基初始状态
  4.    对排序稳定性的要求
  5.    存储结构

对于算法的改进可以从时间复杂度和这空间复杂度两个方面考虑
简单介绍一下:(来源百度百科)
时间复杂度和空间复杂度统称为算法复杂度。其作用: 时间复杂度是指执行算法所需要的计算工作量;而空间复杂度是指执行这个算法所需要的内存空间。(算法的复杂性体现在运行该算法时的计算机所需资源的多少上,计算机资源最重要的是时间和空间(即寄存器)资源,因此复杂度分为时间和空间复杂度)。

                  


                       

                           '排序算法的时间复杂度动态示意图







评论 15
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值