计算机二级公共基础知识教程.pdfVIP

  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文档。上传文档
查看更多
第 1 章 数据结构与算法 学习目标与要求 1.了解算法的基本概念和一些常用的算法,学会计算算法的时间复杂度; 2.掌握数据结构的基本概念,并了解数据的逻辑结构和存储结构,学会利用图形的方式表示数据结构; 3.了解线性表的基本概念,并掌握线性表的顺序存储结构以及顺序存储的线性表的基本运算; 4 .了解栈和队列的基本概念,并掌握它们的基本运算; 5.了解线性链表的基本概念,并掌握线性链表的基本运算,同时,了解循环链表的基本概念和基本操作; 6.理解树的概念,尤其是二叉树的基本概念和相关性质,掌握二叉树的存储结构和遍历技术; 7.掌握查找技术,学会利用顺序查找和二分查找在数列中查找指定的数据; 8.学会利用相关的排序技术实现无序数列的排序操作。 1.1 算法 1.1.1 算法的基本概念 算法是指解题方案的准确而完整的描述。即是一组严谨地定义运算顺序的规则,并且每一个规则都是有效的, 且是明确的,没有二义性,同时该规则将在有限次运算后可终止。 1.算法的基本特征 (1)可行性 :由于算法的设计是为了在某一个特定的计算工具上解决某一个实际的问题而设计的,因此,它 总是受到计算工具的限制,使执行产生偏差。 (2 )确定性 :算法的设计必须是每一个步骤都有明确的定义,不允许有模糊的解释,也不能有多义性。 (3)有穷性 :即在一定的时间是能够完成的,即算法应该在计算有限个步骤后能够正常结束。 (4 )拥有足够的情报 :算法的执行与输入的数据和提供的初始条件相关,不同的输入或初始条件会有不同的 输出结果,提供准确的初始条件和数据,才能使算法正确执行。 2.算法的基本要素 (1)算法中对数据的运算和操作 算法实际上是按解题要求从环境能进行的所有操作中选择合适的操作所组成的一组指令序列。 即算法是计算机 所能够处理的操作所组成的指令序列。 (2 )算法的控制结构 算法的功能不仅取决于所选用的操作,而且还与各操作之间的顺序有关。 在算法中,操作的执行顺序又称算法的控制结构,一般的算法控制结构有三种:顺序结构、选择结构和循环结 构。常用的描述算法的工具有:流程图、 N-S 结构图和算法描述语言等。 3.算法设计的基本方法 (1)列举法 :根据提出的问题,列举出所有可能的情况,并用问题中给定的条件检验哪些是满足条件的,哪 些是不满足条件的。列举法通常用于解决“是否存在”或“有哪些可能”等问题。例如: “百钱买百鸡”、“鸡兔同 笼”等。 (2 ) 归纳法 :通过列举少量的特殊情况,经过分析,最后找出一般的关系。归纳是一种抽象,即从特殊现象 中找出一般规律。 (3)递推 :从已知的初始条件出发,逐次推出所要求的各个中间环节和最后结果。其中初始条件或问题本身 已经给定, 或是通过对问题的分析与化简而确定。 递推的本质也是一种归纳, 递推关系式通常是归纳的结果。 例如, 裴波那契数列,是采用递推的方法解决问题的。 (4 )递归 :在解决一些复杂问题时,为了降低问题的复杂程序,通常是将问题逐层分解,最后归结为一些最 简单的问题。这种将问题逐层分解的过程,并没有对问题进行求解,而只是当解决了最后的问题那些最简单的问题 后,再沿着原来分解的逆过程逐步进行综合,这就是递归的方法。递归分为直接递归和间接递归两种方法。如果一 个算法直接调用自己,称为直接递归调用;如果一个算法 A 调用另一个算法 B,而算法 B 又调用算法 A,则此种递 归称为间接递归调用。 (5)减半递推技术 :减半递推即将问题的规模减半,然后,重复相同的递推操作。例如,一元二次方程的求 解。 (6) 回溯法 :有些实际的问题只能采用试探的方法,通过对问题的分析,找出解决问题的线索,然后沿着这 个线索进行试探,如果试探成功,就得到问题的解,如果不成功,再逐步回退,换别的路线进行试探。这种方法, 即称为回溯法。如人工智能中的机器人下棋。 1.1.2 算法复杂度 1.时间复杂度 即实现该算法需要的计算工作量。算法的工作量用算法所执行的基本运算次数来计算。同一个问题规模下,如 果算法执行所需要的基本次数取决于某一特定输入时,可以用以下两种方法来分析算法的工作量: (1)平均性态:用各

文档评论(0)

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

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

1亿VIP精品文档

相关文档