第6章数据结构重点分析.ppt

第6章 数据结构 重点: 基本概念和术语 线性结构 难点: 数据存储结构 6.1 概念和术语 3)树形结构 数据元素之间存在着一对多的关系,例如树、二叉树和森林等。例如:一个单位的工作人员之间的关系。 6.1 概念和术语 4)图状结构 数据元素之间存在着多对多的关系,也称网状结构,如无向图和有向图等。例如:高速公路交通图。 6.2.1 线性表 1、线性表(Linear List) : 是由n(n≥0)个数据元素(结点)a1,a2, …an组成的有限序列。该序列中的所有结点具有相同的数据类型。其中数据元素的个数n称为线性表的长度。 当n=0时,称为空表。 当n0时,将非空的线性表记作: (a1,a2,…an) 6.2.1 线性表 1、线性表(Linear List) : a1称为线性表的首结点,an称为线性表尾结点。 a1,a2,…ai-1都是ai(2≦i≦n)的前驱, 其中ai-1是ai的直接前驱; ai+1,ai+2,…an都是ai(1≦i≦n-1)的后继, 其中ai+1是ai的直接后继。 6.2.1 线性表 2、线性表的顺序存储 线性表的顺序存储是指用一组地址连续的存储单元依次存储线性表中的各个元素。使得逻辑结构上相邻的数据元素存储在相邻的物理存储单元。 采用顺序存储结构的线性表通常称为顺序表。 高级语言中采用数组来表示线性表的顺序存储。 6.2.1 线性表 2、线性表的顺序存储 (2)顺序表的插入操作 要在第i(1≤i≤n)个元素之前插入一个新元素时,首先要将第i个到第n个元素依次后移一位,然后将新元素插入到第i项。插入结束后,线性表的长度就增加了1。 6.2.1 线性表 2、线性表的顺序存储 (3)顺序表的删除操作 要删除第i(1≤i≤n)个元素时,则要从第i + 1个元素开始,直到第n个元素之间共n–i个元素依次向前移动一个位置。删除结束后,线性表的长度就减小了1。 6.2.1 线性表 2、线性表的顺序存储 顺序存储的特点: 无需为表示结点间的逻辑关系而增加额外的存储空间 。 顺序存储使线性表具有随机访问的特点。 进行插入、删除操作时需大量移动数据元素,效率较低 。 6.2.1 线性表 3、线性表的链式存储 线性表的链表存储可用连续或不连续的存储单元来存储线性表中的元素,但是元素之间的逻辑关系需要用“指针”来指示。 分配给每个结点的存储单元一般分为两个域: 一个域用来存储数据元素的信息,称为数据域 ; 另一个域用来存储直接后继结点的地址,称为指针域。 6.2.1 线性表 3、线性表的链式存储 (1)在线性链表中查找指定的元素 在非空线性链表中寻找包含元素值x的结点 : 从头指针指向的结点开始向后沿指针进行扫描,直到后面已经没有结点或下一个结点的数据域为x为止。 6.2.1 线性表 3、线性表的链式存储 (2)线性链表的插入操作 (3)线性链表的删除操作 6.2.1 线性表 3、线性表的链式存储 链式存储的特点: 由于增加了结点的指针域,空间开销比较大 。 链表失去了数组随机读取的优点 。 进行插入、删除操作时不需大量移动数据元素,效率较高。 6.2.2 栈(Stack) 2、顺序栈进栈和出栈操作 6.3.1 树的定义 有序树:一棵树中结点的各子树从左到右是有次序的,即若交换了某结点各子树的相对位置,则构成不同的树,则称为有序树。 无序树:反之,若结点各子树可互换位置,则称为无序树。 森林:零棵或有限棵不相交的树的集合成为森林。 6.6.1 文件 文件(File)通常指的是存储在外存上性质相同的记录的集合,记录是文件中可以存取的数据基本单位。 按记录类型不同分为两类: 操作系统的文件 一维的连续的字符序列、无结构、无解释。 文件中的信息被分为若干组,每个字符组是一个记录。 数据库文件 带有结构的记录的集合。记录由一个或多个数据项组成。 记录是文件中可以存取的数据基本单位,数据项是文件中可以使用的数据最小单位。 6.6.1 文件 常见的文件组织方式: 顺序文件 索引文件 散列文件 多关键字文件 6.6.3索引文件 查找时先查找索引表,如果索引表上存在该记录,则根据索引表指示读取外存上该记录;否则说明不存在该记录,也就不需要访问外存。 数据区 索引表 2 3 1 4 物理记录号 计算机应用 高敬 201001198 计算机网络 王婷 201002162 计算机网络 张成刚 201002186 计算机应用 吴金华 201001001 专业 姓名 学号 201002186 201002162 201001198 201001001 学号 1 3 2 4 物理记录号 作业 1、什么是线性表,特点是什么? 2、什么是顺序存储结构和链式存储结构? 3、什么是二叉树,完全二叉树和满二叉树? 4、什么

文档评论(0)

1亿VIP精品文档

相关文档