pyhton-排序算法

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/heqiang525/article/details/84097523

1、算法复杂度

算法复杂度分为时间复杂度空间复杂度。其中, 时间复杂度是指执行算法所需要的计算工作量;而空间复杂度是指执行这个算法所需要的内存空间。

算法的复杂性体现在运行该算法时的计算机所需资源的多少上,计算机资源最重要的是时间和空间资源,因此复杂度分为时间和空间复杂度。用大O表示。

常见的时间复杂度(按效率排序)

2、冒泡排序

冒泡法:第一趟:相邻的两数相比,大的往下沉。最后一个元素是最大的。

           第二趟:相邻的两数相比,大的往下沉。最后一个元素不用比。

时间复杂度:O(n^2)

稳定性:稳定

改进:如果一趟比较没有发生位置变换,则认为排序完成

1 def bubble_sort(array):
2     for i in range(len(array)-1):
3         current_status = False
4         for j in range(len(array) - i -1):
5             if array[j] > array[j+1]:
6                 array[j], array[j+1] = array[j+1], array[j]
7                 current_status = True
8         if not current_status:
9             break

2018年11月15日,南京

猜你喜欢

转载自blog.csdn.net/heqiang525/article/details/84097523
今日推荐