



下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 4/4信息学奥赛辅导资料信息学奥赛辅导资料 湖南省桂阳三中信息组 目 录 1、数据结构基础知识2 2、动态规划17 3、分支限界19 4、分治策略21 5、排序算法28 6、贪心算法45 7、计算机基础知识练习题51 8、附录基础知识练习题参考答案78 1 数据结构 数据结构是计算机专业基础课程之一,是十分重要的核心课程。计算机的所有系统软件和应用软件都要用到各种类型的数据结构。要想更好地运用计算机来解决实际问题,仅仅学习计算机语言而缺乏数据结构知识是远远不够的,而打好“数据结构”这门课程的扎实基础,对于学习计算机机专业的其他课程都是十分重要的。 随着计算机应用领域不断扩大,非数值计算问题占
2、据了当今计算机应用的绝大多数,简单的数据类型已经远远不能满足需要,各数据元素之间的复杂联系已经不是普通数学方程所能表达的。因此,掌握好数据结构方面的知识,对于提高我们解决实际问题的能力将会有莫大的帮助。实际上一个好的程序无非是选择一个合适的数据结构和好的算法,而好的算法的选择很大程度上取决于描述实际问题的数据结构的选取。所以,学好数据结构,将是进一步提高我们程序设计的关键之一。所以通常我们在程序设计时,所遇到的首要问题就是:选择什么样的数据结构才合适呢?这个问题十分关键。下面我们就各种数据结构作一些引导。 线 性 表 数据表是最常用且比较简单的一种数据结构,它是由有限个元素组成的有序集合,每个
3、元素由一个或多个数据项组成。 线性表具有如下的结构特点: 均匀性:虽然不同数据表的数据元素可以是各种各样的,但对于同一线性表的各数据必定具有相同的数据类型和长度。 有序性:各数据元素在线性表中的位置只取决于它们的序号,数据元素之间的相对位置是线性的,即存在唯一的“第一个”和“最后一个”的数据元素,除第一个和最后一个外,其他的元素前都只有一个数据元素(直接前趋)和后面只有一个数据元素(直接后继)。 队列 ? 抽象数据类型队列的定义 和栈相反,队列(Queue)是一种先进先出(First In First Out,缩写为FIFO)的线性表。 它只允许在表的一端进行插入,而在另一端删除元素。这和我们
4、日常生活中的排队是一致的,最早进入队列的元素 最早离开。在队列中,允许插入的一端叫做队尾(rear),允许删除的一端则称为队头(front)。 2 假设队列为q=(a1,a2,.an),那么,a1是队头元素,an则是队尾元素。队列中的元素是按照a1,a2,.an的顺序进入 的,推出队列也只能按照这个次序依次推出,也就是说,只有在a1,a2,.an-1都离开队列之后,an才能 推出队列。 如图所示: 堆栈 ? 表达式求值 表达式求值是程序设计语言编译中的一个最基本问题.它的实现 是栈应用的一个典型例子.这里 介绍一种简单直观,广为使用的算法,通常成为算符优先法 要把一个表达式翻译成正确求值的一个
5、机器指令序列,或直接对表达式求值,首先要能 够正确 解释表达式.要对表达式求值,首先要了解算术四则运算的规则.即: ? 1) 先乘除,后加减; ? 2) 从左算到右; ? 3) 先括号内,后括号外. 算符优先法就是根据这个运算优先关系的规定来实现对表达式的编译或解释执行的. 任何一个表达式都是由数,运算符和界限符组成的,我们称它们为单词.为了叙述的简洁,我们 仅讨论简单算术表达式的求值问题.这种表达式只含加,减,乘,除等四种运算符.读者不难将它推 广到一般的表达式上. 我们把运算符和界限符统称为算符,它们构成的集合命名为OP.根据上述三条运算规则,在运算 的每一步中,任意两个相继出现的算符1和
6、2之间的优先关系至多是下面三种关系之一; 121的优先权高于2 3 表3.1定义了算符之间的这种优先关系. 为实现算符优先算法,可以使用两个工作栈.一个称作OPTR,用以寄存运算符;另一个称作POND ,用以寄存操作数或运算结果.算法的基本思想是: ? 1)首先置操作数栈为空,表达式起始符为运算栈的栈底元素; ? 2)依此读入表达式中每个字符,若是操作数则进OPND栈,若是运算符,则和OPTR 栈的栈顶 运算符比较优先权后 作相应操作,直至整个表达式求值完毕(即OPTR栈的栈顶元素和当前读入的字符均为 以下算法描述了这个求值过程. FUNC exp_reduce:operandfype; 算术表达式求值的算符优先算法.假定从终端输入的表达式无语法错误,以作结束符. 设OPTR和OPND分别为运算符栈和操作数栈,OP为运算符的集合 INISTACK(OPTR);PUSH(OPTR,#);INISTACK(OPND); 栈初始化,并在运算符栈的栈底压入表达式左端的虚设字符# read(w);从终端接受一个字符 W
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 雨水收集系统怎么做
- 项目管理规章制度的构建与执行
- 申报项目可行性分析
- 安全文明施工措施
- 时尚产业数字化营销及产品创新设计
- 基于大数据的金融风险管理模型构建与应用研究
- 画廊装修安全责任承诺
- 施工现场临时用电措施安全方案完整版
- 可以编写项目可行性研究报告的机构
- 三农村电商助力农民扩大就业创业方案
- 河北省衡水市阜城实验中学2024-2025学年高二下学期3月月考地理试题(含答案)
- 2024年四川省公务员《申论(县乡)》试题真题及答案
- 2025年度事业单位招聘考试公共基础知识模拟试卷及答案(共四套)
- 创业要点计划月历表书项目策划(25篇)
- 酒店Opera前台操作流程
- 专题07 综合性学习【知识精研】中考语文二轮复习
- 2025年江西陶瓷工艺美术职业技术学院单招职业技能测试题库1套
- 《老年肺炎临床诊断与治疗专家共识(2024年版)》临床解读
- 人教版 八年级英语下册 Unit 2 单元综合测试卷(2025年春)
- 2025年无锡商业职业技术学院高职单招高职单招英语2016-2024历年频考点试题含答案解析
- 2025年中国金属加工液市场调查研究报告
评论
0/150
提交评论