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

* ?版权所有,转载或翻印必究 Page * ADT示例: 二维矩阵容器matrix public: // 创建函数有三个: Mmatrix ELEM m; //创建一个二维矩阵,尺寸待定 Mmatrix ELEM m(k); //创建一个k×k的二维矩阵 //创建k×k的二维矩阵 Mmatrix ELEM m(k,Mrow(k,value); //其元素的初值全部为value int v.size() // 返回函数值为矩阵的当前长度 //可以补充定义其他函数,如两个矩阵的加法、乘法等 } ?版权所有,转载或翻印必究 Page * 1.4 算法及其特性 算法(algorithms)是为了求解问题而给出的指令序列 程序是算法的一种实现,计算机按照程序逐步执行算法,实现对问题的求解 一个求解问题通常用该问题的输入数据类型和该问题所要求解的结果(算法的输出数据)所应遵循的性质来描述 ?版权所有,转载或翻印必究 Page * 1.4.1 算法及其特性 算法应该具有如下性质: 一定的通用性。 对于那些符合输入类型的任意输入数据,都能根据算法进行问题求解,并保证计算结果的正确性 算法的有效性。 算法是有限条指令组成的指令序列,其中每一条指令都必须是能够被确切执行的,被人或机器所执行。指令的类型应该明确规定,仅限于若干明确无误的指令动作,是一个有限的指令集 。其结果应具有确定的数据类型,是能够预期的 ?版权所有,转载或翻印必究 Page * 1.4.1 算法及其特性 算法的确定性。 算法每执行一步之后,关于它的下一步,应该有明确的指示。下一步动作可以是条件判断、分支指令、或顺序执行一条指令、或者指示整个算法的结束等。算法的确定性要保证每一步之后都有关于下一步动作的指令,不能缺乏下一步指令(被锁住)或仅仅含有模糊不清的指令 算法的有穷性。 算法的执行必须在有限步内结束。换句话说,算法不能含有死循环 ?版权所有,转载或翻印必究 Page * 1.4.2 计算复杂性和算法的效率 根据计算理论(theory of computation),存在着一类问题虽然能够被准确定义,但却不存在能够解决该问题的算法。称为不可解问题 计算复杂性理论(computational complexity theory)指出,理论上存在一大类难解问题,它们虽然存在着求解算法,但是在算法的计算时间上,都是组合爆炸型的求解算法 ?版权所有,转载或翻印必究 Page * 1.4.2 计算复杂性和算法的效率 所谓组合爆炸型,是指随着问题的规模n的增大,算法的时间开销不能约束在n的k阶多项式数量范围内。(其中k是任意不依赖于n的常数) 根据计算复杂性理论,难解问题的定义就是它的求解算法均无法在多项式时间nk数量级内解决(其中k是任意正整数)。比较常见的难解问题有:图论中的求最优巡游路径问题,判定命题逻辑公式是否为恒真等 ?版权所有,转载或翻印必究 Page * 1.5 算法的执行效率及其度量 解决同一个问题总是存在着多种算法,而算法设计者在所花费的时间和所使用的空间资源往往要两者之间采取折中,采用某种以空间资源换取时间资源的策略 算法设计者可以通过算法分析,判断所提出的算法是否现实,设计出更好的算法 ?版权所有,转载或翻印必究 Page * 1.5.1算法的渐进分析(asymptotic analysis) 算法的渐进分析,简称算法分析。算法在计算机上实际执行时,需要消耗时间资源(归结为CPU执行指令的总数),和使用空间资源(归结为所需占用的存储单元数量,字节数)。 由于算法分析和它所求解的问题规模直接有关,因此通常将问题规模n作为一个参照量,求算法的时空开销和n的关系。

文档评论(0)

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

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

1亿VIP精品文档

相关文档