- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
信息学奥赛-于都中学
信息学奥赛 辅导资料 于都中学微机备课组 目 录 1、数据结构基础知识……………………2 2、动态规划………………………………分支限界………………………………分治策略………………………………………………………………28 6、贪心算法………………………………………………51 8、附录——基础知识练习题参考答案…78 数据结构 数据结构是计算机专业基础课程之一,是十分重要的核心课程。计算机的所有系统软件和应用软件都要用到各种类型的数据结构。要想更好地运用计算机来解决实际问题,仅仅学习计算机语言而缺乏数据结构知识是远远不够的,而打好“数据结构”这门课程的扎实基础,对于学习计算机机专业的其他课程都是十分重要的。 ??? 随着计算机应用领域不断扩大,非数值计算问题占据了当今计算机应用的绝大多数,简单的数据类型已经远远不能满足需要,各数据元素之间的复杂联系已经不是普通数学方程所能表达的。因此,掌握好数据结构方面的知识,对于提高我们解决实际问题的能力将会有莫大的帮助。实际上一个好的程序无非是选择一个合适的数据结构和好的算法,而好的算法的选择很大程度上取决于描述实际问题的数据结构的选取。所以,学好数据结构,将是进一步提高我们程序设计的关键之一。所以通常我们在程序设计时,所遇到的首要问题就是:选择什么样的数据结构才合适呢?这个问题十分关键。下面我们就各种数据结构作一些引导。 线 性 表 数据表是最常用且比较简单的一种数据结构,它是由有限个元素组成的有序集合,每个元素由一个或多个数据项组成。 ?? 线性表具有如下的结构特点: ??? ①均匀性:虽然不同数据表的数据元素可以是各种各样的,但对于同一线性表的各数据必定具有相同的数据类型和长度。 ②有序性:各数据元素在线性表中的位置只取决于它们的序号,数据元素之间的相对位置是线性的,即存在唯一的“第一个”和“最后一个”的数据元素,除第一个和最后一个外,其他的元素前都只有一个数据元素(直接前趋)和后面只有一个数据元素(直接后继)。队列 ????? 抽象数据类型队列的定义 ??????? 和栈相反,队列(Queue)是一种先进先出(First In First Out,缩写为FIFO)的线性表。它只允许在表的一端进行插入,而在另一端删除元素。这和我们日常生活中的排队是一致的,最早进入队列的元素 最早离开。在队列中,允许插入的一端叫做队尾(rear),允许删除的一端则称为队头(front)。 ??????? 假设队列为q=(a1,a2,...an),那么,a1是队头元素,an则是队尾元素。队列中的元素是按照a1,a2,...an的顺序进入 的,推出队列也只能按照这个次序依次推出,也就是说,只有在a1,a2,...an-1都离开队列之后,an才能 推出队列。 如图所示: 堆栈 ??? 表达式求值 ?? ??? 表达式求值是程序设计语言编译中的一个最基本问题.它的实现是栈应用的一个典型例子.这里 介绍一种简单直观,广为使用的算法,通常成为算符优先法. ????? ?要把一个表达式翻译成正确求值的一个机器指令序列,或直接对表达式求值,首先要能够正确 解释表达式.要对表达式求值,首先要了解算术四则运算的规则.即: 1)??先乘除,后加减; 2)??从左算到右; 3)??先括号内,后括号外. ?????? ?算符优先法就是根据这个运算优先关系的规定来实现对表达式的编译或解释执行的. ??????? 任何一个表达式都是由数,运算符和界限符组成的,我们称它们为单词.为了叙述的简洁,我们 仅讨论简单算术表达式的求值问题.这种表达式只含加,减,乘,除等四种运算符.读者不难将它推 广到一般的表达式上. ???????? 我们把运算符和界限符统称为算符,它们构成的集合命名为OP.根据上述三条运算规则,在运算 的每一步中,任意两个相继出现的算符θ1和θ2之间的优先关系至多是下面三种关系之一; ?θ1θ2θ1的优先权低于θ2 ?θ1=θ2θ1的优先权等于θ2 ?θ1θ2θ1的优先权高于θ2 表3.1定义了算符之间的这种优先关系. ? ?????? ?为实现算符优先算法,可以使用两个工作栈.一个称作OPTR,用以寄存运算符;另一个称作POND ,用以寄存操作数或运算结果.算法的基本思想是: ? ?1)首先置操作数栈为空,表达式起始符#为运算栈的栈底元素; ?? 2)依此读入表达式中每个字符,若是操作数则进OPND栈,若是运算符,则和OPTR栈的栈顶 运算符比较优先权后? 作相应操作,直至整个表达式求值完毕(即OPTR栈的栈顶元素和当前读入的字符均为#). 以下算法描述了这个求值过程. FUNC exp_reduce:operandfype; {算术表达式求值的算符优先算法.假定从终端输入的表达式无语
您可能关注的文档
最近下载
- 附件视频监控存储升级项目要求及参数.doc VIP
- 【高中地理】区域地理:天气与气候,气温及分布规律课时2课件 2023-2024学年高二人教版(2019)地理选择性必修1.pptx VIP
- 2025年安全金融知识题库及答案.docx VIP
- 施工方案管理培训课件.docx VIP
- 【高中地理】区域地理:天气与气候,气温及分布规律课时1课件2023-2024学年高二人教版(2019)地理选择性必修1.pptx VIP
- 全新IMPA船舶物料指南(第7版)电子版.xls VIP
- 东方财富杯金融安全知识题库.docx VIP
- 2025年必威体育精装版详版征信报告个人信用报告样板模板word格式新版可编辑.docx
- 孙氏太极拳(孙禄堂原著孙剑云整理).pdf VIP
- 车辆抵押借款合同范本协议(2025版).docx VIP
文档评论(0)