永发信息网

算法的语句执行频度,数据结构与算法中分析语句的执行次数怎么算

答案:1  悬赏:60  手机版
解决时间 2021-04-04 22:33
算法的语句执行频度,数据结构与算法中分析语句的执行次数怎么算
最佳答案
1)时间频度
一个算法执行所耗费的时间,从理论上是不能算出来的,必须上机运行测试才能知道。但我们不可能也没有必要对每个算法都上机测试,只需知道哪个算法花费的时间多,哪个算法花费的时间少就可以了。并且一个算法花费的时间与算法中语句的执行次数成正比例,哪个算法中语句执行次数多,它花费时间就多。一个算法中的语句执行次数称为语句频度或时间频度。记为T(n)。
(2)时间复杂度
在刚才提到的时间频度中,n称为问题的规模,当n不断变化时,时间频度T(n)也会不断变化。但有时我们想知道它变化时呈现什么规律。为此,我们引入时间复杂度概念。
一般情况下,算法中基本操作重复执行的次数是问题规模n的某个函数,用T(n)表示,若有某个辅助函数f(n),使得当n趋近于无穷大时,T(n)/f(n)的极限值为不等于零的常数,则称f(n)是T(n)的同数量级函数。记作T(n)=O(f(n)),称O(f(n)) 为算法的渐进时间复杂度,简称时间复杂度。
在各种不同算法中,若算法中语句执行次数为一个常数,则时间复杂度为O(1),另外,在时间频度不相同时,时间复杂度有可能相同,如T(n)=n^2+3n+4与T(n)=4n^2+2n+1它们的频度不同,但时间复杂度相同,都为O(n^2)。
按数量级递增排列,常见的时间复杂度有:
常数阶O(1),对数阶O(log(2)n),线性阶O(n),
线性对数阶O(nlog(2)n),平方阶O(n^2),立方阶O(n^3),...,
k次方阶O(n^k),指数阶O(2^n)。随着问题规模n的不断增大,上述时间复杂度不断增大,算法的执行效率越低。
(3)算法的时间复杂度
若要比较不同的算法的时间效率,受限要确定一个度量标准,最直接的办法就是将计算法转化为程序,在计算机上运行,通过计算机内部的计时
功能获得精确的时间,然后进行比较。但该方法受计算机的硬件、软件等因素的影响,会掩盖算法本身的优劣,所以一般采用事先分析估算的算法,
即撇开计算机软硬件等因素,只考虑问题的规模(一般用用自然数n表示),认为一个特定的算法的时间复杂度,只采取于问题的规模,或者说它是
问题的规模的函数。
为了方便比较,通常的做法是,从算法选取一种对于所研究的问题(或算法模型)来说是基本运算的操作,以其重复执行的次数作为评价算法时间
复杂度的标准。该基本操作多数情况下是由算法最深层环内的语句表示的,基本操作的执行次数实际上就是相应语句的执行次数。
一般 T(n)=O(f(n))
O(1)
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
判断题人类大量的使用化石燃料不利于环境的保
有网线连接的插p系统笔记本安装一个路由器
什么是物流企业,苏宁物流与国美相比,苏宁的
每天工作六小时全年无休,单位违法吗
男人最后最深爱的是自己娶的人吗? 女人最后
单选题Isthatthefarm________youonceworke
鱼竿什么牌子好-
则那个地方怎么还会有流体
I have got stamps from lots of countries中
老九门的第二季叫什么名子
四季豆亩产多少斤,大葱每亩产多少斤
怎样炒海兔好吃又简单
单选题斯巴达克起义的主要原因是A.罗马帝国的
AVPlayer加载在线视频如何获取到它下载的缓存
中国兵器工业第二〇八研究所 怎么样
推荐资讯
谁有exo综艺节目的百度云
李小龙传奇中李小龙和阿罗约分手是第几集?
云创通集团总经理许海龙
苹果手机为什么那么贵??
English is so difficult to me. I can’t l
如图,求角A加角B加角C加角D加角E加角F的度数
第六季最新一期奔跑热巴被弹飞落水的背景音乐
freescale的MC9S08可以用code warrior 5.1进
为什么医保实际报销比例比规定低
英文诗歌短篇带朗诵,英语诗歌朗诵
地名Taumatawhakatangihangakoauauotamateatu
人的性格脾气句子,形容人的性格的诗句
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?