数据结构名词解释

第一章、绪论

1.数据:数据是信息的载体,是描述客观事物属性的数、字符及所有能输入到计算机中并被计算机程序识别和处理的集合。

2.数据元素:它是组成数据的基本单位,是数据集合中的个体。在计算机程序中,通常作为一个整体进行考虑和处理。

3.数据项:是数据不可分割的最小单位。一个数据元素有若干个数据项构成。

4.数据对象:数据对象是性质相同的数据元素的集合,是数据的一个子集。

5.数据类型:数据类型是一个值的集合和定义在此集合上的一组操作的总称。

6.数据处理:是指对数据讲行杳找、插入、删除、合并、排序以及简单计算等的操作过程。

7.原子类型:其值不可再分的数据类型。

8.结构类型:其值可以再分解为若干成分的数据类型。

9.抽象数据类型;一个数学模型和定义在模型上的一组操作。仅取决于它的一组逻辑特性,而与其在计算机内部如何表达和实现无关。即不论其结构如何变化,只要它的数学特性不变,都不影响其外部的使用。

10.数据结构:是相互之间存在一种或多种特定关系的数据结构的集合。数据结构包括三方面的内容:逻辑结构、存储结构和对数据的运算。

11.数据结构的三要素:逻辑结构、存储结构、数据的运算。

12.逻辑结构:是指数据元素之间的逻辑关系。它与数据的存储无关,是独立于计算机的。数据的逻辑结构分为线性结构和非线性结构。线性表是典型的线性结构;集合、树和图是典型的非线性结构。

13.存储结构(物理结构):物理结构又称为数据的存储结构,是指数据的逻辑结构在计算机中的映像(表示),即数据结构在计算机中的存储方法,它包括数据元素的表示和关系的表示。数据的存储结构主要有:顺序存储、链式存储、索引存储和散列存储。

14.算法:是对特定问题求解步骤的一种描述,它是指令的有限序列,其中每条指令表示一个或多个操作。

15.算法的五个特性:有穷性、确定性、可行性、输入、输出。(穷缺课入出)

16.好的算法应包含的特点:正确性、可读性、健壮性、高效率与低存储量

17.时间复热度,T(N)=O(F(N)).它随问题规模N增大,算法执行时间增长率与F(N)的增长率相同。

18.原地工作算法执行时,若额外空间相对于输入数据量来说是常数,则称此算法为原地工作。

第二章、线性表

19.线性表:是一种数据结构,是具有相同数据类型的n个元素的有限序列,除首尾元素外,每个元素有唯一的前驱和唯一的后继。

20.表头元素,线性表中的第一个数据元素。

21.表尾元素:线性表中的最后一个数据元素。

22.顺序表:线性表的顺序存储称为顺序表。

23单链表:线性表的链式存储称为单链表。每一个数据元素,都需用两部分来存储;一部分用于存放数据元素值.称为数据域:另一部分用于存放直接后继结点的地址(指针),称

为指针域,元素的存储空间可以连续,也可以是不连续的。而数据元素之间的逻辑关系由指针域来确定。

24.双向链表:线性表采用链式存储时,每个结点除一个数据域外,包含两个指针域,一个指向该结点的直接后继,一个指向该结点的直接前驱,这种方式构成的链表,即为双向

链表。

25.头结点:单链表第一个结点之前附加的一个结点。

26.单循环链表:是单链表的另一种形式,它是一个首尾相接的链表,表中最后一个结点的指针域由NULL改为指向头结点或线性表的第一个结点,整个链表形成了一个环。

27.静态链表:借助数组来描述线性表的链式存储结构。

第三章、栈和队列

28.栈:是只允许在一端进行插入或删除操作的线性表,特点是后进先出。

29.栈顶:允许进行插入和删除的一端。栈底:固定的,不允许进行插入和删除的那一端。

30.共享栈:两个栈共享一个数组空间,将两个栈的栈底分别设置在共享空间的两端,两个栈顶分享空间的中间延伸。共享栈栈满:top1-top2=1

31.链栈:采用链式存储的栈。优点:便于多个栈共享存储空间和提高效率,且不存在栈满上溢的情况。便于插入和删除,入栈和出栈都在链表表头进行。

32.队列:是一种操作受限的线性表,只允许在表的队尾进行插入,在队头进行删除。特点:先进先出

33.双端队列:是指允许两端都可以进行入队和出队操作的队列。

34.循环队列:在队列的顺序存储结构中,把存储空间的首尾逻辑上相连,构成一个环,使得存储空间上只要有空余的地址,就可以继续进行入队列操作,极大利用了物理空间。用头部和尾部两个指示器表示队列头和队列尾,插入在尾部进行,删除在头部进行。

