八大排序算法

从今天开始(2017.7.2),每天写一篇博客坚持到毕业,内容为找工作时可能会测试的各种计算机内容,首先从数据结构与算法开始,这也是重点毕业笔试面试需要的。万事开头难,从简单的排序开始。。

这里写图片描述
这里写图片描述

这里写图片描述

注:对n较大的排序记录。一般的选择都是时间复杂度为O(nlog2n)的排序方法(快排、堆排、归并排序)。

1、快速排序:
时间复杂度:O(n*lgn)
空间复杂度:O(n^2)
最坏情况:O(n*lgn)
不稳定
以基准数(通常是第一个)为中心,将小于基准数与大于基准数的数分为左右两边划分。
这里写图片描述
平均性能最好,但如果是初始序列有序或基本有序时与冒泡无异,为改进之,用三者取中的方法选取基准,将排序区间的两个端点与中点三个记录关键码居中的调整为支点记录
2、堆排序
直接选择的改进方法,树形选择排序。
步骤:建立初始堆(按树形结构存储)
输出堆顶元素后调整剩下的元素继续构建新堆
这里写图片描述
3、归并排序
这里写图片描述
4、直接插入
5、简单选择排序
6、冒泡排序
7、希尔排序
8、基数排序

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值