一个关于数据结构线性表的题

一个关于数据结构线性表的题在一个具有n个结点的有序单链表中插入一个新结点并仍然有序的时间复杂性为______。A.O(1)B.O(n)C.O(n2)D.O(log2n)求... 一个关于数据结构线性表的题在一个具有n个结点的有序单链表中插入一个新结点并仍然有序的时间复杂性为______。
A.O(1)
B.O(n)
C.O(n2)
D.O(log2n)
求给出解释,谢谢
展开
 我来答
carea
2016-12-23 · TA获得超过459个赞
知道小有建树答主
回答量:395
采纳率:65%
帮助的人:103万
展开全部
假设有序的链表存放的都是整数,其值为:1,2,。。。。,n
逆序的分析也是一样的。
(1)如果你插入1,那么时间是1个单位时间;
(2)如果你要插入n+1,那么时间是n个单位时间;
(3)如果你要插入n/2,那么时间是n/2个时间;
那么算法复杂度到底以哪个为准呢?
算法分析里有约定,这种情况我们假设插入的数据可以是任意的数,那么各种情况下平均的插入时间作为算法的时间复杂度。
明显平均时间是(1+2+。。。+n)/n=(1+n)*n/2/n=(1+n)/2约等于0.5n;
算法分析里也有约定,对于时间是n的k倍的:k*n,其中k为常数,那么算法复杂度统一称为O(n),也就是说你的算法时间不管是(1/10000)*n还是10000*n,其实都是一样的复杂度。

所以这一题选B
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式