电脑编程中快速排序的时间复杂度n log n 是n*log(n)还是什么
答案:4 悬赏:70
解决时间 2021-02-11 20:39
- 提问者网友:伪情浪人
- 2021-02-11 13:47
电脑编程中快速排序的时间复杂度n log n 是n*log(n)还是什么
最佳答案
- 二级知识专家网友:滚出爷的世界
- 2021-02-11 14:04
问题中两者选择的答案是相同的,且是正确的,n log n 即等于n*log(n),其中*代表乘,默认底数为2.
快速排序的复杂度为log以2为底,n^2的对数,也就是O(n^2),如排序10个数,最坏的情况就是O(10^2)=O(100)≈33
快速排序的复杂度为log以2为底,n^2的对数,也就是O(n^2),如排序10个数,最坏的情况就是O(10^2)=O(100)≈33
全部回答
- 1楼网友:高冷不撩人
- 2021-02-11 16:22
数据结构中logn一般表示2为底数,如果不是的话,才会明确标明。
- 2楼网友:一身浪痞味
- 2021-02-11 15:08
复杂度的表示式里面只看幂级不看具体底数,log n跟log2n是一回事,感觉你有些概念不清的样子,时间复杂度的n就表示算法处理的数字个数,快速排序的时间复杂度就是n log n,快速排序10个数的时间复杂度也还是n log n,你可以说n=10,但是时间复杂度的表示式里面要求把具体的输入个数用n表示,因为这样才能反映出算法在输入个数增加的时候运行时间相应增加的程度,也就是“时间复杂度”这个概念本身想说明的问题。
- 3楼网友:糜废丧逼
- 2021-02-11 14:47
你好!
快速排序的平均复杂度是在n*log2(n)也就是nlog(n),在信息学中nlog(n)的底数默认为2。至于说快速排序10个数的时间复杂度,是没办法计算的,这个还是和这10个数的初始顺序有关。只能说排序10个数的平均复杂度在10*log2(10),如果这个10个序列差劲,复杂度也有可能是O(10^2)。(快速排序的最坏情况下的时间复杂度是O(n^2))
仅代表个人观点,不喜勿喷,谢谢。
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯
• 手机登qq时,显示手机磁盘不足,清理后重新登 |
• 刺客的套装怎么选啊? |