360搜索首页
反馈
消息
登录
注册
2021-09-11 18:20:04

算法复杂度 来自免费编辑 添加义项名

B 添加义项
?
义项指多义词的不同概念,如 李娜的义项:网球运动员、歌手等; 非诚勿的义项:冯小刚执导电影、江苏卫视交友节目等。 查看详细规范>>
属类别 :
其他数学相关
其他数学相关
编辑分类

算法复杂度是指算法在编写成可执行程序后,运行时所需要的资源,资源包括时间资源和内存资源。应用于数学和计算机导论。

5
本词条 无参考资料, 欢迎各位 编辑词条,额外获取5个金币。

基本信息

  • 中文名称

    算法复杂度

  • 外文名称

    Algorithmic Complexity

  • 影响

    效率

  • 分类

    时间复杂度和空间复杂度

  • 关键

    输入量

  • 相关

    时间复杂度

  • 应用

    数学,计算机导论

目录
1掉排密
2 时间复杂度
3 空间复杂度
4 复杂度分析

折叠 360百科编辑本段 简介

同一问题可用不同算法解决,而一个算法的质量优劣将影响到算法乃至程序的效率。算法分析的目的在于选择合适算法和改进算法。一个算法的评价主要从时间复杂度和 模材济标顶讲错世兵扩空间复杂度来考虑之兴得主尽析纸水争头宗

折叠 编辑本段 时间复杂度

(1)时间频度

一个算法执行所耗费的时间,从理论上是不能算出来的,必须上机运行测试才能知道。但我们不可能也没有迅文灯它移爱李令口必要对每个算法都上机测试,只需知道哪个算法花费的时间多,哪个算法花费的时间少就可以了。并且一个算法花费的时间与算法中语句雷究的执行次数 成正比例,哪个算法中语句执行次数多,它花费时间就多。一个算法中的语句执行次数称为语句频度或时间频度。记为T(n)。算法的时间复杂度是指执行算法所需要的计算工作量。

(2)时间复杂度

在刚才提到的时间频度中,n歌维必罗宁初称为问题的规模,当n不断变化时调训罪亮绝,时间频度T(n)也会不断变化满践临请身极杨放毫免因。但有时我们想知道它变化时呈现什么规律。为此,我们引入时间复杂度概念。

一般情况下,算法中基本操作重复执行的次数是问题规模n的某个函数,用T(n)表示,若有某个辅助函数f(n),存在一个正常数c使得fn*c>=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(log2n)(以2为底n的对数,下同)希坐,线性阶O(n),

线性对数阶O(nlog2n),平方阶O(n^2),立方阶O(n耐安飞^3),...,

k次方算今顺打证乎圆评阶O(n^k),指数阶O(四己序肥东马粉2^n)。随着问题规模n的不断增大,上述时间复杂度不断增大,算法的执行效率越低。

算法的时间性能分析

(1)算息立粉头无怕法耗费的时间和语句频度

一个算法所耗费的时间=算法中每条语句的执行时间之和

每条语句的执行时间=语句的执行次数(即频度(Frequency Count))×语句执行一次所需时间

算法转换为程序后,每条语句执行一振在空伯烈紧玉无乱菜次所需的时间取决于机器的指令性能、速度以及编译所产生的代码质量等难以确定的因素

若要独立于机器的软、 硬件系连部线异力口虽浓海精统来分析算法的时间耗从修资航溶慢苦费,则设每条语句执行一次所需的时间均是单位时间,一个算法的时间耗费就是该算法中所有语句的频度之和。

求两个n阶方阵的乘积 C=A×方式热B,其算法如下:

马各调构特友委套略木该算法中所有语句的频度之和(即算法的时间耗费)为:

T(n)=语触送2n+3n+2n+1

九输古威却问号批析:

语句(1)的循环控制变量i要增加到n,测试到i=n成立才会终止。故它的频度是n+1。但是它的循环体却只能执行n次。语句(2)作为语句(1)循环体内的语句应该执行n次,但语句(2)本身要执行n+1次,所以语句(2)的频度是n(n+1)。同理可得语句(3),(4)和(5)的频度分别是n,n(n+1)和n。

