《数据结构(C语言描述)》第1章学习数据结构的意义课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《《数据结构(C语言描述)》第1章学习数据结构的意义课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构C语言描述 数据结构 语言 描述 学习 意义 课件
- 资源描述:
-
1、21世纪高等院校规划教材数据结构(C语言描述)ISDN 7-5084-3301-7斯庆巴拉斯庆巴拉 主编主编中国水利水电出版社中国水利水电出版社第一章第一章 学习数据结构课程学习数据结构课程的意义学习重点学习重点n掌握学习本课程的意义n掌握本课程的主体框架和讨论范围n掌握如何对算法进行描述和分析引入:引入:一般情况下,用计算机解决一个实际问题时,都是先对具体问题抽象,建立问题的求解模型,然后设计相应的算法,编写程序并上机调试,最后解决问题。n1.1 实例:高校选修课程管理实例:高校选修课程管理n1.2 数据结构的主要内容数据结构的主要内容n1.3 算法和算法分析算法和算法分析n本章总结本章总结
2、1.1 实例:高校选修课程管理实例:高校选修课程管理n1.1.1 问题描述问题描述n1.1.2 问题的分析问题的分析n1.1.3 学习本课程的意义学习本课程的意义1.1.1 问题描述问题描述 表1-1是一所学校学生选修课程的选修情况登记表。要求用计算机来完成对学生选修课程的全程管理。通常必备的功能有登记登记,修改修改、查查询询和打印打印等。在本例中重点完成查询功重点完成查询功能能。学号学号姓名姓名系别系别选修课程名选修课程名学学分分成绩成绩课程名课程名课程代码课程代码等级等级分数分数0351103王杰王杰计算机计算机摄影技术摄影技术5013 0351212李丽李丽计算机计算机电脑音乐电脑音乐5
3、021 0351220商立商立计算机计算机摄影技术摄影技术5013 0432233赵燕赵燕机械机械三维动画三维动画3032 0432118张欣张欣机械机械三维动画三维动画3032 0322140王芳王芳材料材料证券投资证券投资2053 表表1-1 某某学校学生选修课程情况登记表学校学生选修课程情况登记表 1.1.2 问题的分析问题的分析 利用计算机解决实际问题的步骤:利用计算机解决实际问题的步骤:n第一步:从具体问题抽象出一个适当的数据模型。n第二步:进行算法设计。n第三步:实现抽象数据类型定义,即从编程语言的角度确定抽象数据类型的存储形式和确定抽象数据类型中每一种操作的具体实现算法。n第四步
4、:编制相应的程序代码并进行调试。第一步:抽象数据模型一般包括三部分三部分:处理的数据对象、对象间的关系和需要实现的操作。常用以下格式描述:常用以下格式描述:ADT 选修课程 数据对象:数据对象:D=ai|ai记录类型,i=1,2,n,n0 数据关系:数据关系:R=Ri|Ri记录间关系,i=1,2,m,m0 基本操作:基本操作:DengjiList(&L)完成功能:对学生选修情况进行登记 EditList(&L)完成功能:对选修情况登记表进行修改 LocateList(&L,查询条件)完成功能:根据给定的查询条件,从登记表中查找满足条件的记录 PrintList(L)完成功能:打印学生选修情况登
5、记表 ADT选修课程第二步:根据上面给定的抽象数据类型定义,写出实现各种操作的算法描述算法描述。下面以查询操作为例给出伪代码表示:int LocateList(选修课程&L,查询条件)对给定的查询条件进行分析,确定是对表中哪个数据项进行查询;对表中元素按给定的查询条件进行查询;若查询成功,返回记录的位置;否则返回0值,表示表中不存在满足给定条件的记录;第三步:确定表中的记录的类型记录的类型(结构体),表在内存中存储方式存储方式(按输入顺序存放)。具体定义如下:struct kechengsrtuct/选修课程名类型定义选修课程名类型定义char *kechengming;/课程名int kec
6、hengdaima;/课程代码;struct chengjistruct /成绩类型定义成绩类型定义char *dengji;/成绩等级int fenshu;/分数;struct student /表中学生记录类型定义表中学生记录类型定义long int num;/学号char*name;/姓名char*xibie;/系别kechengstruct kechent;int xuefen;/学分chengjistruct chengji;表在内存中的存储类型定义:表在内存中的存储类型定义:struct sqlist student *A;/将记录顺序存放在一个一维数组中将记录顺序存放在一个一维数
7、组中int len;/表中记录的个数表中记录的个数;结论:结论:数据结构的实质就是一门研究非数值计算问题的程序设计中计算机的操作对象操作对象以及它们之间的关系关系和运算运算操作操作的一门学科。1.1.3 学习本课程的意义学习本课程的意义 n数据结构作为一门独立的课程在国外是从1968年开始设立的。n瑞士著名计算机科学家N.Wirth提出的著名公式“程序程序=算法算法+数据结构数据结构”。n数据结构是一门介于数学、计算机硬件和软件三者之间的核心课程。n用一句话概括用一句话概括:本课程就是从实际问题抽象出数据类型的手段。主要研究计算机所处理的数据对象、对象间存在的关系及进行的各种操作。1.2 数据
8、结构的主要内容数据结构的主要内容 n1.2.1 基本概念和术语 n1.2.2 数据结构定义 n1.2.3 逻辑结构的表示方法 1.2.1 基本概念和术语基本概念和术语 n数据数据是对客观事物的符号表示,是一种信息的载体,是所有能输入到计算机中并被识别、存储和加以处理的信息的总称。n数据元素数据元素是数据的基本单位。一个数据元素也可以由若干个数据项数据项组成。n数据对象数据对象是性质相同的数据元素的集合,是数据的一个子集。n数据类型数据类型是对计算机中表示的数据对象、对象特征及该数据对象上的一组操作的描述。n抽象数据类型抽象数据类型是指一个数学模型及定义在该数学模型上的一组操作。定义取决于它的逻
9、辑特性,与其在计算机内部如何表示(存储)和实现无关。1.2.2 数据结构定义数据结构定义 n数据结构数据结构是指相互间存在一种或多种特定关系的数据元素的集合。数据数据具有相同属性的数据元素的集合;结构结构数据元素间存在的一种或多种关系。n对一个给定的数据结构进行分析时,一般从它的逻辑结构、存储结构及对数据元素所进行的操作三个方面进行讨论。(本课程的主要讨论(本课程的主要讨论点)点)逻辑结构逻辑结构是对给定数据结构的一种描述方式,是从实际问题抽象出来的数据模型。主要描述数据元素,及元素之间存在的逻辑关系。通常按元素间存在的逻辑关系的不同按元素间存在的逻辑关系的不同特征特征,将数据结构分为四类分为
10、四类:集合结构集合结构 线性结构线性结构 树型结构树型结构 图型结构图型结构集合结构:集合结构:数据元素之间除了同属于一个集合之外,没有其他关系的数据结构。例子:从大街上随意的找五个人组成一个小组,编号分别为1、2、3、4、5,则这五个人之间除了属于同一组以外,相互间不存在任何的关系。组成集合的数据组成集合的数据元素之间不存在任元素之间不存在任何的关系何的关系线性结构:线性结构:数据元素之间存在“一对一”线性关系的数据结构。学号学号姓名姓名系别系别学分学分0351103王杰王杰计算机计算机30351212李丽李丽计算机计算机1例:例:学生基本情况登记表中每条学生记录都按一定的顺序排列,除了第一
展开阅读全文