快排和归并时间复杂度为何是O(nlogn)

快排和归并时间复杂度为何是O(nlogn)

快排是从所给的要排序的数中先随机抽出一个数(一般选择第一个数作为基数)。然后遍历输入的数(将每个数和抽出的数比较,比它小的放左边,比大它的放右边)~~~该过程的时间复杂度为n(第一步),然后递归的完成上述操作~~该递归的操作时间复杂度是logn(与遍历二叉树的操作类似)(第二步)~~~所以第一步和第二步合起来。最终快排的时间复杂度是nlogn(它是不稳定算法)

归并排序:从递归的角度来分析的话:第一步:遍历所有的数,两两比较进行排序,这就完成了一趟操作。它的时间复杂度为n..

第二步:递归完成上述操作~~它的时间复杂度为logn~~~~~~~~~所以总的就是nlogn它是稳定的算法

从非递归的角度:合并每个子问题,得到原问题的解。它的时间复杂度是n(外层循环)~~~~~每个子问题求解需要logn的时间复杂度(内层循环).........所以最终它的时间复杂度还是nlogn

相关推荐

使用Cloudflared Tunnel实现内网穿透详细教程
365bet官网中文网

使用Cloudflared Tunnel实现内网穿透详细教程

⏱️ 07-19 👁️ 3956
在上海用哪个停车软件好
体育投注英超和欧冠

在上海用哪个停车软件好

⏱️ 06-29 👁️ 7133
公司在办公电脑上安装了监控软件吗?怎么从电脑上删除监控软件?公司电脑监控软件如何卸载?10种方法教会你
花与剑游戏完全人物攻略:技巧与角色解析
bt365无法登陆

花与剑游戏完全人物攻略:技巧与角色解析

⏱️ 07-23 👁️ 7195
​LOL历届周年庆典皮肤盘点,最后一个很多人都还不知道
手机可以拿去典当铺当吗,看这里,教你如何提升手机典当价值
体育投注英超和欧冠

手机可以拿去典当铺当吗,看这里,教你如何提升手机典当价值

⏱️ 08-08 👁️ 5516