数据结构6.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第六章 数据结构与算法 计算机 数据处理 如何组织 6.1 算法 6.1.1 算法的基本概念 1.算法:指解题方案的准确而完整的描述。 通俗地讲,就是解题的方法。 2.算法可解: 问题 程序 结果 算法可解 ★算法不等于程序,也不等于计算方法. 6.1 算法 3、算法的基本特征(五大特征) 输入(input):具有0个或多个输入(算法开始前的初始量) 算法施加到各个运算对象上 各具有初始状态 算法的起点 运算的结果与初始数据有关。 输出(output):至少产生一个输出,它们是算法执行完后的结果。 有穷性(finiteness):是指算法必须能在执行有限步骤后,有限时间内终止。即每条指令的执行次数和执行时间必须是有限的。 确定性(definiteness):指算法中的每一步骤必须是有明确的定义,即每条指令的含义都必须明确,无二义性。 可行性(effectiveness):针对实际问题设计的算法,人们总是希望能够得到满意的结果。但一个算法又总是在某个特定的计算工具上执行的,因此,算法在执行过程中往往要受到计算机工具的限制,使执行结果产生偏差。 举例:某计算工具具有7位有效数字(单精度计算) A=10^12, B=1, C=-10^12 计算和 A+B+C=10^12+1+(-10^12)=0 A+C+B=10^12+(-10^12) 在数学上,A+B+C=A+C+B 算法和计算机公式有差别。 算法:是一组严谨定义运算顺序的规则,并且每一个规则都是有效的、明确的,此顺序将在有限的次数下终止。 4.算法中对数据的运算和操作 算术运算:+、-、*、/等; 关系运算:、、=、、=、=等; 逻辑运算:AND、OR、NOT等; 数据传输:赋值、输入、输出等。 算法描述工具(从四种基本操作考虑) 流程图 专门的算法描述语言 自然语言 算法的主要特征: 着重于算法的动态执行,区别于传统的静态描述或按演绎方式求解问题的过程。 演绎方式 :数学推理; 计算机法则:使用一些最本的操作,通过对已知条件一步一步地加工和变换,从而实现解题目标。 5.算法的控制结构(算法中各操作之间的执行顺序) 顺序结构:最简单、最常用的基本结构。按照语句出现的先后顺序依次执行。是任何程序的主体基本结构。 选择结构:又称为分支结构,判断条件表达式的结果,决下执行哪一个分支,进而改变程序的流程。依据条件选择分支的结构称为选择结构。 循环结构:某一类问题可能需要重复多次执行完全一样的计算和处理方法,而每次使用的数据都按照一定的规律在改变。这种重复执行多次的结构称为循环结构。 6.算法的基本设计方法 列举法(穷举法) 基本思想:根据提出的问题,列举出所有可能的情况,并用问题中给定的条件检验哪些是需要,哪些是不需要的。“有多少种可能”或“是否存在”,又称为穷举法。 特点:算法比较简单。 不足:当列举的情况较多时,列举算法的工作量将会很大。因此,应该注意使方案优化,尽量减少运算工作量。 归纳法 基本思想:通过列举少量的特殊情况,经过分析,最后找出一般的规律。 特点:更能反映问题的本质,并且可以解决列举量为无限的问题。 不足:从一个实际问题中总结归纳出一般的规律,并不是一个容易的事情。 递推 基本思想:从已知的初始条件出发,逐步推出所要求的各中间结果和最后结果。本质上也属于归纳法。 递归 基本思想:为了降低问题的复杂程序,总是将问题分解,最后归结为一些最简单的问题。当解决了最后那些最简单的问题,再沿着原来分解的逆过程逐步进行综合,最后解决了问题。基础也是归纳。 递归分为直接递归和间接递归两种。 直接递归:一个算法P显示地调用自己; 间接递归:如果算法P调用另一个算法Q,而算法Q又调用算法P。 减半递推技术(二分查找法) 减半:将问题的规模减半,而问题的性质不变,又称为折半; 递推:指重复减半的过程; 减半递推技术:就是将问题的规模不断减半,直到问题解决为止。 回溯法 “试探”,通过对问的分析,找出一个解决问题的线索,然后沿着这个线索逐步试探,对于每一步的试探,若试探成功,就得到问题的解;若失败,不逐步回退,换别的路线再进行试探。 6.1.2 算法的复杂度 (1)时间复杂度 O(n) 时间频度 T(n) n:问题

文档评论(0)

***** + 关注
实名认证
文档贡献者

本账号下所有文档分享可拿50%收益 欢迎分享

1亿VIP精品文档

相关文档