第2章 算法复杂度.pptx

  1. 1、本文档共25页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

第2章算法复杂度2024/9/101主要内容●算法●算法的复杂度●常见的复杂度

2.1算法算法(algorithm)就是一个正确的计算过程,该过程取某个值或值的集合作为输入并产生某个值或值的集合作为输出。2024/9/102

2024/9/103算法的4个主要特性:2.1算法算法的4个主要特性是:●确切性:算法由语句组成,每个语句的功能是确切的。●输入数据:可以向算法输入多个或0个数据(方法可以有参数或无参数),即算法可以接收或不接收外部数据。●输出数据:算法可以给出明确的计算结果(方法的返回值)或输出若干数据到客户端以反映算法产生的效果。●可行性:基本操作都是在有限时间内被完成。所谓有限时间是指这个时值仅仅依赖于特定的硬件设施,不依赖于一个正整数n,即不会随着n的增加而增大。●确切性●输入数据●输出数据●可行性

2024/9/104一个算法不能在有限的时间内结束,就不属于算法复杂度的研究的范畴,比如一个算法里出现的无限循环,就不再属于算法复杂度的研究的范畴了2.2复杂度算法,从执行到结束,涉及两个度量:一个是执行方法所消耗的时间,一个是执行方法所需要的内存空间。

2024/9/105方法里声明的局部变量,包括参数都不归类到基本操作,即不是基本操作。2.2复杂度⒈基本操作一个基本操作是一个语句或一个运算表达式。一个基本操作是一个语句或一个运算表达式,而且必须是在有限时间内能被完成的计算步骤,其耗时仅仅依赖于特定的硬件设施,不依赖于一个正整数n,不会随着n的增加而增大。

2024/9/106在计算算法执行的基本操作的总数时,要真对最坏的情况,即在某种条件下执行的基本操作的总数是最多的情况2.2复杂度3时间复杂度算法执行的基本操作的总数T(n)。算法的复杂度主要是度量随着n的增大,T(n)值的趋势。

2024/9/107学习复杂度,记住一个通俗的道理:时间累加,空间不累加.2.2复杂度4复杂度比较

2024/9/1082.3常见复杂度⒈O(1)复杂度算法中的基本操作被执行的总次数是一个常量,即不依赖一个正整数n、不会随着n的增加而增大,那么将算法的时间复杂度,记作O(1)。算法中的所占用的内存是一个常量,即所占内存不依赖一个正整数n、不会随着n的增加而增大,那么将算法的空间复杂度,记作O(1)。?例子1Max.javaExample2_1.java

2024/9/1092.3常见复杂度1.O(1)复杂度??例子2Sum.javaExample2_2.java

2024/9/10102.3常见复杂度2.O(n)复杂度?

2024/9/10112.3常见复杂度2.O(n)复杂度例子3SumAndMult.javaExample2_3.java?

2024/9/10122.3常见复杂度2.O(n)复杂度例子4ArrayMax.javaExample2_4.java?

2024/9/10132.3常见复杂度2.O(n)复杂度例子5FindMissNumber.javaExample2_5.java??理论上知道,同一台计算机,执行“异或”运算要比“加减”运算快。所以,对于同一个算法,在复杂度相同的情况下,尽量使用速度快的基本操作。如果软件的需求不十分介意速度,选择的基本操作能使得的代码更简练、阅读性更好,那么也可以使用这样的基本操作。

2024/9/10142.3常见复杂度3.

2024/9/10152.3常见复杂度3.例子6Multi.javaExample2_6.java???

2024/9/10162.3常见复杂度3.例子7BubbleSort.javaExample2_7.java???

2024/9/10172.3常见复杂度4.???

2024/9/10182.3常见复杂度4.例子8OutPutNumber.javaExample2_8.java????

2024/9/10192.3常见复杂度5.???

2024/9/10202.3常见复杂度5.例子9FindNumber.javaExample2_9.java????

2024/9/10212.3常见复杂度5.例子10Euclidean.javaExample2_10.java????

2024/9/10222.3常见复杂度6.??如果一个方法里又调用了其它方法,即一个算法又包含另外一个算法,那么该方法的复杂度将和它包含的方法复杂度有关,需合并考察复杂度。?

2024/9/10232.3常见复杂度6.例子11DataInArray.javaExample2_11.java???

2024/9/10242.3常见复杂度6.例子12GCDInArray.java

文档评论(0)

弹弹 + 关注
实名认证
内容提供者

人力资源管理师、教师资格证持证人

该用户很懒,什么也没介绍

版权声明书
用户编号:6152114224000010
领域认证该用户于2024年03月13日上传了人力资源管理师、教师资格证

1亿VIP精品文档

相关文档