排序算法小结

在这里插入图片描述

区别

1.冒泡排序是比较相邻位置的两个数,而选择排序是按顺序比较,找最大值或者最小值;
2.冒泡排序每一轮比较后,位置不对都需要换位置,选择排序每一轮比较都只需要换一次位置;
3.冒泡排序是通过数去找位置,选择排序是给定位置去找数;
4.插入是把无序的插到有序的数组中,两两比较后,直接赋值。
5.希尔排序就是在插入排序的基础上加了一个gap跳跃间隔,以减少插入排序的次数。

冒泡排序优缺点

1.优点:比较简单,空间复杂度较低,是稳定的;

2.缺点:时间复杂度太高,效率慢;
知识点链接:

选择排序优缺点

1.优点:一轮比较只需要换一次位置;

2.缺点:效率慢,不稳定(举个例子5,8,5,2,9 我们知道第一遍选择第一个元素5会和2交换,那么原序列中2个5的相对位置前后顺序就破坏了)。
知识点链接:

插入排序优缺点

1.优点:稳定;

2.缺点:效率慢;
知识点链接:

希尔排序优缺点

1.优点:相对较快;

2.缺点:不稳;
知识点链接:

总结

插入和冒泡最佳时间复杂度都是O(N),且稳定,插入排序最佳时间复杂度是O(N^2),且不稳定。对于冒泡和插入,冒泡是两两交换数据,插入是直接赋值,因此插入要比冒泡好。希尔虽然在插入上进行了改进,但是不稳定。

参考:https://blog.csdn.net/weixin_41887155/article/details/85799820

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值