早教吧 育儿知识 作业答案 考试题库 百科 知识分享

关于渐进时间复杂度的问题在一个长度为n的顺序表的表尾插入一个新元素的渐进时间复杂度为?习题的答案是0(1),不知道对不对哦.还有渐进时间复杂度怎么算?如果该成:在一个长度为n的顺序

题目详情
关于渐进时间复杂度的问题
在一个长度为n的顺序表的表尾插入一个新元素的渐进时间复杂度为?
习题的答案是0(1),不知道对不对哦.
还有渐进时间复杂度怎么算?
如果该成:
在一个长度为n的顺序表的表尾插入一个新元素的时间复杂度为?是不是0(n).
▼优质解答
答案和解析
在一个长度为n的顺序表的表尾插入一个新元素的时间复杂度为?是不是0(n).
你这个改法和题目一个意思。。。 渐进时间复杂度简称时间复杂度。。。。
答案是对的,就是O(1),代表是个常量级(因为是在表尾插入的,顺序表读取表尾元素是个常量级操作,插入操作无需移动因此也是个常量级操作)。
渐进时间复杂度怎么算?
写出程序或伪代码,如果外层没有循环,就是O(1),有一层循环,就是O(n),有两层就是O(n^2)。。。依次类推。。(其实这个是错的,不过如果是要应付等考什么的,这个方法做出的答案绝对是正确的!)
比如:
x = 1; 这个的频度就是O(1);
for( i = 0; i < n; ++i )
x = 1; x = 1;这句的频度就是O(n);
for( i = 0; i < n; ++i )
for( j = 0; j < n; ++j )
x = 1; x = 1;这句的频度就是O(n^2);
时间复杂度等于一个算法中原操作执行的语句频度,所以上面三个例子的时间复杂度分别为O(1),O(n),O(n^2);
其他的时间复杂度比如O(nlogn),一般不会要你求的,最多记住有些算法,比如快速排序、堆排序等,它的时间复杂度是O(nlogn)。
其实正确的时间复杂度算法就是算出该算法中原操作执行的语句频度。原操作的语句频度算法是算出它执行的次数,取最高数量级(非严格表述)。
想知道准确严格的时间复杂度求法,可以参考《算法导论》第一部分第三章---函数增长。
看了 关于渐进时间复杂度的问题在一...的网友还看了以下:

关于真核细胞基因结构的表达中,正确的是()A.不同基因中外显子的碱基对在整个基因碱基对中所占比例是  2020-04-08 …

DNA复制时,DNA聚合酶先与-35区的DNA序列(即启动子)结合,然后滑动到-10区开始转录1.  2020-05-13 …

根据金属活动顺序表Cu不能发生:Cu+2H20===Cu(OH)2沉淀+H2气体但选择恰当的电极材  2020-05-17 …

由5551这几个数字放在一起组合可以颠倒顺序但是不能多也不能少最后的结果等于24由5551这几个数  2020-05-20 …

下列关于排序的说法正确的是().A.插入排序和冒泡排序都是稳定的排序算法.B.选择排序的平均时间复  2020-05-23 …

二分法查找的适用条件二分查找法只适用于顺序存储的有序表.在此所说的有序表是指线性表中的元素按值非递  2020-06-24 …

舰船信号兵用红、黄、蓝三面旗从上到下挂在旗杆上,表示不同的信号,每次可以任意挂一面、两面、三面.不  2020-07-06 …

计算机数据结构.设有一个足够大的栈,入栈序列为x,y,z,u,v下列哪一个出栈序列是不可能的序列.  2020-07-10 …

关于计算机网络的问题,数据结构,栈与队列的一个问题.因为我要想老师一样的讲课,设有一个足够大的栈,  2020-07-10 …

如表是不同投资的收益率与风险排序构成,从中可以看出()资产种类银行存款政府债券企业债券普通股票收益率  2020-11-28 …