35.栈的应用:①数制转换②括号匹配③行编辑程序④迷宫求解⑤表达式求值36.队列的应用:①层次遍历二叉树

第四章、数组和广义表

37.数组:数组是由n个相同类型的数据元素构成的有限序列,每个数据元素称为一个数组元素。

38.二维数组:二维数组是元素为一维数组的一维数组。

39.数组的存储结构:数组一般采用顺序存储,其中二维数组常用行优先以及列优先存储。

40、广义表:又称列表,是由零个或多个原子或子表组成的有限序列,原子与表的差别仅在于原子(单元素)是结构上不可再分的,可以是一个数或一个结构;而表带结构,本质就是广义表,因作为广义表的元素故称为子表。为了区分原子和表,一般用大写字母表示表,用小写字母表示原子。一个表的长度是指表中元素的个数,而表的深度是指表展开后所含括号的层数。

第五章、树与二叉树

41.树:树是n个节点的有限集。当n=0时为空树,任何一棵非空树应满足:①有且仅有一个特定的称为根的结点②当n>1时,其余节点可分为m个互不相交的有限集。其中每个集合本身又是一棵树,并且成为树的子根。n个结点的树具有n-1条边。

42.子孙:子孙结点以某结点为根的子树中的任一结点都称为该结点的子孙。

43.堂兄弟:同一层次上不同双亲的结点,互称为堂兄弟。

44,祖先,人一个结点的祖先是指从根节点到该节点的路径上的所有结点e

45.孩子结点与双亲节点:树中某个结点的的子树的根结点称为该结点的孩子结点。相反,称该结点为孩子结点的双亲结点。

46.结点的度,切树中一个结点的分支(子树)个数称为该结点的度,

47、树的度,树中结点最大的度称为树的度。

48.树的高度,树中所有结点的层次的最大值。

49.分支结点(非终端节点),度大干0的结点。

50.叶子结占(终端节点):度为0的结点,即没有后继的结点。

51.有序树,树中结点的各子树从左到右是有次序的,不能互换。

52.森林;森林是m棵互不相交的树的集合,将一棵非空树的根节点删际,树就变成了森林。

53.二叉树(掌握定义以及其二叉链表的存储结构):树中每个结点至多只有两棵子树,并且二叉树的子树有左右之分,其次序不能任意颠倒。

54.线索:在二叉树的存储结构中,必有N+1个空域,利用这些空域存放某种遍历的前驱和后继,其中指向前驱和后继的指针叫线索.

55.线索二叉树(掌握定义以及二叉树线索化的方法):对二叉树以某种次序进行遍历,并加上线索。线索化(利用二叉树的一些空闲指针指向该结点的前驱或后继的过程)后的之叉树称为线索二叉树,这些空闲指针指针叫线索。

56.满二叉树(重要):一棵高度为h,且含有2心1个结点的二叉树称为满二叉树。

57.完全二叉树(掌握定义,掌握N个结点完全二叉树的相关解法):高度为h,有n个结点的二叉树,当且仅当其每个结点都与高度为h的满二叉树中编号为1—n的结点—一对应时,称为完全二叉树。

58.掌握(十分重要):N个结点的完全二叉树,有几个叶子结点、几个度为2的结点、高度为多少的解法。

59.树常用的存储结构:双亲表示法、孩子表示法、孩子兄弟表示法。

60.平衡二叉树:是一棵空树,或二叉排序树的左右子树的高度之差的绝对值不超过1,这样的二叉排序树称也为平衡二叉树。其左右子树也是平衡二叉树。

61.平衡因子:定义结点的左右子树的深度差为该结点的平衡因子。62.权:树中结点常常被赋予一个表示某种意义的数值,称为该结点的权。

62.权:树中结点常常被赋予一个表示某种意义的数值,称为该结点的权。

63.树的路径长度:树中每个结点到根结点的路径长度之和。

64.带权路径长度:从树的根结点到任意结点的路径长度(经过的边数)与该结点的乘积。

65.树的带权路径长度(WPL)(掌握定义和解法):树中所有叶子结点的带权路径长度之和。

66.哈夫曼树(掌握定义和构造方法):在含有n个带权叶结点的二叉树中,其中带权路径长度(WPL)最小的二叉树称为哈夫曼树。

67.哈夫曼编码(掌握定义,掌握求法):一般以N种字符出现的频率做权值,构造哈夫曼树,左孩子边做o,右孩子边做1,那么从根到叶子结点经过的0和1序列,构成了哈夫曼编码.

第六章、图

68.图:图是由顶点集和边集组成的。一般表示为一个二元组,即图G=(N,E)。各个顶点之间是多对多的关系。

