问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

排序算法的时间复杂度计算

发布网友 发布时间:2022-04-21 19:29

我来回答

1个回答

热心网友 时间:2022-05-22 02:52

你这个问题是自己想出来的吧?
第一,你指的时间复杂度是大O表示法的复杂度,也就是一个上界,但不是上确界,所以就算你以一种方式中断排序过程,时间复杂度还是O(N*logN),假设排序过程还能执行的话。
第二,达到O(N*logN)的排序算法,以快速排序为例,快速排序不知道你看过没有,它不像选择排序或者冒泡排序那样,每一趟可以确定一直最大或者最小值,对于快速排序,每一趟排序后如果你删掉最后一个元素将导致整个算法失效。如果你要用这种删除元素方法的话,只能采用冒泡排序或者选择排序,时间复杂度是O(N^2)
所以,我猜想你是不是想做类似于在N个元素中寻找前K个最大者之类的事情(K=N-L)
如果是这样的话,有复杂度是O(N*logK)的算法,利用快速排序中的partition操作
经过partition后,pivot左边的序列sa都大于pivot右边的序列sb;
如果|sa|==K或者|sa|==K-1,则数组的前K个元素就是最大的前K个元素,算法终止;
如果|sa|<K-1,则从sb中寻找前K-|sa|-1大的元素;
如果|sa|>K,则从sa中寻找前K大的元素。
一次partition(arr,begin,end)操作的复杂度为end-begin,也就是O(N),最坏情况下一次partition操作只找到第1大的那个元素,则需要进行K次partition操作,总的复杂度为O(N*K)。平均情况下每次partition都把序列均分两半,需要logK次partition操作,总的复杂度为O(N*logK)。
由于K的上界是N,所以以N表示的总复杂度还是O(N*logN)追问嗯嗯~谢谢你~~明白一些了~这个问题确实是我自己的一个问题~~其实是N个数先排序,然后把最小的数删掉~【再把剩下的数中任意替换掉2个】~然后重新排序删掉最小的~这样循环直到L个~就像你说的我用的其实是冒泡排序,你说的Partition操作我也不是很了解,如果现在用冒泡排序法解决这个问题,那时间复杂度要怎么算呢?是不是 第一次N^2,第二次(N-1)^2 呢?这样循环N-L次的话总的复杂度可以算作O(N^3)吗? 非常感谢!一定为您加分!

追答注意到你用冒泡法的时候,只要求找到最小的一个元素就好了,相当于只需要做冒泡法的第一轮冒泡即可,所以每次找最小再删除的时候时间复杂度是O(N)不是O(N^2),循环N-L次的时间复杂度是O(N^2)
时间复杂度不是计算次数,O((N-1)^2)实际上就是O(N^2),大O表示法数学描述起来要扯到极限什么的,不直观,只要知道是他表示的是一个上界但不是上确界就好了

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
我要怎么用QQ账号登陆百度贴吧啊?为什么我输入QQ号不行,输人昵称也不... 生僻子城首歌曲的歌词 广告业可以开增值税专用发票么? 全民穿越之宫四阿哥服装攻略全民穿越之宫分解衣服的原料怎么获得 全民穿越之宫如何快速获得金币 全民穿越之宫金钱获得攻略详解 全民穿越之宫衣服攻略全民穿越之宫分解衣服的原料怎么获得 全民穿越之宫杰克攻略_全民穿越之宫杰克剧情攻略 着是多音字吗怎么组词 多音字着怎么组词 酸奶葡萄干冰棒的做法-酸奶葡萄干冰棒如何做好吃 牛奶和酸奶怎样做雪糕做雪糕的步骤 ticwatch二代三个版本都有什么区别? iPhone11ProMax用USB连接Mac Book Air时断时续? 几种常用的排序算法以及其时间复杂度 可独立运行的智能手表 Ticwatch 2评测 为什么mac连不上iphone ticwatch智能手表 所有排序算法的时间复杂度 我的苹果手机 为什么一连接电脑 电脑就没网络了 就... TicWatch怎么样? 余额宝心愿储蓄如果不按时存钱会怎样? 我的苹果手机连接电脑出这样的闪断问题 求救 C语言 各常见排序法的时间复杂度 急 请简单说明 Ticwatch手表- iOS系统,请问如何找到ticwatch 2手... 余额宝的心愿储蓄有利息吗 苹果数据线连电脑一断一连怎么回事 快速排序法的平均时间复杂度是多少? ticwatch2的二维码在哪? 为什么苹果手机连电脑。一下断开一下连接呢? 数据结构中各种排序的时间复杂度与空间复杂度比较! 怎么找ticwatch的二维码 各种排序的时间复杂度 ticwatch 请问一下:有谁能总结数据结构中排序章内介绍各种... ticwatch 让手表一直有网络 求各种查找和排序的时间复杂度 ticwatch二代三个版本都有啥区别?? 几种排序的时间复杂度排序 ticwatch二代智能手表怎样? 常见的排序算法以及时间复杂度 ticwatch手表一直配对不上是什么原因? 简述各种排序算法的优缺点 什么排序的速度(时间复杂度)最快? ticwatch是什么牌子的智能手表 ticwatchpro3拍照在哪 蜘蛛痣都长在人体的什么部位? 为什么蜘蛛痣出现在上腔静脉分布的区域? 什么是蜘蛛痣?它长在什么地方?什么形状? 蜘蛛痣一般会有哪些表现,应该怎么治疗 蜘蛛痣在什么位置 蜘蛛痣什么样?