2022年数据结构知识 2.pdf
《2022年数据结构知识 2.pdf》由会员分享,可在线阅读,更多相关《2022年数据结构知识 2.pdf(13页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、坦洲中学电脑班教程指导:钟志鹏1 数据结构1.1 基本概念和术语数据 :是对客观事物的符号表示,在计算机科学中是指所有能输入到计算机中并做计算机程序处理的符号的总称。是计算机程序加工的原料。数据含义极为广泛,如图像、声音等都可以通过编码而归之于数据的范畴。数据元素 :是数据的基本单位,在计算机程序中通常作为一个整体进行考虑和处理。数据对象: 是性质相同的数据元素的集合,是数据的一个子集。例如:整数数据对象是集合N=0, 1, 2, ,,字母字符数据对象是集合C= A , B , Z 数据结构 :是相互之间存在一种或多种特定关系的数据元素的集合。通常在任何问题中,数据元素都不是孤立的,而是它们之
2、间存在着某种关系,这种数据元素相互之间的关系称为 结构 。有四类基本结构1.2 线性表1、线性结构的特点:在数据元素的非空有限集中,(1)存在唯一的一个被称做“第一个 ”的元素。(2)存在唯一的一个被称为“最后一个 ”的数据元素; (3)除第一个之外,集合中的每个数据元素均只有一个前驱; (4)除最后一个之外,集合中的每个数据元素均只有一个后继。2、线性表 是几个数据元素的有限序列。至于每个数据元素的含义,在不同的情况下各不相同,它可以是一个数,或一个符号,也可以是一页书,甚至其它更复杂的信息。如: 26 个英文字母的字母表:(A,B,C, ,Z)是一个线性表,表中的数据元素是单个字母字符。3
3、、线性表中元素的个数n (n0)定义为线性表的长度 ,可以根据需要增长而缩短,n=0 时称为 空表 。4、在非空表中的每个数据元素都有一个确定的位置,如a 是第一个数据元素,an是最后一个数据元素, ai是第 i 个元素,称之为数据元素ai在线性表中的 位序 。1.2.1 线性表的顺序表示和实现集合 :数据元素间除了“同属一个集合”的关系外,别无其它关系。线性结构 :结构中的数据元素之间存在一个对一个的关系。树形结构 :结构中的数据元素之间存在一个对多个的关系。图状或网状结构:结构中的数据之间存在多个对多个的关系。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - -
4、 - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 13 页 - - - - - - - - - 坦洲中学电脑班教程指导:钟志鹏2 线性表的顺序表示指用一组地址连续的存储单元,依次存储线性表的数据元素。假设线性表的每个元素需占用 L 个存储单元, 并以所占的第一个单元的存储地址作为数据元素的存储位置,则线性表中第i+1 个数据元素的存储位置Loc(ai+1)和第 i 个数据元素的存储位置Loc(ai)之间满足下列关系:Loc(ai+1)= Loc(ai)+L 一般来说,线性表的第i 个元素 ai的存储位置为Loc(ai)=Loc(a1)+(i-1)*L
5、式中 Loc(a1)是线性表的第一个数据元素a1的存储位置,通常称做线性表的起始位置或基地址。具有此种存储结构的线性表称为顺序表。存储地址内存状态数据元素在线性表中的位序b a1 1 b+l a2 2 b+(i-1)*L ai i . b+(n-1)*L an n b+nL b+(maxlen-1)*L 1.2.2 线性表的链式表示和实现链式存储结构的特点:用一组任意的存储单元存储线性表的数据元素(这些存储单元可以是连续的,也可以是不连续的) 。因此,为了表示每个数据元素ai与其直接后继元素ai+1之间的逻辑关系,对数据元素 ai来说,除了存储其本身的信息之外,还需存储一个指示其直接后继 的信
6、息(即直接后继的存储位置)。这两部分信息组成数据元素ai的存储映象,称为结点(Node) ,它包括两个 域:其中存储数据元素信息的域称为数据域 ,存储直接后继存储位置的域称为指针域 。指针域中存储的信息称做指针或链。几个结点( ai(1in))的存储映象链结成一个链表,即线性表:(a1,a2,an)的链式存储结构。又:每个结点中只包含一个指针域,故又称线性链表 或单链表 。例:线性表(ZHAO,QIAN,SCN,LI,ZHOU,WU,ZHENG,WANG )的线性链表存储结构,整个链表的存取必须从头指针开始。弱点:在播入或删除操作时,需移动大量元素。只要确定了存储线性表的起始位置,线性表中任一
7、数据元素都可随机存取,所以线性的顺序存储结构是一种随机存储结构。总之,线性表的顺序存储结构的特点是逻辑关系上相邻的两个元素在物理位置上也相邻。因此,可以随机存取表中任一元素,它的存储位置可以用一个简单直观的公式来表示。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 13 页 - - - - - - - - - 坦洲中学电脑班教程指导:钟志鹏3 存储地址数据域指针域1 LI 43 7 QIAN 13 13 SUN 1 19 WANG NULL 25 WU 37 31 ZHA
8、O 7 37 ZHENG 19 43 ZHOU 25 注:链式结构是非随机存储的结构。逻辑状态:H 1.2.3 循环链表循环链表 :是另一种形式的链式存储结构。它的特点是表中最后一个结点的指针域指向头结点,整个链表形成一个环。因此,从表中任何一结点出发均可找到表中其它结点。头指针 H ZHAO QIAN SUN LI ZHOU WU ZHENG WANG 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 13 页 - - - - - - - - - 坦洲中学电脑班教程指导:
9、钟志鹏4 H (A) 非空循环链表H (B)空循环链表2.1 栈栈和队列是两种重要的线性结构。从数据结构角度看,栈和队列也是线性表,其特殊性在于栈和队列的基本操作是线性表操作的子集。栈是限定仅在表尾进行插入或删除操作的线性表。对栈来说, 表尾端有其特殊的含义,称为 栈顶 ,相应地表头端称为栈底 。不含元素的空表称为空栈 。栈又称为 后进先出 ( Last In First out )的线性表(简称LIFO 结构 ) 。出进栈顶( top)出进栈底( bottom)(a)栈的示意图(b)用铁路调度站表示栈2.2 队列队列是一种先进先出(First In First out ,缩写为FIFO )的
10、线性表 。它只允许在表的一端进行插入,而在另一端删除元素。这和我们日常生活中的排队是一致的,最早进入队列的元素最早离开。队列中,允许插入的一端叫队尾 (rear) ,允许删除的一端叫队头 (front) 。设队列为q=(a1,a2, , an) 那么, a1就是队头元素,an就是队尾元素。a1 a2 an 进栈出栈名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 13 页 - - - - - - - - - 坦洲中学电脑班教程指导:钟志鹏5 出队列入队列a1 a2 a3 a
11、n-1 an 队头队尾队列示意2.2.1 队列的链式表示和实现用链表表示的队列称链队列 。一个队列显然需要两个分别指向队头和队尾的指针(分别称为 头指针 和尾指针 )才能唯一确定。为操作方便,也给链队列添加一个头结点 ,并令头指针指向头结点。由此,空的链队列的判决条件为头指针和尾指针都指向头结点链队列示意图2.2.2 队列的顺序表示和实现循环队列:初始化时,front= rear=o 当插入新队列尾元素,尾指针增1 当删除队列头元素时“头指针增1”因此, 在非空队列中,头指针始终指向队列头元素,而尾指针始终指向队列尾元素的下一个位置3.1 树的定义树的 度为树中各结点度的最大值祖先 指从根到该
12、结点所经历分支上的所有结点以某结点为根的子树中的任一结点都称为该结点的子孙 ,如 B的子孙为 E、F、K、L 其双亲在同一层次上的结点称为堂兄弟 ,树中结点的最大层次称为树的深度 。图中为 4 Data next Q.front 队头队尾Q.rear 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 13 页 - - - - - - - - - 坦洲中学电脑班教程指导:钟志鹏6 只有根结点的树二叉树的定义 :是一种树型结构,它的特点是每个结点至多只有二棵子树(即二叉树中不存
13、在度大于2 的结点)并且,二叉树的子树有左右之分,其次序不能任意颠倒。递归定义:二叉树或为空,或是由一个根结点加上两棵分别称为左子树和右子树,互不相交的二叉树组成。二叉树五种基本形态: , , , , (1) (2) (3) (4) (5) 二叉树五种基本形态遍历二叉树 :如何按某条搜索路径巡访树中的每个结点,使得每个结点均被访问一次,而且仅被访问一次。 (注:“访问”的含义很广,可以是对结点作各种处理,如输出结点信息)二叉树表示下述表达式: a+b*(c-d)-e/f 先根( 先序 )遍历结果:-+a*b-cd/ef( 前缀表达式 (波兰式)) 中根 (中序 )遍历结果:a+b*c-d-e/
14、f(中缀表达式)后根(后序 )遍历结果:abcd-*+ef/-(后缀表达式 (逆波兰式)三种遍历结果比对A B C D E F GH I J K L M 一般的树:B 结点称 E,F 结点的双亲结点A 为根结点A 结点的度为3 E,F 结点称 B 结点的孩子E,F 互称为兄弟1 层叶子结点结点2 层4 层3 层A + / a * b c d e f 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 13 页 - - - - - - - - - 坦洲中学电脑班教程指导:钟志鹏
15、7 满二叉树 :一棵深度为k 且有 (2k-1)个结点的二叉树,若对满二叉树的结点进行编号,约定编号从根结点开始,自上而下,自左而右,由此引出: 3层的满二叉树及其编号它有: (23-1 )=7个结点完全二叉树的定义:深度为 R的,有 n 个结点的二叉树,当且仅当其每一个结点都与深度为R的满二叉树中编号从1 至 n 的结点一一对应,称之为完全二叉树。一棵完全二叉树及其编号3.2 赫夫曼树(最优二叉树)路径长度: 从树中一个结点到另一个结点之间的分支构成这两个结点之间的路径,路径上的分支数目称为路径长度 。树的路径长度 ,是从树根到每一结点的路径长度之和。完全二叉树就是这种路径长度最短的二叉树。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年数据结构知识 2022 数据结构 知识
限制150内