69.图中顶点的度:顶点v的度是图中和顶点V相关联的边的数目。包括入度和出度。70.简单图:①不存在重复边②不存在顶点到自身的边。

71.权:图的弧或边有与它相关的有意义的数,称作权。带有权值的图称作带权图。

72.简单路径:在用一个顶点序列表示一条路径时,若序列中没有相同的顶点重复出现,

则称其为简单路径。

73.子图:图G=(V,E)与图G1 (V1,E1),若v1包含于v,且E1包含于E,则G1是G的子图。

74.无向完全图:任何一个有n个节点的无向图中,有n(n-1)/2条边的无向图称为无向完全图;

75.有向完全图:任何一个有n个节点的有向图中,有n(n-1)条弧的有向图称为有向完全图。

76.连通图:对于无向图,若v1到v2有路径,称V1、v2是连通的。若图中任意两个顶点都是连通的,称为连通图。

77.连通分量:无向图中的极大连通子图

78.极大连通子图:是无向图的连通分量,极大即要求该连通图包含其所有的边

79.极小连通子图﹔是既要保持图的连通,又要使边数最少的子图。

80.强连通图:对干有向图,若图中任意两个顶点都是强连通的,称为强连通图。

81 . 强连通分量:有向图中的极大强连通子图 (80,81去年考到了!)

82.路径长度:路径上边的数目

83.简单路径:在路径序列中,顶占不重复出现的路径称为简单路径。

84.距离:从顶点u出发到顶点v的最短路径若存在,则此路径的长度称为从u到v的距离。

85.有向树:一个顶点的入度为0、其全顶占的入度均为1的有向图。

86.邻接矩阵(掌握定义,掌握如何建立邻接矩阵邻接表可看对应的王道课):存储顶点之间邻接关系的二维数组。

87.广度优先遍历(掌握解题过程);类似于二叉树的层次遍历,从某一顶点v开始,依次访问v的各个未访问过的邻接顶点w1,w2…….,然后依次访问w1,w2……的所有未被访问的顶点,重复上述,直到所有顶点都被访问到。

88.深度优先遍历(掌握解题过程);类似于树的先序遍历。从某一顶点v出发,访问与v邻接且未被访问的任一顶点w1,在访问与w1邻接且未被访问的顶点 w2……,重复上述过程。当不能再继续向下访问时,依次退回到最近被访问的顶点,若它还有未访问的邻接顶点,则从该点开始继续上述过程,直到所有顶点被访问。

89.生成树:一个连通图的生成树是指一个极小连通子图,它含有图中的全部顶点,N-1条边。

90.最小生成树(掌握定义,掌握普里姆和克鲁斯卡尔求解最小生成树的过程,重要!):设L为图的所有生成树的集合,若T为L中边的权值之和最小的那棵树,称为最小生成树。

91.有向无环图(DAG图):若一个有向图中不存在环,则成为有向无环图。

92.网:图的弧或边有与它相关的有意义的数,称作权,带有权值的图称作网。

93. AOV网:若用DAG 图表示一个工程,其顶点表示活动,用有向边<vi,vj>表示活动vi必须先于活动vj进行的这样一种关系,则将这种有向图称为顶点表示活动的网络,简称AOV网。

94.拓扑排序(掌握定义、求解过程):由某个集合上的偏序集得到该集合上的一个全序,这个操作叫做拓扑排序。//在有向无环图中满足:①每个顶点出现且只出现一次②若顶点A在序列中排在顶点B的前面,则在图中不存在从顶点B到A的路径。

95. AOE 网:在带权有向图中,以顶点表示事件,以有向边表示活动,以边上的权值表示完成该活动的开销(如完成活动所需的时间),称为用边表示活动的网络,简称AOE网。

96.关键活动(掌握定义、关键路径和关键活动的求解过程):从源点到汇点的所有路径中,具有最大路径长度的路径称为关键路径,而把路径上的活动称为关键活动。

97.最短路径:必须掌握迪杰斯特拉 Dijkstra算法的求解过程。

第七章、查找

98.关健字:数据元素的某个数据项的值,用它可以标识列表的一个或一组元素。

99.前缀编码(十分重要):任何一个字符的编码都不是另一个字符编码的前缀,这种编码叫做前缀编码。

100.二叉排序树:它是一棵空树,或者有下列性质的树:若左或右子树不空,左子树上所有结点的关键字均小于根结点的关键字;右子树的所有结点的关键字都大于根结点的关键字;左子树和右子树又各是一棵二叉排序树。

101.查找:根据给定的关键字值,在特定的表中,确定一个其关键字与给定值相同的数据元素,并返回该数据元素在列表中的位置,这个过程叫查找。

