- 1、本文档共10页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
判断判断操作用来检查栈内数据是否为空,返回结果是一个逻辑值:真或假。如果栈顶和栈底重合,说明堆栈为空。0102定义对于由N个数据元素构成的一个线性序列,如果在其固定的一端只允许插入数据元素,且在另一端只允许删除数据元素,则这种逻辑结构的数据结构称为队列(queue)。把允许插入的一端叫队尾(rear),把只允许删除的一端叫队首(front)。6.3.4队列队列的基本运算主要有:入队、出队和判断。1入队入队是在队列中插入一个新数据元素的过程,插入在队尾进行,新的元素成为队尾,。2出队出队是在队列中删除一个数据元素的过程,删除在队首进行并把出来的数据传递给用户程序。32.运算01判断:判断操作用来检查队列是否为空,返回结果是一个逻辑值:真或假,如图。023.循环队列的实现定义树形数据结构中,每个数据元素称为是一个节点,除了一个惟一的所谓根节点外,其他每个节点都有且只有一个父节点,每个元素可以有多个子节点。树主要用在大型、动态列表的搜索,人工智能系统和编码算法等问题中。6.3.5树树常见的基本运算有:插入、删除和遍历。插入在树中合适的位置,添加一个节点,通常插入新的节点后,仍然应该保持该树本身所具有的性质。删除在树中找到满足条件的节点并删除。通常删除节点后,也要保持该树本身所具有的性质。遍历按照某种顺序或规则,对树中的每个节点逐一进行访问的过程。2.运算3.实现定义在图形结构中,每个数据元素称为一个顶点,任意两个顶点之间都可能相关,这种相关性用一条边来表示,顶点之间的邻接关系可以是任意的。图可以用来描述计算机网络的拓扑结构,以及图论中获得最小生成树。除此以外,图在自然科学、社会科学和人文科学等许多领域也都有着非常广泛的应用。6.3.6图常见的基本运算有:添加顶点、删除顶点、添加边、删除边和遍历图。添加顶点在图中添加新的顶点,新添加的顶点通常是孤立的节点,还没有边连接。删除顶点在图中去掉一个顶点,显然,在去掉一个顶点的同时还应该删除与该顶点所连接的边。2.运算010203③添加边根据指定的顶点,添加相应的边。④删除边根据指定的顶点,删除相应的边。⑤遍历图按照一定的规则,对图中的每个数据顶点逐一进行访问。3.实现图通常用数组和链表两种结构加以实现。对于各个顶点和顶点之间的关系分别采用邻接矩阵和邻接列表来进行描述。算法的定义准确地说,“算法(Algorithm)是一组明确的、可以执行的步骤的有序集合,它在有限的时间内终止并产生结果”。算法和数据结构之间存在密切联系。数据结构是算法的基础,数据结构的不同,通常的采用的算法也会不同;当问题的求解算法一旦确定,也可以选择合适的数据结构加以实现,合理的数据结构能够简化算法。6.4.1概述6.4算法分析基础一个算法必须在有限个操作步骤内以及合理的时间内执行完成。有穷性(可终止性)算法中描述的操作步骤都是可执行的,并能最终得到确定的结果。有效性(可执行性)算法中的每一个操作步骤都必须有明确的含义,不允许存在二义性。确定性一个算法应该有零个或多个输入数据、有1个或多个输出数据。输入及输出2.算法的特性自然语言表示自然语言就是人们日常使用的语言,可以是中文、英文等。例如,求三个数中最大值的问题,可以描述为:比较前两个数;将①中较大的数与第三个数进行比较;步骤②中较大的数即为所求。3.算法的描述流程图是用规定的一组图形符号、流程线和文字说明来表示算法的一种表示方法。(2)流程图表示算法也可以用某种具体的计算机程序设计语言来表示,如,C、C++、Java等都可以用来描述算法。(4)程序设计语言形式伪码用一种介于自然语言与计算机语言之间的文字和符号来描述算法。比计算机语言形式灵活,格式紧凑,没有严格的语法。(3)伪码010203例如,求两个数的较大者。用伪代码描述算法如下:Input:twonumbers:a,b1. if(thefirstnumberaisgreaterthanorequaltothesecondnumberb)then1.1returnaelse1.2returnbendifend6.4.2常用算法介绍递归算法如果一个过程直接或间接地调用它本身,则称该过程是递归的。例如,数学阶乘运算,可以用递归算法定义函数f(n)如下:递归的情况包括所谓的递推法和分治法。01递推是从已知的初始条件出发,逐次推导出最后所
文档评论(0)