(本科)第6章电子教案ppt课件.pptx





《(本科)第6章电子教案ppt课件.pptx》由会员分享,可在线阅读,更多相关《(本科)第6章电子教案ppt课件.pptx(53页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、课程主讲人:(本科)第6章电子教案ppt课件我们毕业啦其实是答辩的标题地方大学计算机基础计算机基础教学系第6章 数据结构数据结构是计算机存储和组织数据的方式。通常情况下,选择合适的数据结构可以带来更高的运行或存储效率。本章内容本章内容6.1 数据结构概述6.2 线性结构6.3 树形结构6.4 查找技术6.5 排序技术p 数据结构是相互之间存在某种特定关系的数据元素的集合。6.1 数据结构概述 数据数据的逻辑结构的逻辑结构 数据数据的存储结构的存储结构 数据数据的运算的运算:线性线性结构结构 非线性非线性结构结构顺序顺序存储存储 链式链式存储存储 线性表线性表栈栈队列队列树形结构树形结构图形结构
2、图形结构数据结构的三个方面数据结构的三个方面 散散列存储列存储 索引存储索引存储遍历、查找、插入、删除、排序遍历、查找、插入、删除、排序等。等。6.2 线性结构p 定义:线性结构是多个数据元素的有序集合,线性结构只有一个根结点,且每个结点最多有一个直接前驱和一个直接后继。p 常用的线性结构有: 线性表,栈,队列等一、 线性表p定义:线性表是由n(n0)个数据元素组成的一个有限序列,表中除了第一个数据元素外,有且只有一个前驱,除了最后一个数据元素外有且只有一个后继。p线性表的分类: 顺序表(顺序存储) 链表 (链式存储)比如:(a1,a2,a3,a4,a5)1. 1.顺序表顺序表p定义:顺序表是
3、用一组地址连续的存储单元依次存储线性表的数据元素,让逻辑上相邻的数据元素在物理位置上也相邻。p顺序表的运算:插入、删除、修改、查找、排序等a1 a2 a3 a4 a51. 1.顺序表顺序表 顺序表的插入运算10 15 20 30 40a【例1】在下列顺序表中插入50,使数据元素仍然有序。807060501. 1.顺序表顺序表 顺序表的删除运算10 15 20 30 40a【例2】在下列顺序表中删除数据元素50807050 60p 小结:顺序表在进行插入和删除运算时可能要移动大量的数据,顺序表仅适用于小线性表和元素不常变动的大线性表。2. 2.链表链表p 定义:链表指的是用一组任意的存储单元(结
4、点)来存储线性表中的数据元素,这些结点可以连续,也可以不连续。p 常用的链表:线性链表(单链表),循环链表,双向链表。 线性链表的结点由一个数据域和一个指针域组成。 双向链表的结点由一个数据域和两个指针域组成。 data next线性线性链表结点链表结点priornextdata双向链表结点双向链表结点链表链表p 线性链表a1 8HEADa2 1a3 7a4 0p 循环链表a1 8HEADa2 1a3 7a4 4HEAD0 a1 84 a2 18 a3 71 a4 0p 双向链表线性链表线性链表4718a1 8HEADa2 1a3 7a4 0 线性链表的插入运算【例3】在结点a2的后面插入一个
5、结点aa515线性链表线性链表4718a1 8HEADa2 1a3 7a4 0 线性链表的删除运算【例4】删除线性链表中的结点aa 155p 小结:链表的插入和删除操作简单,适用于元素变动频繁的大线性表。二、栈p 定义:栈可以看成是一种只能在一端进行插入与删除操作的线性表。栈是按照“先进后出”或“后进先出”的原则组织数据的,因此,栈也被称为“先进后出”表或“后进先出”表。栈顶栈顶栈底栈底toptopbottombottoman. . . .a2a1栈栈p 栈的分类:顺序栈和链栈二、栈p 栈的常用操作:进栈、出栈。bottombottomtoptopA AB BC CD DA AB B A A、
6、B B、C C、D D进进栈栈C CD Dtoptoptoptoptoptoptoptopbottombottomtoptoptoptop D D、C C出出栈栈toptopp 栈的应用栈的应用 在计算机中,栈常用来进行表达式求值和实现递归过程等。二、二、栈栈p定义:队列可以看成是一种只能在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作的线性表。队列也称“先进先出”表或“后进后出”表。p队列的分类:顺序队列、循环队列和链队列。ABCDfrontfrontrearrear入队入队出队出队三、队列1. 1.顺序队列顺序队列ABCDfrontfrontrearrearrea
7、rrearrearrear rearrear A、B、C、D入队rearrearp 顺序队列是在内存中按顺序存储的队列。1. 1.顺序队列顺序队列ABCDfrontfrontrearrear A、B、C、D出队p 顺序队列是在内存中按顺序存储的队列。frontfront frontfront frontfrontfrontfrontp 小结:顺序队列存在假溢出现象。2. 2.循环队列循环队列p循环队列是把队列设想成一个环形。BCGFEDfront 在执行入队操作时,rear=(rear+1)%maxsize 在执行出队操作时,front=(front+1)%maxsize Hrearrearf
8、rontH进队,A出队A3. 3.链队列链队列fronta1 a2 a3 0rear 队头指针front始终指向第一个元素结点 队尾指针rear始终指向最后一个元素结点a4 0rearfront队列的应用队列的应用 在计算机中,队列常用来解决主机与外部设备之间速度不匹配的问题,以及解决由多用户引起的资源竞争问题等。6.3 树形结构p 树树的定义:的定义: 树树是是由由n(n0)个有限结点)个有限结点组成组成的的一一个具有层次个具有层次关系的集合关系的集合。集合集合为空的树称为空树。为空的树称为空树。p 树的相关术语树的相关术语 结点结点树树中的元素中的元素 父结点父结点结点的直接前驱结点结点的
9、直接前驱结点 子子结点结点结点的直接后继结点结点的直接后继结点 根结点根结点没有父结点的结点没有父结点的结点 叶子结点叶子结点没有没有子结点子结点的结点的结点 结点的度结点的度结点的子结点数结点的子结点数ABCDEHFGIJ6.3 树形结构p 树树的相关术语的相关术语 结点的层次从根结点到该结点的层数(根结点是第1层) 树的度所有结点的度的最大值 树的层次所有结点的最大层数 子树以子结点为根构成的树 ABCDEHFGIJ计算机的文件系统是一种典型的树形结构。p 树的应用树的应用6.3 树形结构p 二叉二叉树树的定义:的定义:二叉树二叉树的每个的每个结点最多结点最多有两棵子树,并且二叉有两棵子树
10、,并且二叉树的子树有左右之分树的子树有左右之分,即顺序,即顺序不能颠倒不能颠倒。ABCDEFHGI 第第k k层上最多有层上最多有2 2k-1k-1个个结点。结点。 深度为深度为m m的二叉树最多有的二叉树最多有2 2m m-1-1个个结结点。点。 若度若度2 2的结点数的结点数有有n1n1个个,叶子结点,叶子结点数数为为n1+1n1+1。 具有具有n n个结点的二叉树,其深度至个结点的二叉树,其深度至少少为为 loglog2 2n n + +1 1。p 二叉二叉树树的性质:的性质:6.3 树形结构p满二叉满二叉树树的定义:的定义:满二叉树是指除最后一满二叉树是指除最后一层层的叶子结的叶子结点
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 本科 电子 教案 ppt 课件

限制150内