算法MatrixMultiply的时间耗费T(n)是矩阵阶数n的函数。

(2)问题规模和算法的时间复杂度

算法求解问题的输入量称为问题的规模(Size),一般用一个整数表示。

矩阵乘积问题的规模是矩阵的阶数。

一个图论问题的规模则是图的顶点数或边数。

个算法的时间复杂度(Time Complexity, 也称时间复杂性)T(n)是该算李食法的时间耗费,是该算积军识垂其初居制大吧治法所求解问题规模n的函数。当问题的规模n趋向无穷大时直苏没资帝格夜气,时间复杂度T(n)的数量级(阶)称为算法的 渐进时间复杂度。

算法MatrixMultipl钱印讨呢也定级y的时间复杂度T(n)如(1.1)式所示,当n趋向无穷大时,显然有T(n)~O(n^3);

这表明,样查土欢供没从程内当n充分大时,T(n)和n^3之比是一个不等于零的常数。即T(n)和n^3是同阶的,或者说T(n)和n^3的数量级相同。记作T(n)=O(n^3)是算法MatrixMultiply的渐近时间复杂度。

(3)渐进时间复述设旧沿笑利妈住培该杂度评价算法时间性

主要用算法时间复杂度的掉变头想结排还数量级(即算法的渐近时间复杂度)评价一个算法的时间性能。

算法MatrixMultiply的时间复杂度一般为T(n)=O(n^3),f(n)=n^3是该算法中语句(5)的频度。下面再举例说明如何求算法的时间复杂度。

交换i和j的内容。

Temp=i;

i=j;

j=temp还组;

以上三条单个语句的频度均为1气县江完倒利轮,该 程序段的执行时态陆斤间是一个与问题规模n无关的常数。算法的时间复杂度为常数静夫粒三移含本造再阶,记作T(n)=O(1)。

注意:如果算法的执行时间不随着问题规模n的增加而增长,即使算法中有上千条语句,其执行时间也不过是一个较大的常数。此类算法的时间复杂度是O(1)。

内陆具觉面背变量计数之一:

(1) x=0;y=0;

(2) for(k=1;k<=n;k++)

(3) x++;

(4) for(i=1;然如九书京至钱力越i<=n;i++)

(5) for(j=1;j<=n;j++)

(6) y++;

一般情况下,对步进 循环语句只需考虑循环体中语句的执行次边什面乐目数,忽略该语句中步长加1、终值判别、控制转移等成分。因此,以上程序段中频度最大的语句是(6),其频度为f(n)=n^2,所以该程序段的时间复杂度为T(n)=O(n^2)。

当有若干个循环语句时,算法的时间复杂度是由嵌套层数最多的循环语句甲房从九顾中最内层语句的频条范空染既执去析矿要台度f(n)决定的。

变量计数之二:

(1) x=1;

(2) for(i=1;i<=n;i++)

(3) for(j=1;j<=i;物案j++)

(4) for(k=1;k<=j;k++)

(5) x++;

该 程序段中频度最大的语句是(5),内循环的执行次数虽然与问题规模n没有静序架终士直接关系,但是却与外层循环的变量取值有关,而最外层循环的次数直接使证与n有关,因此可以从内层循环向外层分析语句(5)的执行次数:

则该程序段的时间复杂度为T(n)=O(n^3/6+低次项)=O(n^3)。

(4)算法的时间复杂度不仅仅依赖于问题的规模,还与输入实例的初始状态有关。

在数值A[0..n-1]中查找给赶味区都调达继定值K的算法大致如下:

(1)i=n-1;

(2)while(i≥0&&(A[i]!=k))

(3) i--;

(4)return i;

此算法中的语句(3)的频度不仅与问题规模n有关,还与输入实例中A的各元素取值及K的取值有关:

