数据结构C语言版.ppt
《数据结构C语言版.ppt》由会员分享,可在线阅读,更多相关《数据结构C语言版.ppt(53页珍藏版)》请在三一办公上搜索。
1、数据结构(C语言版),教 师:李伟生电 话:62471342Email:,Data Structure,2,总学时:32 讲课学时:24教材:数据结构C语言版严蔚敏、吴伟民-清华大学出版社 数据结构题集严蔚敏,清华大学出版社,参考书:数据结构(用面向对象方法与C+描述),殷人昆等,清华大学出版社,辅导每周五下午:信息科技大厦1901,课程安排,3,编程基础考研课程计算机等级考试课程程序员考试课程,课程重要性,4,第一章 绪论,1.1 数据结构的概念1.2 基本概念和术语1.3 抽象数据类型1.4 算法和算法分析,5,为什么要学习数据结构?什么是程序、软件?N.沃思(Niklaus Wirth)
2、教授提出:,1.1 数据结构的概念,程序=算法+数据结构以上公式说明了如下两个问题:(1)数据上的算法决定如何构造和组织数据(算法数据结构)(2)算法的选择依赖于作为基础的数据结构(数据结构算法)。软件=程序+文档(软件工程的观点),6,电子计算机的主要用途:早期:主要用于数值计算。后来:处理逐渐扩大到非数值计算领域(能处理多种复杂的具有一定结构关系的数据)。,1.1 数据结构的概念,7,数值计算解决问题的一般步骤:数学模型选择计算机语言编出程序测试最终解答。数值计算的关键是:如何得出数学模型(方程)?程序设计人员比较关注程序设计的技巧。非数值计算问题:数据元素之间的相互关系一般无法用数学方程
3、加以描述,1.1 数据结构的概念,8,例 书目自动检索系统,书目文件,9,例 井字棋,10,例 电话号码查询问题:(1)按顺序存储方式:须遍历表(2)按姓氏索引方式:索引要写出好的查找算法,取决于这张表的结构及存储方式。电话号码表的结构和存储方式决定了查找(算法)的效率。,非数值计算问题:,1.1 数据结构的概念,11,例 多叉路口交通灯管理问题,12,例 田径赛的时间安排问题(无向图的着色问题):设有六个比赛项目,规定每个选手至多可参加三个项目,有五人报名参加比赛(如下表所示)设计比赛日程表,使得在尽可能短的时间内完成比赛。,1.1 数据结构的概念,非数值计算问题:,13,(1)设用如下六个
4、不同的代号代表不同的项目:跳高 跳远 标枪 铅球 100米 200米A B C D E F(2)用顶点代表比赛项目不能同时进行比赛的项目之间连上一条边。(3)某选手比赛的项目必定有边相连(不能同时比赛)。,非数值计算问题:-田径赛的时间安排问题解法,1.1 数据结构的概念,14,A,E,B,F,D,C,只需安排四个单位时间进行比赛,15,在应用程序中涉及到各种各样的数据,如何在计算机中组织、存储、传递数据,需要讨论它们的归类及它们之间的关系,从而建立相应的数据结构,依此实现软件功能。综上,描述这类非数值计算问题的数学模型不是数学方程,而是树、表和图之类的数据结构。因此从广义上讲,数据结构描述现
5、实世界实体的数学模型及其上的操作在计算机中的表示和实现.,1.1 数据结构的概念,16,求解非数值计算的问题:主要考虑的是设计出合适的数据结构及相应的算法。即:首先要考虑对相关的各种信息如何表示、组织和存储?因此,可以认为:数据结构是一门研究非数值计算的程序设计问题中计算机的操作对象以及它们之间的关系和操作的学科。,1.1 数据结构的概念,17,数据结构课程的形成和发展:形成阶段:60年代初期,“数据结构”有关的内容散见于操作系统、编译原理和表处理语言等课程。1968年,“数据结构”被列入美国一些大学计算机科学系的教学计划。发展阶段:数据结构的概念不断扩充,包括了网络、集合代数论、关系等“离散
6、数学结构”的内容。70年代后期,我国高校陆续开设该课程。,1.1 数据结构的概念,18,数据结构课程 所处的地位:,1.1 数据结构的概念,19,数据(Data):对信息的一种符号表示。在计算机科学中是指所有能输入到计算机中并被计算机程序处理的符号的总称。数值型数据非数值型数据,1.2 基本概念和术语,20,数据元素(Data Element):数据的基本单位,在计算机程序中通常作为一个整体进行考虑和处理。一个数据元素可由若干个数据项组成。数据项是数据的不可分割的最小标识单位。,1.2 基本概念和术语,21,数据对象(Data Object):性质相同的数据元素的集合。是数据的一个子集。整数数
7、据对象 N=0,1,2,字母字符数据对象C=A,B,C,F,1.2 基本概念和术语,22,定义1-是相互之间存在一种或多种特定关系的数据元素的集合。定义2-按某种逻辑关系组织起来的一批数据(或称带结构的数据元素的集合)应用计算机语言并按一定的存储表示 方式把它们存储在计算机的存储器中,并在其上定义了一个运算的集合。,什么是数据结构,23,数据结构的三个方面的含义:逻辑结构-数据元素间抽象化的相互关系(简称为数据结构)。与数据的存储无关,独立于计算机,它是从具体问题抽象出来的数学模型。存储结构(物理结构)-数据元素及其关系在计算机存储器中的存储方式。是逻辑结构用计算机语言的实现,它依赖于计算机语
8、言。运算(算法),1.2 基本概念和术语,24,1.2 基本概念和术语,25,数据结构3方面含义之逻辑结构逻辑结构-划分方法一(1)线性结构-有且仅有一个开始和一个终端结点,并且所有结点都最多只有一个直接前趋和一个后继。例如:线性表、栈、队列、串(2)非线性结构-一个结点可能有多个直接前趋和直接后继。例如:树、图、多维数组、广义表等。,1.2 基本概念和术语,26,逻辑结构-划分方法二一、集合:结构中的数据元素除了同属于一种类型外,别无其它关系。二、线性结构:结构中的数据元素之间存在一对一的关系,如线性表、栈、队列。三、树型结构:结构中的数据元素之间存在一对多的关系,如树。四、图状结构或网状结
9、构:结构中的数据元素之间存在多对多的关系,如图。,1.2 基本概念和术语,27,四个基本结构集合线性结构树形结构 网状结构,28,user,线性结构,树形结构 树 二叉树 二叉排序树,29,堆结构,12,3,5,4,8,7,11,10,2,9,1,6,图结构 网络结构,30,数据结构3方面含义之存储结构存储结构两方面的内容:(1)数据元素自身值的表示(数据域)(2)该结点与其它结点关系的域(链域)四种基本的存储方法:(1)顺序存储方法(结构)(2)链接存储方法(链式存储结构)(3)索引存储方法(4)散列存储方法同一种逻辑结构可采用不同的存储方法(以上四种之一或组合),这主要考虑的是运算方便及算
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构 语言版
链接地址:https://www.31ppt.com/p-5354794.html