首页 > 编程知识 正文

冒泡排序的最差时间复杂度,冒泡排序算法时间复杂度

时间:2023-05-03 16:11:18 阅读:231412 作者:319

var arr = [5,4,100,101,1000,99,22,33,44,111,78];//这边是一个数组for(var b=0;b<=arr.length;b++){//循环遍历每一个数字进行比较for(var i=0;i<b;i++){if(arr[i]>arr[i+1]){var a = arr[i];arr[i]=arr[i+1];arr[i+1]=a;}}}console.log(arr);

1.计算时间的复杂度(实质:执行次数计算机花销时间)

最优的情况是不用交换排序,一开始一切都排序好了时间花销为:[n(n-1)/2]; 复杂度为O(n)

最差的情况就是排序的时候,全部从大到小逆序的,花销时间为[3n(-1)]/2,所以左茶的情况下时间的负载度是执行次数平方为O(n²)

2.计算空间复杂度(定义:我上面变量的交换所占用的第三方内存)

最优的空间复杂度,同样,就是不需要借用第三方内存空间,则复杂度为0

最差的空间复杂度就是开始元素逆序排序,每次都要借用一次内存,按照实际的循环次数,为O(N)

平均的空间负杂度为:O(1)

关于空间复杂度的公式

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。