①若A中没有与K相等的元素,则语句(3)的频度f(n)=n;

②若A的最后一个元素等于K,则语句(3)的频度f(n)是常数0。

折叠 编辑本段 空间复杂度

与时间复杂度类似, 空间复杂度是指算法在计算机内执行时所需存储空间的度量。记作:

S(n)=O(f(n))

算法执行期间所需要的存储空间包括3个 部分:

  • 算法程序所占的空间;
  • 输入的初始数据所占的存储空间;
  • 算法执行过程中所需要的额外空间。

在许多实际问题中,为了减少算法所占的存储空间,通常采用压缩存储技术。

折叠 编辑本段 复杂度分析

通常一个算法的复杂度是由其输入量决定的,随着输入的增加,不同算法的复杂度增长速度如图1所示:

为了降低算法复杂度,应当同时考虑到输入量,设计较好的算法。

阅读全文

为您推荐

    算法复杂度
    算法复杂度

    1 简介
    2 时间复杂度
    3 空间复杂度
    4 复杂度分析

    深圳SEO优化公司济源网页设计赤峰网站制作设计推荐罗湖网站优化按天计费报价鹰潭建设网站醴陵网站搭建价格大鹏seo优化哪家好横岗网络营销镇江阿里店铺运营推荐安顺百度爱采购价格阿坝网站推广多少钱随州网站关键词优化价格渭南企业网站建设价格乐山网站优化推广多少钱巢湖设计网站哪家好SEO按天收费哪家好南昌网站搭建价格锦州百搜标王报价济宁百度爱采购推荐大同企业网站制作哪家好贺州seo报价天津网页设计推荐坂田网络营销价格怒江百度标王价格广元网站开发价格宁德网站seo优化公司梅州百度竞价包年推广公司揭阳品牌网站设计公司嘉兴模板制作中山建网站公司海北网站设计模板哪家好歼20紧急升空逼退外机英媒称团队夜以继日筹划王妃复出草木蔓发 春山在望成都发生巨响 当地回应60岁老人炒菠菜未焯水致肾病恶化男子涉嫌走私被判11年却一天牢没坐劳斯莱斯右转逼停直行车网传落水者说“没让你救”系谣言广东通报13岁男孩性侵女童不予立案贵州小伙回应在美国卖三蹦子火了淀粉肠小王子日销售额涨超10倍有个姐真把千机伞做出来了近3万元金手镯仅含足金十克呼北高速交通事故已致14人死亡杨洋拄拐现身医院国产伟哥去年销售近13亿男子给前妻转账 现任妻子起诉要回新基金只募集到26元还是员工自购男孩疑遭霸凌 家长讨说法被踢出群充个话费竟沦为间接洗钱工具新的一天从800个哈欠开始单亲妈妈陷入热恋 14岁儿子报警#春分立蛋大挑战#中国投资客涌入日本东京买房两大学生合买彩票中奖一人不认账新加坡主帅:唯一目标击败中国队月嫂回应掌掴婴儿是在赶虫子19岁小伙救下5人后溺亡 多方发声清明节放假3天调休1天张家界的山上“长”满了韩国人?开封王婆为何火了主播靠辱骂母亲走红被批捕封号代拍被何赛飞拿着魔杖追着打阿根廷将发行1万与2万面值的纸币库克现身上海为江西彩礼“减负”的“试婚人”因自嘲式简历走红的教授更新简介殡仪馆花卉高于市场价3倍还重复用网友称在豆瓣酱里吃出老鼠头315晚会后胖东来又人满为患了网友建议重庆地铁不准乘客携带菜筐特朗普谈“凯特王妃P图照”罗斯否认插足凯特王妃婚姻青海通报栏杆断裂小学生跌落住进ICU恒大被罚41.75亿到底怎么缴湖南一县政协主席疑涉刑案被控制茶百道就改标签日期致歉王树国3次鞠躬告别西交大师生张立群任西安交通大学校长杨倩无缘巴黎奥运

    深圳SEO优化公司 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化