1.执行效率分为最小时间复杂度、时间复杂度和平均时间复杂度。
最小时间复杂度:很容易计算,最好的情况是数据一开始就有序,所以一次冒泡就可以完成,时间复杂度为O(n)
时间复杂度:也很容易计算。最坏的情况是一开始数据是逆序的,所以可以通过n-1次冒泡完成,时间复杂度为O(n^2)
平均时间复杂度,严格来说,平均时间复杂度是加权平均期望时间复杂度。分析中应结合概率识别的知识。对于包含 n 个数据的数组,有 n!排序方式,排列方式不同,冒泡排序的执行时间肯定是不一样的。如果我们用概率识别的方法来定量分析平均时间复杂度,所涉及的数据推理会非常复杂。这是一种思维方式。分析。有序度是有序的元素个数,如3、1、2。这三个数据的有序度为1,即(1, 2)。反之,反转度为2,即(3, 2) (3, 1) 这两个,1, 2, 3 三个数据的顺序为3: (1, 2) (1, 3) (2, 3),逆序为0,完全有序数据 一个序列的有序度也称为全序度。
2. 内存消耗。以空间复杂度衡量,冒泡排序只需要一个变量。
tmp存储交换数据,所以空间复杂度为O(1),空间复杂度为O(1)的排序算法也称为原始排序算法。
3、稳定性。
对于排序算法,一个重要的衡量标准是稳定性。其概念是,如果待排序序列中存在等价元素,则等价元素之间的原始顺序在排序后保持不变。假设有一个4、1、2、2的序列,我们称第一个2 2',第二个2 2'。如果排序后的序列是 1, 2', 2', 4,那么排序算法是稳定的,否则是不稳定的。
本文教程操作环境:windows7系统、Python 3.9.1,DELL G3电脑。
本文为原创文章,版权归知行编程网所有,欢迎分享本文,转载请保留出处!
你可能也喜欢
- ♥ python语句和缩进的实现10/31
- ♥ 如何在python中设置字体颜色08/27
- ♥ python请求的超时使用10/16
- ♥ ubuntu如何检查是否安装了python08/29
- ♥ python中的exp是什么10/11
- ♥ python中常见bug的介绍与整理09/19
内容反馈