数据结构概念名词解释大全

  • 格式:doc
  • 大小:39.53 KB
  • 文档页数:12

下载文档原格式

  / 17
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

数据:是对客观事物的符号表示。

数据元素:是数据的基本单位,也称节点(node)或记录(record)。

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

数据项:有独立含义的数据最小单位,也称域(field)。

数据结构:是相互之间存在一种或多种特定关系的数据元素的集合。

根据数据元素间关系的基本特性,有四种基本数据结构

集合:结构中的数据元素之间除了“同属于一个集合”的关系外,别无其他关系。

线性结构:结构中的数据元素之间存在一个对一个的关系。

树形结构:结构中的数据元素之间存在一个对多个的关系。

图状结构或网状结结构:结构中的数据元素之间存在多个对多个的关系。

逻辑结构:抽象反映数据元素之间的逻辑关系。(算法设计)

物理结构(存储结构):数据结构在计算机中的表示。(算法实现)

存储结构分为:

顺序存储结构:借助元素在存储器中的相对位置来表示数据元素间的逻辑关系。

链式存储结构:借助指示元素存储地址的指针表示数据元素间的逻辑关系。

算法:对特定问题求解步骤的一种描述。

算法的五个重要特性:有穷性,确定性,可行性,输入和输出。

算法设计的原则或要求:正确性,可读性,健壮性,效率与低存储量需求。

衡量算法效率的方法:事后统计法和事前分析估算法。

算法执行时间的增长率和f(n) 的增长率相同,则可记作:T (n) = O(f(n)),称T (n) 为算法的(渐近)时间复杂度

算法运行时间的衡量准则:以基本操作在算法中重复执行的次数。

栈:限定仅在表尾进行插入或删除操作线性表。入栈:插入元素的操作;出栈:删除栈顶元素的操作。队列:只能在队首进行删除、队尾进行插入的线性表。允许插入的一端叫队尾,删除的一端叫队头。串:由零个或多个字符组成的有限序列;空串:零个字符的串;长度:串中字符的数目;

空串:零个字符的串;子串:;串中任意个连续的字符组成的子序列;位置:字符在序列中的序号;相等:串的值相等;空格串:由一个或多个空格组成的串,空格串的长度为串中空格字符的个数。存储位置:LOC(i ,j)=LOC(0,0)+(b2*i+j)L

结点:包含一个数据元素及若干指向其子树的分支;结点的度: 结点拥有的子树;

树的度:树中所有结点的度的最大值;叶子结点: 度为零的结点;分支结点: 度大于零的结点

树的深度:树中叶子结点所在的最大层次森林:m棵互不相交的树的集合。

二叉树的性质:

性质1:在二叉树的第i 层上至多有2i-1 个结点。(i≥1)

性质2:深度为k 的二叉树上至多含2k-1 个结点。(k≥1)

性质3: 对任何一棵二叉树,若它含有n0 个叶子结点、n2 个度为2 的结点,

则必存在关系式:n0 = n2+1。

性质4: 具有n 个结点的完全二叉树的深度为⎣log2n⎦ +1。

满二叉树:指的是深度为k且含有2k-1个结点的二叉树。

完全二叉树:树中所含的n 个结点和满二叉树中编号为1 至n 的结点一一对应。

路径长度:路径上分支的数目。树的路径长度:树根到每个结点的路径长度之和。

树的带权路径长度:树中所有叶子结点的带权路径长度之和,记作:WPL(T) =∑w k l k

带权路径长度最小的二叉树,称为最优树二叉树或赫夫曼树。

关键路径:路径长度最长的路径。

顶点:数据元素vi称为顶点

边、弧:P (vi,vj)表示顶点vi和顶点vj之间的直接连线,在无向图中称为边,在有向图中称为弧。任意两个顶点构成的偶对(vi,vj)∈E是无序的,该连线称为边。是有序的,该连线称为弧。弧头、弧尾:带箭头的一端称为弧头,不带箭头的一端称为弧尾。

顶点的度(TD)=出度(OD)+入度(ID)

图的遍历算法是求解图的连通性问题、拓扑排序和求关键路径等算法的基础。

通常有两条遍历图的路径:深度优先搜索和广度优先搜索。

排序的分类:

按待排序记录所在位置

内部排序:待排序记录存放在内存

外部排序:排序过程中需对外存进行访问的排序

按排序依据原则

插入排序:直接插入排序、折半插入排序、希尔排序

交换排序:冒泡排序、快速排序

选择排序:简单选择排序、堆排序

归并排序:2-路归并排序

基数排序

一、名词总结:

ADT:抽象数据型是一个数学模型和在该模型上定义的操作的集合

线性表:线性表是由n(n≥0)个相同类型的元素组成的有序集合。

栈:线性表的一种特殊形式,是一种限定性数据结构,也就是在对线性表的操作

加以限制后,形成的一种新的数据结构。是限定只在表尾进行插入和删除操作的

线性表。栈又称为后进先出的线性表。

队列:将线性表的插入和删除操作分别限制在表的两端进行,和栈相反,队列是

一种先进先出的线性表。

串:线性表的一种特殊形式,表中每个元素的类型为字符型,是一个有限的

字符序列。

广义表:由零个原子,或若干个原子或若干个广义表组成的有穷序列。

树:1、一个结点x组成的集{x}是一株树(Tree),这个结点x也是这株树的根。

2、假设x是一个结点,T1,T2,…,Tk是k株互不相交的树,我们可以构造一株新树:令x为根,并有k条边由x指向树T1,T2,…,Tk。这些边也叫做分支,T1,T2,…,Tk称作根x的树之子树。

二叉树:有限个结点的集合,这个集合或者是空集,或者是由一个根结点和两株互不相交的二叉树组成,其中一株叫根的做左子树,另一棵叫做根的右子树。满二叉树:深度为k且有2k-1个结点的二叉树称为满二叉树。

完全二叉树:深度为k的,有n个结点的二叉树,当且仅当其每个结点都与深度为k的满二叉树中编号从1至n的结点一一对

应,称之为完全二叉树。

线索二叉树:若结点p有左孩子,则p->lchild指向其左孩子结点,否则令其指向其(中序)前驱。若结点p有右孩子,则p->rchild指向其右孩子结点,否则令其指向其(中序)后继。