102.平均查找长度(ASL)(掌握定义以及求解方法):为确定数据元素在表中的位置,需和给定值进行比较的关键字个数的数学期望值,称为查找算法在查找成功的平均查找长度。

103.顺序查找:对于给定的关键字K,从线性表的第一个(或最后一个)元素开始,依次向后(或前)与元素的关键字比较,若某个记录的关键字与K相等,查找成功,否则失败。

104.折半查找:对于顺序存储的有序表,先取中间位置的记录关键字与所给的关键字进行比较,若相等,则查找成功;否则,若给定的关键字比中间的关键字大,在原表的后半部分比较。反之,在原表的前半部分比较,如此反复,逐步缩小范围,直到找到为止,或找不到,最后查找范围为空。

105.分块查找:分块查找以前两个为基础,将待查记录分成若干块,每块的关键字无序,

但每块的关键字的最大值有序,查找时,先查找到待查记录所在的块,再在块内进行顺序查找。找块时,既可以用折半查找,也可用顺序查找。

106.散列函数:一个把查找表中的关键字映射成该关键字对应的地址的函数。

107.冲突:散列函数把两个或两个以上的不同关键字映射到同一地址。

108.散列表:根据关键字而直接进行访问的数据结构。

109.散列函数(掌握构造方法)直接定址法、除留余数法(掌握)、数字分析法、平方取中法

110.解决冲突的方法(重要)开放地址法(掌握)、拉链法(链地址法,掌握)

111.装填因子:a=表中的记录数n/散列表长度m

第八章排序

112.排序:根据关键字的递减或递增的次序,把文件中的各个记录一次依次排列起来,可使一个无序的数据元素序列变成一个有序的序列的操作。

113.内部排序(了解):指的是待排序记录存放在计算机存储器中进行排序过程。

114.外部排序(不考):指的是待排序序列记录的数量很大,以致内存一次不能容纳全部记录,在排序过程中对外村进行访问的排序过程。

115.稳定排序假设ki=kj(1<=I,i!=j),且在排序前的序列中Ri领先于Rj(即i<j)。若在排序后的序列中Ri仍领先于Rj,则称所用的排序方法是稳定的。也可描述为在排序前后,含相等关键字的记录的相对位置保持不变,称这种排序方法是稳定的。

116.不稳定排序(掌握定义),假设ki=kj(1<=I,j<=n,i!=j),且在排序前的序列中Ri领先于Rj(即i<j)。若在排序后的序列中Rj领先干Ri,则称所用的排序方法是不稳定的。也可描述为含相等关键字的记录的相对位置有可能改变,称这种排序方法是不稳定的。

117.插入排序:在一个已排好序的基础上,每一步将下一个待排序记录插到已排好记录的子集上,使之重新有序,直到所有待排记录插完为止。

118.希尔排序:是插入排序的一种,又叫缩小增量排序,先按增量进行分组,组内插入排序,然后每次缩短增量,再进行分组和组内插入排序,直到增量为1时,进行最后一次排序止。

119.冒泡排序:从第一记录开始,相邻的两个记录关键字进行比较,若顺序不对,立即交换,直至N-1个与第N个比较为止。得到一个最大(或最小)的关键字记录的结果位置。

120.快速排序:快速排序(QuickSort)的基本思想是把当前待排序的记录,存放到整个表排好序后,它应当在的最终位置上。将原来的待排序表分割成两部分,其中一部分表中的关键字均比另一部分表中的关键字小。然后,分别对两部分表用同样的方式进行排序,直到整个表排好序。

121.简单选择排序:选择排序(Selection Sort)是每一趟在n-i+1(i=1,2,3..n-1)个记录中选择关键字最小的记录作为有序序列中第i个记录。其中最简单的是简单选择排序。

122.堆(重要):N个关键字序列L[1...n]称为堆,当且仅当该序列满足:

a.L(i)>=L(2i)且 L(i)>=L(2i+1)大顶堆

b.L(i )<=L(2i)且 L(i)<=L(2i+1)(1≤i≤Ln/2] )小顶堆

123.堆排序:首先将根结点的记录与当前树中具有最大序号的记录交换,把交换后具有

最大序号的记录输出,得到一个排序的结果。这时的树不再是堆树,排序暂时停止。然后,必须把树重新调整成堆树,再重复上述过程。直到所有记录都排好序。

124.归并排序:将两个或两个以上的有序表合并成一个新的有序表,开始将每个元素当成是一个个单独的有序表,逐渐表个数以原来一半的速度递减,每个表的长度却是原来长度的2倍增加,不断重复,直到最后是一个表,而表的长度是元素个数为止。

125.基数排序:基数排序是借助“分配”和“收集”两种操作对单逻辑关键字进行排序的一种内排序方法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值