数据结构及算法.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据结构 课程名称:数据结构 预修课程: C语言, 高等数学 教材:1.《数据结构》(C语言版)清华大学出版社 2.《数据结构题集》(C语言版)清华大学出 版社 教师:吴志芳 关于习题与实验题 教材中习题放在每章结束,但学生在每周都应该完成与上课内容相应的部分小题 有精力的同学应该思考《数据结构题集》中未列为必做的练习,这会有助于理解课程内容 习题包括理论习题和上机实验题 实验题要求用C语言编写,并在计算机上调试通过 第一章 绪论 1.1 什么是数据结构 1.2 基本概念和术语 1.3 抽象数据类型的表示与实现 1.4 算法和算法分析 1.1 什么是数据结构 计算机解决问题的步骤 实际问题 --- 数学模型---算法---程序--- 结果 工程师 数学家 程序员 计算机的用途 科学计算(数值运算): 解方程(组), 函数求值, 概率统计等 非数值运算: 字符, 表格, 图象, 声音等 计算机的用途---数值运算 水库大坝的应力计算 预报人口增长 天气预报 计算机的用途---数值问题 例 已知:游泳池的长len和宽wide,求面积area ◆建模型: 问题涉及的对象:游泳池的长len 宽wide,面积area; 对象之间的关系:area=len?wide ◆设计 求解问题的方法 ◆ 编程 main ( ) { int len, wide ,area ; scanf (“%d %d%\n”, l,w); area=len*wide ; printf (“area=%d”,area); } 计算机的用途---非数值运算 书目检索系统 人机对奕问题 多叉路口交通灯管理问题 田径赛的时间安排问题(无向图的着色问题) 设有六个比赛项目,规定每个选手至多可参加三个项目,有五人报名参加比赛(如下表所示)设计比赛日程表,使得在尽可能短的时间内完成比赛。 (1)设用如下六个不同的代号代表不同的 项目: 跳高 跳远 标枪 铅球 100米 200米 A B C D E F (2)用顶点代表比赛项目 不能同时进行比赛的项目之间连上一条边。 (3)某选手比赛的项目必定有边相连(不能同时比赛)。 数据结构的定义 描述非数值计算问题的模型是--- 如表、树、图之类的数据结构 数据结构是--- 研究计算机的操作对象(数据)以及它们之间的关系和操作等的学科. 《数据结构》在计算机科学中所处的地位 课程目的 能够分析研究计算机加工的对象的特性,获得其逻辑结构,根据需求,选择合适存贮结构及其相应的算法; 学习一些常用的算法; 复杂程序设计的训练过程,要求编写的程序结构清楚和正确易读; 初步掌握算法的时间分析和空间分析技术; 1.2 基本概念和术语 数据:计算机程序处理的符号的总称。 数据元素:数据的基本单位。 数据记录与数据项:数据的不可分割的最小单位。 数据对象:性质相同的数据元素的集合。 数据结构:相互间存在一种或多种关系的数据元素的集合。 数据类型与抽象的数据类型 数据结构 逻辑结构:线性结构(一对一)linearity (数据之间的 树形结构(一对多)tree 相互联系) 图状或网状结构(多对多)graph 集合结构(同属一个集合)set 物理结构(存储结构): (在计算机中的存储方式) 顺序存储(利用在存储器中相对 位置之间的特定关系) 链式存储(利用附加的“指针”) 索引、散列等 逻辑结构和物理结构 算法的设计取决于选定的逻辑结构 算法的实现依赖于采用的存储结构 数据结构的数学定义 数据结构是一个二元组 Data_Structure = (D,S) D – 数据元素的有限集合 S – 定义在D上的关系的有限集合 例如 Complex = (C,R) C = {(c1,c2)| c1,c2是实数} R = {P|P是定义在C上的关系,c1,c2表示c1是实部,c2是虚部} 数据类型与抽象的数据类型 数据类型(Data Type): 值的集合以及定义在这个集合上的一组操作。 例如: C语言中的整数类型 抽象数据类型(ADT) 数学模型以及定义在该模型上的一组操作。 与其在计算机中的表示和实现无关。 ADT可用三元组表示:(D,S

文档评论(0)

xiaozu + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档