算法和算法分析

本文介绍了算法的基本定义,包括输入、输出、有穷性、确定性和有效性等特征。同时,讨论了算法的评价标准,如正确性、可读性、健壮性和高效性,并重点分析了时间复杂度和空间复杂度作为衡量效率的重要指标。时间复杂度通过极限思想表示,以最高频度的语句来衡量。空间复杂度关注输入输出及运行时的辅助空间。最后,强调了时间复杂度和空间复杂度通常按最坏情况计算的重要性。
摘要由CSDN通过智能技术生成
  1. 算法的定义:一个通过有限的步骤解决问题的序列

算法的特点:1.输入---------.>0个或0个以上输入

                      2.输出--------->至少一个输出

                      3.有穷性------->算法应该执行有穷步后结束,程序则不一样,例如:开车时候,其                             传感器需要不断的工作,汽车ECU(汽车电脑)不断分析。

                      4.确定性------->执行的每一步都应该是确定的  (你说什么他才会干什么,不说清楚就                            不干)

                      5.有效性------->每一步都应该是有用的(正常人不会去吃屎吧,因为你tm有食物

                         你还去吃,不会吧)

 

2.算法的评价:

  • 1 正确性
  • 2  可读性
  • 3 健壮性(有一定的容错性不然就直接程序奔溃了,     

                          要有正确引导用户的提醒)

  • 4高效性    (时间和空间的牺牲)                                            

 

算法的效率度量

1 时间复杂度(重心)

2 空间复杂度(硬盘技术在不断提高价格降低,已经不在乎了)

 

时间复杂度的表示法

回想高等数学中的极限发F(x)=5x+3 当x趋于无穷大时忽略系数5和常数3

 

 

例:

取最高语句的使用频度本例中即第三行,内循环的循环体

矩阵就是下图中的这样,外循环控制行内循环控制列

每一行中都要循环四次列,由上到下,实际内存是连续的这只是思考

的逻辑模型

       

 

 

 

空间复杂度

1,输入输出所占用的空间

2,程序本身所占用的空间

3,运行过程中的临时辅助空间

原地工作:辅助空间为常量时

备注(时间,空间复杂度都是按最坏的情况来计算的,

即可能的最长时间,最长空间,就像早上上课只能早到,

而不能迟到要提前预留时间)

 

 

 

 

时间复杂度从左到右增大

 

 

结束

 

 

 

 

 

 

 

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值