数据结构 基本概念精品文稿.ppt
《数据结构 基本概念精品文稿.ppt》由会员分享,可在线阅读,更多相关《数据结构 基本概念精品文稿.ppt(40页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、数据结构 基本概念第1页,本讲稿共40页第一章第一章 基本概念基本概念什么是数据结构什么是数据结构数据结构的抽象层次数据结构的抽象层次算法定义算法定义性能分析与度量性能分析与度量第2页,本讲稿共40页“学生”表格 初等项:如学生性别、籍贯等,不能再分割的最小数据单位。初等项:如学生性别、籍贯等,不能再分割的最小数据单位。初等项:如学生性别、籍贯等,不能再分割的最小数据单位。初等项:如学生性别、籍贯等,不能再分割的最小数据单位。组合项:如一组成绩,可以再划分为物理成绩、化学成绩等更小的项。组合项:如一组成绩,可以再划分为物理成绩、化学成绩等更小的项。组合项:如一组成绩,可以再划分为物理成绩、化学
2、成绩等更小的项。组合项:如一组成绩,可以再划分为物理成绩、化学成绩等更小的项。第3页,本讲稿共40页 选课关系包含如下信息 学号 课程编号 成绩 学生选课系统中实体构成的网状关系第4页,本讲稿共40页UNIX文件系统的系统结构图在应用程序中涉及到各种各样的数据,为了存储它们,在应用程序中涉及到各种各样的数据,为了存储它们,组织它们,需要讨论它们的归类及它们之间的关系,从组织它们,需要讨论它们的归类及它们之间的关系,从而建立相应的数据结构,并依此实现要求的软件功能。而建立相应的数据结构,并依此实现要求的软件功能。第5页,本讲稿共40页数据:数据:信息的载体,是描述客观事物的数、字信息的载体,是描
3、述客观事物的数、字符、以及所有能输入到计算机中,被计算机程符、以及所有能输入到计算机中,被计算机程序识别和处理的符号的集合。序识别和处理的符号的集合。数值性数据数值性数据 如整数、实数、双精度数等如整数、实数、双精度数等如整数、实数、双精度数等如整数、实数、双精度数等主要用于工程和科学计算,及商业事务处理中使用。主要用于工程和科学计算,及商业事务处理中使用。主要用于工程和科学计算,及商业事务处理中使用。主要用于工程和科学计算,及商业事务处理中使用。非数值性数据非数值性数据 如字符串、多媒体信息(文字、如字符串、多媒体信息(文字、如字符串、多媒体信息(文字、如字符串、多媒体信息(文字、图形、语音
4、)等。图形、语音)等。图形、语音)等。图形、语音)等。数据对象:数据对象:数据的子集。具有相同性质的数据数据的子集。具有相同性质的数据成员(数据元素)的集合。成员(数据元素)的集合。整数数据对象整数数据对象整数数据对象整数数据对象 N N=0,=0,1,1,2,2,英文字母数据对象英文字母数据对象英文字母数据对象英文字母数据对象LETTER=A,B,ZLETTER=A,B,Z学生数据对象学生数据对象学生数据对象学生数据对象第6页,本讲稿共40页什么是数据结构?定义定义:一组数据对象一组数据对象及数据对象之间的及数据对象之间的关系关系组组成。记为:成。记为:Data_Structure=D,R
5、其中,其中,D是数据对象的有限集合,是数据对象的有限集合,R是该是该集合中所有数据对象之间的关系的有限集合。集合中所有数据对象之间的关系的有限集合。n n个网站之间的连通关系个网站之间的连通关系以最小代以最小代以最小代以最小代价将价将价将价将n n n n个个个个网站连通网站连通网站连通网站连通树形关系树形关系树形关系树形关系任一网站任一网站任一网站任一网站出现故障出现故障出现故障出现故障而整个网而整个网而整个网而整个网络畅通络畅通络畅通络畅通网状关系网状关系网状关系网状关系第7页,本讲稿共40页数据结构的分类 根据数据对象之间的关系不同,分为两大类:根据数据对象之间的关系不同,分为两大类:根
6、据数据对象之间的关系不同,分为两大类:根据数据对象之间的关系不同,分为两大类:线性结构线性结构非线性结构非线性结构线性结构中各个数据对象依次排列在一个线性序列中;线性结构中各个数据对象依次排列在一个线性序列中;线性结构中各个数据对象依次排列在一个线性序列中;线性结构中各个数据对象依次排列在一个线性序列中;非线性结构中各个数据对象不再保持在一个线性序列非线性结构中各个数据对象不再保持在一个线性序列非线性结构中各个数据对象不再保持在一个线性序列非线性结构中各个数据对象不再保持在一个线性序列中,每个数据对象可能与零个或多个其它数据对象有中,每个数据对象可能与零个或多个其它数据对象有中,每个数据对象可
7、能与零个或多个其它数据对象有中,每个数据对象可能与零个或多个其它数据对象有某种特定的联系。某种特定的联系。某种特定的联系。某种特定的联系。第8页,本讲稿共40页根据考虑问题的角度不同,分为两大类:根据考虑问题的角度不同,分为两大类:逻辑结构逻辑结构物理结构物理结构逻辑结构逻辑结构逻辑结构逻辑结构是指从解决问题出发,为实现必要的功能是指从解决问题出发,为实现必要的功能是指从解决问题出发,为实现必要的功能是指从解决问题出发,为实现必要的功能所建立的数据结构,属于用户视图,面向问题,根所建立的数据结构,属于用户视图,面向问题,根所建立的数据结构,属于用户视图,面向问题,根所建立的数据结构,属于用户视
8、图,面向问题,根据问题所要实现的功能建立;据问题所要实现的功能建立;据问题所要实现的功能建立;据问题所要实现的功能建立;物理结构物理结构物理结构物理结构是指数据应该如何在计算机中存放,是数是指数据应该如何在计算机中存放,是数是指数据应该如何在计算机中存放,是数是指数据应该如何在计算机中存放,是数据逻辑结构的存储方式,是属于具体实现的视图,据逻辑结构的存储方式,是属于具体实现的视图,据逻辑结构的存储方式,是属于具体实现的视图,据逻辑结构的存储方式,是属于具体实现的视图,面向计算机,根据问题所要求的响应速度、处理时面向计算机,根据问题所要求的响应速度、处理时面向计算机,根据问题所要求的响应速度、处
9、理时面向计算机,根据问题所要求的响应速度、处理时间、修改时间、存储空间和单位时间的处理量等建间、修改时间、存储空间和单位时间的处理量等建间、修改时间、存储空间和单位时间的处理量等建间、修改时间、存储空间和单位时间的处理量等建立。立。立。立。第9页,本讲稿共40页抽象数据类型数据类型数据类型 定义:定义:定义:定义:一组性质相同的值的集合一组性质相同的值的集合一组性质相同的值的集合一组性质相同的值的集合,以及定义于这个值集以及定义于这个值集以及定义于这个值集以及定义于这个值集合上的一组操作的总称合上的一组操作的总称合上的一组操作的总称合上的一组操作的总称.由用户定义,用以表示应用问题的由用户定义
10、,用以表示应用问题的数据模型,数据模型,由由基本的数据类型基本的数据类型组成组成,并包括并包括一组相关的服务一组相关的服务(或称操作)(或称操作)特征是使用与实现相分离,实行特征是使用与实现相分离,实行信息隐蔽信息隐蔽和和数据数据封装封装。在抽象数据类型设计时,把类型的声明与其实现分离开在抽象数据类型设计时,把类型的声明与其实现分离开在抽象数据类型设计时,把类型的声明与其实现分离开在抽象数据类型设计时,把类型的声明与其实现分离开来。来。来。来。第10页,本讲稿共40页抽抽象象数数据据类类型型第11页,本讲稿共40页严格区分抽象数据类型的两个不同视图严格区分抽象数据类型的两个不同视图从使用者角度
11、从使用者角度 只要了解该抽象数据类型的规格说明,就可以利用其公共只要了解该抽象数据类型的规格说明,就可以利用其公共只要了解该抽象数据类型的规格说明,就可以利用其公共只要了解该抽象数据类型的规格说明,就可以利用其公共界面中的服务来使用这个类型,而不必关心其物理实现,这界面中的服务来使用这个类型,而不必关心其物理实现,这界面中的服务来使用这个类型,而不必关心其物理实现,这界面中的服务来使用这个类型,而不必关心其物理实现,这样使用者可以在开发过程中抓住重点,集中精力考虑如何解样使用者可以在开发过程中抓住重点,集中精力考虑如何解样使用者可以在开发过程中抓住重点,集中精力考虑如何解样使用者可以在开发过程
12、中抓住重点,集中精力考虑如何解决应用问题,使问题得到简化。决应用问题,使问题得到简化。决应用问题,使问题得到简化。决应用问题,使问题得到简化。从实现者角度从实现者角度 把抽象数据类型的物理实现封装起来,有利于编码、测试把抽象数据类型的物理实现封装起来,有利于编码、测试把抽象数据类型的物理实现封装起来,有利于编码、测试把抽象数据类型的物理实现封装起来,有利于编码、测试以及将来修改。因为这样做可以使错误局部化,一旦出现错以及将来修改。因为这样做可以使错误局部化,一旦出现错以及将来修改。因为这样做可以使错误局部化,一旦出现错以及将来修改。因为这样做可以使错误局部化,一旦出现错误,其传播范围不至于影响
13、其它模块。误,其传播范围不至于影响其它模块。误,其传播范围不至于影响其它模块。误,其传播范围不至于影响其它模块。如果为了提高效率希望改进数据结构,可能需要改变抽象如果为了提高效率希望改进数据结构,可能需要改变抽象如果为了提高效率希望改进数据结构,可能需要改变抽象如果为了提高效率希望改进数据结构,可能需要改变抽象数据类型的物理实现,但只要界面中的服务的使用方式不变,数据类型的物理实现,但只要界面中的服务的使用方式不变,数据类型的物理实现,但只要界面中的服务的使用方式不变,数据类型的物理实现,但只要界面中的服务的使用方式不变,其它所有使用该数据类型的程序都可以不变,从而大大提高其它所有使用该数据类
14、型的程序都可以不变,从而大大提高其它所有使用该数据类型的程序都可以不变,从而大大提高其它所有使用该数据类型的程序都可以不变,从而大大提高系统稳定性。系统稳定性。系统稳定性。系统稳定性。第12页,本讲稿共40页 数据结构的抽象层次最高的数据抽象是一个聚集类,其作用是把所有的数据最高的数据抽象是一个聚集类,其作用是把所有的数据最高的数据抽象是一个聚集类,其作用是把所有的数据最高的数据抽象是一个聚集类,其作用是把所有的数据抽象关联在一起,代表数据结构,并给出数据结构都具抽象关联在一起,代表数据结构,并给出数据结构都具抽象关联在一起,代表数据结构,并给出数据结构都具抽象关联在一起,代表数据结构,并给出
15、数据结构都具有的操作有的操作有的操作有的操作初始化初始化初始化初始化(initialinitial)、插入插入插入插入(insertinsert)、删除、删除、删除、删除(deletedelete)和查找和查找和查找和查找(searchsearch)。第13页,本讲稿共40页线性聚类线性聚类线性表线性表 类中所有数据成员都按某种次序排列在一个序列中。类中所有数据成员都按某种次序排列在一个序列中。类中所有数据成员都按某种次序排列在一个序列中。类中所有数据成员都按某种次序排列在一个序列中。根据对聚集中元素存取方法的不同:根据对聚集中元素存取方法的不同:根据对聚集中元素存取方法的不同:根据对聚集中元
16、素存取方法的不同:直接存取类直接存取类直接存取类直接存取类 数组、记录、文件数组、记录、文件数组、记录、文件数组、记录、文件 直接存取某一指定项而不须先访问其前驱。直接存取某一指定项而不须先访问其前驱。直接存取某一指定项而不须先访问其前驱。直接存取某一指定项而不须先访问其前驱。顺序存取类顺序存取类顺序存取类顺序存取类 栈、队列、表栈、队列、表栈、队列、表栈、队列、表 只能从序列中第一个元素起,按序逐个访问到指定的元素。只能从序列中第一个元素起,按序逐个访问到指定的元素。只能从序列中第一个元素起,按序逐个访问到指定的元素。只能从序列中第一个元素起,按序逐个访问到指定的元素。广义索引类广义索引类广
17、义索引类广义索引类 散列表、词典散列表、词典散列表、词典散列表、词典“关键码关键码关键码关键码值值值值”偶对的集合。偶对的集合。偶对的集合。偶对的集合。第14页,本讲稿共40页非线性聚类非线性聚类所有数据元素与其它数据元素之间不存在简单的所有数据元素与其它数据元素之间不存在简单的所有数据元素与其它数据元素之间不存在简单的所有数据元素与其它数据元素之间不存在简单的线性关系。线性关系。线性关系。线性关系。根据关系的不同:根据关系的不同:根据关系的不同:根据关系的不同:层次聚集类层次聚集类层次聚集类层次聚集类 树,二叉树,堆树,二叉树,堆树,二叉树,堆树,二叉树,堆 按层次划分的数据元素的集合,指定
18、层次上元素可以有零个按层次划分的数据元素的集合,指定层次上元素可以有零个按层次划分的数据元素的集合,指定层次上元素可以有零个按层次划分的数据元素的集合,指定层次上元素可以有零个或多个处于下一层次上的直接后继。或多个处于下一层次上的直接后继。或多个处于下一层次上的直接后继。或多个处于下一层次上的直接后继。群聚集类群聚集类群聚集类群聚集类 集合,图集合,图集合,图集合,图 所有元素之间没有任何顺序关系。所有元素之间没有任何顺序关系。所有元素之间没有任何顺序关系。所有元素之间没有任何顺序关系。第15页,本讲稿共40页线性聚集类中各数据成员之间的线性关系树形结构树形结构树树 二叉树二叉树 二叉搜索树二
19、叉搜索树第16页,本讲稿共40页堆结构“最大最大”堆堆 “最小最小”堆堆第17页,本讲稿共40页群聚类图结构图结构 网络结构网络结构第18页,本讲稿共40页算法定义 定义:定义:定义:定义:一个有穷的指令集,这些指令为解决某一特定任务规定了一个有穷的指令集,这些指令为解决某一特定任务规定了一个有穷的指令集,这些指令为解决某一特定任务规定了一个有穷的指令集,这些指令为解决某一特定任务规定了一个运算序列。一个运算序列。一个运算序列。一个运算序列。特性:特性:特性:特性:输入输入输入输入 必须有必须有必须有必须有0 0 0 0个或多个输入,是算法开始运算前给于算法的个或多个输入,是算法开始运算前给于
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构 基本概念精品文稿 基本概念 精品 文稿
限制150内