面试题:经典常见排序算法 插入 冒泡 选择 归并 快速排序

1.插入排序 

从头向尾不断扩大排序范围 (保持范围内顺序)      

时间复杂度 O(n2)

2.冒泡排序 

从第i=1个数据和第i+1个数据 进行比较 大的向后移 直到移动到他的为止(以最大值为主要观察对象 最大值逐个排到正确位置)     

时间复杂度 O(n2)

3.选择排序   

从全局缩小选择范围 ,遍历选择最小的数据排到前面,缩小查找排序空间   

时间复杂度    O(n2)

 4.归并排序   

先归后并  先将排序数组分到最小 然后相邻两组按从小到大顺序合并   直至排序结束 

时间复杂度    O(nlogn)

 

5.快速排序 

思想:选定一个元素  将小于该值的元素全都放到该元素坐标大于该值的元素全都放到右边

实现:双指针 L R,思想左右两指针 当发生数据交换时 由另一指针遍历 相交为止就是选择值的位置

 选择第一个值为中心轴,则先移动R指针,当R值小于中心轴时RL交换 ,此时R-1,L+1,开始移动 L ,L指针向右遍历 当发现大于选定值时与R交换 ,交换后L-1,R-1

时间复杂度    O(nlogn)

 二分查找  对待插入数据进行二分法比大小 如果比数据中该中间值小则在左边范围内继续查找比大小

时间复杂度 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值