




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
数据结构与算法分析(C++版)夏艳2010年秋前言教材:数据结构与算法分析(C++版)(第二版)CliffordA.Shaffer著,张铭等译,电子工业出版社,2010年1月考核方式:平时成绩(40%)+期末考试(60%)其中,平时成绩=课堂考勤10%
+日常作业10%
+课程实验20%
第一章数据结构和算法1.1引言1.2数据结构的基本概念1.3问题、算法和程序1.4数学预备知识数据结构的发展及地位《数据结构》在计算机科学中是一门综合性的专业基础课。数据结构的地位计算机专业本科生必修的学位课程计算机专业研究生入学考试必考科目计算机软件技术资格和水平考试内容全国计算机等级考试(三级、四级)内容为操作系统、数据库系统、编译原理、计算机网络等后续课程提供了必要的知识基础为提高程序设计能力、逻辑思维能力和分析问题、解决问题的能力提供了必要的技能训练数据结构讨论的范畴NiklausWirthAlgorithm+DataStructures=programs程序设计:为计算机处理问题编制一组指令集算法:处理问题的策略数据结构:问题的数学模型例1书目自动检索系统
登录号:书名:作者名:分类号:出版单位:出版时间:价格:书目卡片书目文件按书名按作者名按分类号索引表线性表例2人机对奕问题树……..……..…...…...…...…...例3.旅行商问题---图乌鲁木齐兰州西安成都武汉郑州北京沈阳上海长沙广州1892676511659841900534842贵阳昆明1100902学习数据结构的必要性信息处理计算机功能越强大
尝试更复杂的问题
需要更高效的程序
研究数据结构和算法成为计算机科学的核心问题数据结构的选择算法效率:一种算法能在所要求的资源限制内将问题解决好,则称该算法是有效率的。资源限制:空间、时间算法代价:算法消耗的资源量。数据结构的选择步骤:分析问题,确定任何算法会遇到的资源限制确定必须支持的基本操作,并度量每种操作所受到资源限制选择最适合这些需求的数据结构数据结构的选择考虑的问题开始时将所有数据项都插入数据结构,or与其他操作混合一起插入?数据项能否删除?所有数据项是否按一个已定义好的顺序排列,是否允许其他查找方式?数据结构的选择效益、代价与数据结构每一个问题都有时间和空间约束,分析问题,寻找最优数据结构例子1.1第一章数据结构和算法
1.1引言1.2数据结构的基本概念1.3问题、算法和程序1.4数学预备知识1.2数据结构的基本概念数据(data):是描述客观事物的数字、字符以及其他能输入到计算机中并可被计算机程序处理的符号的集合。数据项:数据的不可分割的最小单位。类型(type):一组值的集合。例如,布尔类型由两个值TRUE和FALSE组成;整数也构成一个类型。数据类型:一种类型和定义在该类型上的一组操作。例如整数类型是某个区间上的整数集合(区间大小依赖于不同的计算机),定义在其上的操作为加、减、乘、除和取模等算术运算。1.2数据结构的基本概念抽象数据类型(ADT):是对数据类型的逻辑形式的规范化描述。一个ADT的定义并不涉及它的实现细节,这些实现细节对于ADT的用户是隐藏的。隐藏实现细节的过程称为封装(encapsulation)。数据结构:
是ADT的实现。按照逻辑关系组织起来的一批数据,按一定的存储方法把它存储在计算机中,
并在这些数据上定义了一个运算的集合。
ADT的例子(1)集合与集合的并、交、差运算可以定义为一个ADT一个ADT包含哪些操作由设计者根据需要确定例如,对于集合,如果需要,也可以把判别一个集合是否为空集或两个集合是否相等作为集合上的操作
ADT的例子(2)驾驶汽车的主要操作包括控制方向、加速和刹车几乎所有的汽车都通过转动方向盘控制方向,通过踩油门加速,通过踩车闸刹车汽车的这种设计可以看作是具有“控制方向盘”、“加速”和“刹车”操作的一个ADT两辆汽车可以用截然不同的方式实现这些操作但是大多数司机都能够驾驶许多不同的汽车因为ADT提供了一致的操作方法
逻辑形式和物理形式数据项有逻辑形式(logicalform)和物理形式(physicalform)两个方面逻辑形式:用ADT给出的数据项的定义物理形式:数据结构中对数据项的实现实现一个ADT时,是处理相关数据项的物理形式在程序中其他地方使用ADT时,涉及到相关数据项的逻辑形式数据类型ADT:类型操作数据项:
逻辑形式数据项:
物理形式数据结构:存储空间子程序数据项、抽象数据类型和数据结构之间的关系ADT定义了数据类型的逻辑形式数据结构是实现数据类型的物理形式第一章数据结构和算法
1.1引言1.2数据结构的基本概念1.3问题、算法和程序1.4数学预备知识1.3问题、算法和程序问题是一个需要完成的任务对应一组输入有一组相应的输出问题的定义不应包含有关怎样解决问题的限制问题的定义应该包含对任何可行方案所需资源的限制任何计算机程序只能使用可用的主存储器和磁盘空间必须在合理的时间内完成运行问题(续)可以把问题看作数学函数函数(function)是输入(即定义域,domain)和输出(即值域,range)之间的一种映射关系函数的输入可以是一个值或是一些信息这些值组成的输入称为函数的参数(parameter)参数的一组选定值称为问题的一个实例(instance)不同的实例可能产生相同的输出,但是对于问题的任何一个实例,只要把它作为给定输入,每次函数计算得到的输出就必然相同算法是指令的有限序列,其中每一条指令表示一个或多个操作如果将问题看作函数,那么算法就是把输入转换为输出把输入映射到输出一个问题可以用多种算法来解决算法的基本特性有限性一个算法必须总是在执行有限步之后结束确定性算法中的每一步都必须具有确切的含义,不会产生二义性可行性算法中描述的操作都是可以通过已经实现的基本运算执行有限次来实现的输入一个算法有零个或多个输入,这些输入取自某个特定的对象集合输出一个算法有一个或多个输出,这些输出是同输入有着某些特定关系的量程序是使用某种程序设计语言对一个算法的具体实现不是所有的计算机程序都是算法算法必须可以终止操作系统是一个程序,而不是算法算法的代价是算法运行所需要的计算机资源的量需要的时间资源的量称为时间代价需要的空间(即存储器)资源的量称为空间代价这个量应集中反映算法所采用的方法的效率,而与运行该算法的硬件、软件环境无关算法的代价是算法的效率的度量引入算法的代价这个概念是为了比较解决同一问题的不同算法的效率之间的差异第一章数据结构和算法
1.1引言1.2数据结构的基本概念1.3问题、算法和程序1.4数学预备知识1.4数学预备知识集合和关系对数递归
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 陕西师范大学《中学体育教材教法》2023-2024学年第一学期期末试卷
- SCI论文写作与投稿 第2版-课件 7-SCI论文摘要写作
- 陕西理工大学《艺术素养拓展(美术一)》2023-2024学年第二学期期末试卷
- 陕西省商洛市第3中学2025届高中毕业班第二次模拟考试语文试题含解析
- 陕西省度西安中学2024-2025学年3月高三线上自我检测试题英语试题含解析
- 陕西省渭南市韩城市2024-2025学年高三下学期第二次月考试题生物试题含解析
- 陕西省西安交通大学附中2025届高中毕业班综合测试(二)历史试题含解析
- 陕西省西安市莲湖区七十中2025届高三下学期期中联考物理试题(创新班)试题含解析
- 扁腺双切护理
- 小学生舌尖上的浪费教育
- 《中国医学大辞典》
- 全国工业产品生产许可证申请书
- 中层干部岗位竞聘报名表格评分表格评分标准
- 小学音乐西南师大五年级下册(2023年新编)第二单元新疆乐韵-敲手鼓的小巴郎教案
- 有限空间作业及应急物资清单
- 广西河池市隆友锌银铅锑矿区
- 新疆高速公路建设工程季节性施工方案
- 新版(七步法案例)PFMEA
- 《水泵房巡查流程》word版
- 电力时间同步监测系统V20
- 关于吴姓的历史和现状的研究报告
评论
0/150
提交评论