知行编程网知行编程网  2022-11-02 19:00 知行编程网 隐藏边栏  2 
文章评分 0 次,平均分 0.0
导语: 本文主要介绍了关于python冒泡排序算法的性能探究的相关知识,包括python对10个数进行排序,以及用python怎么排序这些编程知识,希望对大家有参考作用。

python冒泡排序算法的性能探索

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电脑。

本文为原创文章,版权归所有,欢迎分享本文,转载请保留出处!

知行编程网
知行编程网 关注:1    粉丝:1
这个人很懒,什么都没写
扫一扫二维码分享