清华大学严蔚敏版数据结构考研要点(精华版)

合集下载

最新250页的精品清华大学严蔚敏数据结构

最新250页的精品清华大学严蔚敏数据结构

证略。
例5for(i=2;i<=n;++I)
for(j=2;j<=i-1;++j)
{++x;a[i,j]=x;}
语句频度为:
1+2+3+…+n-2=(1+n-2) ×(n-2)/2
=(n-1)(n-2)/2
=n2-3n+2
∴时间复杂度为O(n2)
即此算法的时间复杂度为平方阶.
一个算法时间为O(1)的算法,它的 基本运算执行的次数是固定的。因此,
事先分析 求出该算法的一个时间界限函数
事后测试 收集此算法的执行时间和实际占用 空间的统计资料。
定义:如果存在两个正常数c和n0,对于所有的 n≧n0,有︱f(n) ︳≦c|g(n) ︳
则记作 f(n)=O(g(n))
一般情况下,算法中基本操作重复执行的 次数是问题规模n的某个函数,算法的时 间量度记作
此,只要有人能将现有指数时间算法中
(1)有穷性 一个算法必须总是在执行有穷步 之后结束,且每一步都在有穷时间内完成。
(2)确定性 算法中每一条指令必须有确切的 含义。不存在二义性。且算法只有一个入口和 一个出口。
(3)可行性 一个算法是可行的。即算法描述 的操作都是可以通过已经实现的基本运算执行 有限次来实现的。
4)输入 一个算法有零个或多个输入,这些输 入取自于某个特定的对象集合。
250页的精品清华大学严蔚敏数 据结构
第一章 绪 论
1.1 什么是数据结构 1.2 基本概念和术语 1.3 抽象数据类型的表示与实现 1.4 算法和算法分类
1.4.1 算法 1.4.2 算法设计的要求 1.4.3 算法效率的度量 1.4.4 算法的存储空间的需求

数据结构老师给的复习要点(严蔚敏版)

数据结构老师给的复习要点(严蔚敏版)

数据结构⽼师给的复习要点(严蔚敏版)第⼀章1. 怎样理解“算法+数据结构=程序”这个公式?举例说明。

算法是语句序列解决特定问题的固有程序⽚段。

数据结构是确定数据间的关系。

从具体问题抽象出⼀个合适的数学模型、然后设计⼀个解决此数学模型的算法,最后编写出程序。

寻求数学模型的是指就是数据结构要完成的⼯作。

参看书p1前两段的描述。

2. 数据结构的概念,它包含哪三⽅⾯的内容?数据结构:是⼀门研究⾮数值计算的程序设计问题中计算机的操作对象以及它们之间饿关系和操作的学科。

参看书p3包含三⽅⾯的内容:1、数据之间的逻辑关系2、数据在计算机中的存储⽅式3、在数据上定义的运算的集合。

3. 数据、数据元素、数据项的基本概念。

举例说明数据元素和数据项的联系与区别。

数据:描述客观事物的数字、字符以及所有能直接输⼊到计算机中并被计算机程序处理的符号的集合。

数据元素:数据的基本单位,在计算机程序中通常作为⼀个整体进⾏考虑或处理。

数据项:数据项是具有独⽴含义的最⼩标识单位,是数据元的⼀个具体值,是数据记录中最基本的、不可分的有名数据单位。

例1:class A{int c[123];int i;};class B{A a;}B b;b.a是数据项,B是数据元素例2:⼀本书的数⽬信息为⼀个数据元素,⽽数⽬信息中每⼀项(如书名、作者名等)为⼀个数据项4. 从逻辑结构来看,数据结构有哪四种基本结构,各⾃的特点是什么?1、集合(数据元素之间同属于⼀个集合,再⽆其他关系)2、线性结构(数据元素之间存在⼀对⼀的关系)3、树形结构(数据元素之间⼀对多的关系)4、图状结构或⽹状结构(数据元素之间多对多的关系)5. 从物理结构来看,数据结构有哪两种基本结构,各⾃的特点是什么?1、顺序存储结构特点:借助元素在存储器中的相应位置来表⽰数据元素之间的逻辑关系。

2、链式存储结构特定:借助元素在存储地址的指针表⽰数据元素之间的逻辑关系。

6. 算法的5个特征,4个评价标准是什么?特征:有穷性、确定性、可⾏性、输⼊、输出。

严蔚敏《数据结构》(C语言版)笔记和习题(含考研真题)详解

严蔚敏《数据结构》(C语言版)笔记和习题(含考研真题)详解

严蔚敏《数据结构》(C语言版)笔记和习题(含考研真题)详解第1章绪论一、什么是数据结构数据结构是一门研究非数值计算的程序设计问题中计算机的操作对象以及它们之间的关系和操作等的学科。

二、基本概念和术语1数据数据是对客观事物的符号表示,是计算机科学中所有能输入到计算机中并能被计算机程序处理的符号的总称。

2数据元素数据元素是数据的基本单位。

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

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

(1)数据结构的基本结构根据数据元素之间关系的不同特性,通常有下列四类基本结构:①集合。

数据元素属于“同一个集合”,并无其他复杂关系。

②线性结构。

数据元素之间存在一个对一个的关系。

③树形结构。

数据元素之间存在一个对多个的关系。

④图状结构或网状结构。

数据元素之间存在多个对多个的关系。

【注意】区分这四种基本结构可以根据元素间的对应关系。

如图1-1所示为上述四类基本结构的关系图。

图1-1 四类基本结构的关系图(2)数据结构的形式定义数据结构的形式定义为:Data_Structure=(D,S)其中:D表示数据元素的有限集,S表示D上关系的有限集。

(3)数据结构在计算机中的表示数据结构包括数据元素的表示和关系,在计算机中称为数据的物理结构(又称存储结构)。

其中,关系有两种表示方法:顺序映象和非顺序映象。

这两种表示方法对应两种存储结构:顺序存储结构和链式存储结构。

a.顺序映象:用相对位置来表示数据元素之间的逻辑关系。

b.非顺序映象:用指针表示数据元素之间的逻辑关系。

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

6抽象数据类型抽象数据类型(ADT)由一个值域和定义在该值域上的一组操作组成。

【注意】抽象数据类型是对数据类型架构的一种全局体现,使我们能够更加清晰地看待某一数据类型。

7多形数据类型多形数据类型是指其值的成分不确定的数据类型。

数据结构_(严蔚敏C语言版)_学习、复习提纲.

数据结构_(严蔚敏C语言版)_学习、复习提纲.

期末复习 第一章 绪论 复习1、计算机算法必须具备输入、输出、可行性、确定性、有穷性5个特性。

2、算法分析的两个主要方面是空间复杂度和时间复杂度。

3、数据元素是数据的基本单位。

4、数据项是数据的最小单位。

5、数据结构是带结构的数据元素的集合。

6、数据的存储结构包括顺序、链接、散列和索引四种基本类型。

基础知识数据结构算 法概 念逻辑结构 存储结构数据运算数据:计算机处理的信息总称 数据项:最小单位 数据元素:最基本单位数据对象:元素集合数据结构:相互之间存在一种或多种特定关系的数据元素集合。

概念:数据元素之间的关系 线性结构:一对一非线性结构 树:一对多 图:多对多顺序存储结构 链表存储结构 索引。

散列。

算法描述:指令的有限有序序列算法特性 有穷性 确定性 可行性 输入 输出 算法分析时间复杂度 空间复杂度第二章 线性表 复习1、在双链表中,每个结点有两个指针域,包括一个指向前驱结点的指针 、一个指向后继结点的指针2、线性表采用顺序存储,必须占用一片连续的存储单元3、线性表采用链式存储,便于进行插入和删除操作4、线性表采用顺序存储和链式存储优缺点比较。

5、简单算法第三章 栈和队列 复习线性表顺序存储结构链表存储结构概 念基本特点基本运算定义逻辑关系:前趋 后继节省空间 随机存取 插、删效率低 插入 删除单链表双向 链表 特点一个指针域+一个数据域 多占空间 查找费时 插、删效率高 无法查找前趋结点运算特点:单链表+前趋指针域运算插入删除循环 链表特点:单链表的尾结点指针指向附加头结点。

运算:联接1、 栈和队列的异同点。

2、 栈和队列的基本运算3、 出栈和出队4、 基本运算第四章 串 复习栈存储结构栈的概念:在一端操作的线性表 运算算法栈的特点:先进后出 LIFO初始化 进栈push 出栈pop队列顺序队列 循环队列队列概念:在两端操作的线性表 假溢出链队列队列特点:先进先出 FIFO基本运算顺序:链队:队空:front=rear队满:front=(rear+1)%MAXSIZE队空:frontrear ∧初始化 判空 进队 出队取队首元素第五章 数组和广义表 复习串存储结构运 算概 念顺序串链表串定义:由n(≥1)个字符组成的有限序列 S=”c 1c 2c 3 ……cn ”串长度、空白串、空串。

数据结构与算法(清华大学出版社,严蔚敏)实验讲义

数据结构与算法(清华大学出版社,严蔚敏)实验讲义

实验内容与实验指导--计算机系列课程
实验1: 线性表的顺序存储结构定义及基本操作
(必做)

一、实验目的
. 掌握线性表的逻辑特征 . 掌握线性表顺序存储结构的特点,熟练掌握顺序表的 基本运算 . 熟练掌握线性表的链式存储结构定义及基本操作 . 理解循环链表和双链表的特点和基本运算 . 加深对顺序存储数据结构的理解和链式存储数据结构 的理解,逐步培养解决实际问题的编程能力
实验2: 线性表的综合应用 (选做)
一、实验目的
掌握顺序表和链表的概念,学会对问题进行分 析,选择恰当的逻辑结构和物理结构 加深对顺序表和链表的理解,培养解决实际问 题的编程能力
实验内容与实验指导--计算机系列课程
二、实验内容
实现一元稀疏多项式的表示及基本操作(建 立、销毁、输出、加法、减法、乘法等操作)
实验内容与实验指导--计算机系列课程
5) 新建文件/C/C++ Header File,选中“ 添加到工程 的复选按钮” ,输入文件名“ seqlistAlgo. h” ,按“ 确 定” 按钮,在显示的代码编辑区内输入如上的参考程 序; 6) 新建文件/C++ Source File,选中“ 添加到工程的复 选按钮” ,输入文件名“ seqlistUse. cpp” ,按“ 确定” 按 钮,在显示的代码编辑区内输入如上的参考程序; 7) 按F7键,或工具图标进行工程的建立,如有错 误,根据错误显示区中的提示,改正错误,重新建立 应用程序; 8) 按Ctrl+F5键,或工具图标进行工程的执行。
2.实现要求: 对链表的各项操作一定要编写成为C (C++)语言函数,组合成模块化的形式,还要 针对每个算法的实现从时间复杂度和空间复杂 度上进行评价; 按要求编写实验程序,将实验程序上机调试 运行,给出输出的结果,并提交实验报告,写 出调试运行程序的分析和体会。

数据结构-清华大学严蔚敏

数据结构-清华大学严蔚敏
④ 除最后一个元素外,每个元素均有唯一一个直接 后继。
精选ppt课件
4
2.2 线性表的顺序存储
顺序存储 :把线性表的结点按逻辑顺序依次存放 在一组地址连续的存储单元里。用这种方法存储的线性 表简称顺序表。
顺序存储的线性表的特点:
◆ 线性表中所有元素所占的存储空间是连续的; ◆ 数据元素在存储空间中是按逻辑顺序依次存放。 设有非空的线性表:(a1,a2,…an) 。顺序存储如图 2-1所示。
8
图2-2 链表结点结构
单链表是由表头唯一确定,因此单
链表可以用头指针的名字来命名。
1100
例1、线性表L=(bat,cat,eat,fat,
hat)
1300
其带头结点的单链表的逻辑状态和物理
存储方式如图2-3所示。
1305
head
3695
head
bat
cat
eat
fat
hat ⋀ 3700
图2-3 带头结点的单链表的逻辑精选状ppt课态件、物理存储方式
图2-6是带头结点的单循环链表的示意图。
head
head a1
a2
……
an
空表
非空表
图2-6 单循环链表精选示ppt意课件图
10
2.4 双向链表
双向链表(Double Linked List) :指的是构
成链表的每个结点中设立两个指针域:一个指向其直接 前趋的指针域prior,一个指向其直接后继的指针域 next。这样形成的链表中有两个方向不同的链,故称 为双向链表。
LOC(ai+1)=LOC(ai)+l
精选ppt课件
6
2.3 线性表的链式存储
2.3.1 线性表的链式存储结构

(完整word版)数据结构,清华大学出版社,严蔚敏吴伟民编著

(完整word版)数据结构,清华大学出版社,严蔚敏吴伟民编著

第一章绪论1、数据结构是计算机中存储、组织数据的方式。

精心选择的数据结构可以带来最优效率的算法。

2、程序设计= 算法+数据结构3、解决问题方法的效率:跟数据的组织方式有关跟空间的利用效率有关跟算法的巧妙程度有关4、数据:所有能输入到计算机中,且被计算机处理的符号的集合,是计算机操作对象的总称;是计算机处理的信息的某种特定的符号表示形式。

5、数据元素:数据中的一个“个体” ,数据结构中讨论的基本单位。

相当于“记录” ,在计算机程序中通常作为一个整体考虑和处理。

6、数据项: 相当于记录的“域”, 是数据的不可分割的最小单位如学号。

数据元素是数据项的集合。

7、数据对象:性质相同的数据元素的集合.例如: 所有运动员的记录集合8、数据结构:是相互间存在某种关系的数据元素集合。

9、数据结构是带结构的数据元素的集合。

10、不同的关系构成不同的结构。

11、次序关系:{vai,ai+1>|i=1,2,3,4,5,6}12、 对每种数据结构,主要讨论如下两方面的问题:1) 数据的逻辑结构,数据结构的基本操作;2) 数据的存储结构,数据结构基本操作的实现;13、 数据的逻辑结构:数据之间的结构关系,是具体关系的抽象。

数据结构的基本操作:指对数据结构的加工处理。

14、 数据的存储结构(物理结构):数据结构在计算机内存中的表示。

数据结构基本操作的实现:基本操作在计算机上的实现(方法)。

15、数据结构的有关概念|线性表「上线性结构!栈[队(仁数据的逻辑结构=i B.非彌結构I 树形结构 J I 图形结构木数据的存储结枸I A 噸序行储 B 链式存储 < 3、数据的运算:檢索.插入.删除*烽改等16、数据元素的 4 类的基本结构 :① 集合; 数£结构的三个方廁②线性结构:结构中数据元素之间存在一对一的关系;③树形结构:结构中数据元素之间存在一对多的关系;②4 图状结构或网状结构:结构中数据元素之间存在多对多的关系。

严蔚敏数据结构复习整理完整版

严蔚敏数据结构复习整理完整版

1.复杂性分析对各种操作的时间复杂性的分析。

主要是链表,树,排序等简单一些的分析。

分析的时候,从简单的入手,学会方法。

后续的各种豆可能让你分析时间复杂度。

线性链表(顺序表和单链表)链表循环链表双向链表2.线性结构队列(循环队列)栈链表主要操作:找某一个元素,插入一个(在哪个位置增加),删除一个(在哪个位置删除)。

栈:查找,插入(位置固定),删除(位置固定)队列:查找,插入(位置固定),删除(位置固定)顺序表(可以视为一个数组)单链表:(删除)(插入)倒置:(查找)循环链表双向链表栈:(插入删除查找)队列(插入删除查找)循环队列的实现,并不是像上面的图那样,实现了一个循环的样子。

3.二叉树基本概念二叉树是每个节点最多有两个子树的有序树。

二叉树常被用于实现二叉查找树和二叉堆。

值得注意的是,二叉树不是树的特殊情形。

二叉树是每个结点最多有两个子树的有序树。

通常根的子树被称作“左子树”(left subtree)和“右子树”(right subtree)。

二叉树常被用作二叉查找树和二叉堆或是二叉排序树。

二叉树的每个结点至多只有二棵子树(不存在出度大于2的结点),二叉树的子树有左右之分,次序不能颠倒。

二叉树不是树的一种特殊情形,尽管其与树有许多相似之处,但树和二叉树有两个主要差别:1. 树中结点的最大度数没有限制,而二叉树结点的最大度数为2;2。

树的结点无左、右之分,而二叉树的结点有左、右之分。

二叉树是递归定义的,其结点有左右子树之分,逻辑上二叉树有五种基本形态:(1)空二叉树——如图(a);(2)只有一个根结点的二叉树——如图(b);(3)只有左子树——如图(c);(4)只有右子树-—如图(d);(5)完全二叉树-—如图(e)注意:尽管二叉树与树有许多相似之处,但二叉树不是树的特殊情形性质(1)在非空二叉树中,第i层的结点总数不超过, i〉=1;(2)深度为h的二叉树最多有2^h—1个结点(h>=1),最少有h个结点;(3)对于任意一棵二叉树,如果其叶结点数为N0,而度数为2的结点总数为N2,则N0=N2+1;(4)具有n个结点的完全二叉树的深度为(5)有N个结点的完全二叉树各结点如果用顺序方式存储,则结点之间有如下关系: 若I为结点编号则如果I>1,则其父结点的编号为I/2;如果2*I<=N,则其左儿子(即左子树的根结点)的编号为2*I;若2*I>N,则无左儿子;如果2*I+1〈=N,则其右儿子的结点编号为2*I+1;若2*I+1〉N,则无右儿子。

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

1数据(Data ):是客观事物的符号表示。

在计算机科学中指的是所有能输入到计算机中并 被计算机程序处理的符号的总称。

数据元素(Data Element ):是数据的基本单位,在程序中通常作为一个整体来进行考虑和 处理。

一个数据元素可由若干个 数据项(Data Item )组成。

数据项是数据的不可分割的最小单位。

数 据项是对客观事物某一方面特性的数据描述。

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

如字符 集合 C={ ‘ A , 'B'。

,' C,…}数据结构(Data Structure ):是指相互之间具有(存在)一定联系(关系)的数据元素的集合。

元素 之间的相互联系(关系)称为逻辑结构。

数据元素之间的逻辑结构有四种基本类型,如图 1-3所示。

① ② ③ ④ 2、链式结构:数据元素存放的地址是否连续没有要求。

数据的逻辑结构和物理结构是密不可分的两个方面,一个算法的设计取决于所选定的逻辑 结构,而算法的实现依赖于所采用的存储结构。

在C 语言中,用一维数组表示顺序存储结构;用结构体类型表示链式存储结构。

3、 C 语言中用带指针的结构体类型来描述 typ edef struct Lnode { ElemType data;/*数据域,保存结点的值struct Ln ode *n ext;/* 指针域 */}LNode;/*结点的类型 */4、 循环队列为空:fron t=rear 。

循环队列满:(rear+1)%MAX_QUEUE_SIZE =front 。

5、 性质1:在非空二叉树中,第i 层上至多有2i-1个结点(i 仝1)。

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

性质3:对任何一棵二叉树,若其叶子结点数为 n 0,度为2的结点数为n 2,则n o = n 2+1。

一棵深度为 k 且有2k-1个结点的二叉树称为满二叉树(Full Bin ary Tree )。

完全二叉树的特点:若完全二叉树的深度为k ,则所有的叶子结点都出现在第k 层或k-1集合:结构中的数据元素除了“同属于一个集合”外,没有其它关系。

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

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

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

顺序结构:数据元素存放的地址是连续的 ;*/层。

对于任一结点,如果其右子树的最大层次为I,则其左子树的最大层次为I或1+1。

$ ◎奁-I I -①①还原成森林图6-22二义树还原成森林的过程6、 线索二叉树:设一棵二叉树有 n 个结点,则有n-1条边(指针连线),而n 个结点共有2n 个指针域(Lchild 和Rchild ),显然有n+1个空闲指针域未用。

则可以利 用这些空闲的指针域来存放结点的直接前驱和直接后继信息。

7、 Huffman 树:具有n 个叶子结点(每个结点的权值为 w i )的二叉树不止一棵,但在所有的这些二叉树中,必定存在一棵 WPL 值最小的树,称这棵树为Huffman 树(或 称最优树)。

性质5:若对一棵有n 个结点的完全二叉树(深度为 哋2n 」+1)的结点按层(从第1层到 第吨2n +1层)序自左至右进行编号,则对于编号为i (1 W i w n )的结 点:若i=1:则结点i 是二叉树的根,无双亲结点;否则,若i>1,则其双亲结点编号是 i/2 。

如果2i>n :则结点i 为叶子结点,无左孩子;否则,其左孩子结点编号是 2i 。

如果2i+1>n :则结点i 无右孩子;否则,(DI'片\致①①、•、't (?)宀扫)淼林(h )淼林中每操树 对应的二叉树(c )森林对应的二叉树 图6-21森林转换成二叉榊的过程j'、/(© 0 (M / * /y(町二义树(时去连线后)(\1W7-2Z 搖Sunk 汕 ff 注构追斌小生峨M 的过*V@ @ L?)③®⑧③③(⑥②③ (壬)(工 厂Hi第-步-口:a <7!I £8> (Th$ A ③③e II图矗上亏lluffnu»nW 的掏造过稈U) CS'f (j<* -----厂〔 ③G) d).r.n).些•一、1< T R )〔/■\i0 O Cs'ii j i •厂厂mn(3) ◎③ d)8、完全无向图:对于无向图,若图中顶点数为n 具有n(n-1)/2条边的无向图称为完全无向图。

完全有向图:对于有向图,若图中顶点数为 n ,用e 表示弧的数目,则e [0,n(n-1)]。

具有n(n-1)条边的有向图称为完全有向图。

生成树、生成森林:一个连通图(无向图)的生成树是一个极小连通子图,它含有图中全部个顶点和只有足以构成一棵树的 n-1条边,称为图的生成树关于无向图的生成树的几个结论:1) 2) 3) 4),用e 表示边的数目, 则e [0, n(n-1)/2]。

一棵有n 个顶点的生成树有且仅有 n-1条边;如果一个图有n 个顶点和小于n-1条边,则是非连通图; 如果多于n-1条边,则一定有环; 有n-1条边的图不- 1定是 生成树。

9、最小生成树(Minimum Spanning Tree):带权连通图中代价最小的生成树称为最小生成树。

最小生成树在实际中具有重要用途,如设计通信网。

设图的顶点表示城市,边表示两个城市之间的通信线路,边的权值表示建造通信线路的费用。

n 个城市之间最多可以建n (n-1)/2条线路,如何选择其中的n-1条,使总的建造费用最低 ?3-=<、1 ------ ! I一 (<■> J11H7-21 rc pE.HQ tr小G 皿Hf 的i?lV('' 1))小3丿yE V. 115 jT —:―'<|*>EJi7-;5带如向團及购離阵11、查找方法比较12、在随机情况下,二叉排序树的平均查找长度 ASL 和log (n)(树的深度)是等数量级的。

二叉排序树(Bi nary Sort Tree 或Bin ary Search Tree)的定义为:二叉排序树或者是空树, 是满足下列性质的二叉树。

(1) :若左子树不为空,则左子树上所有结点的值 (2) :若右子树不为空,则右子树上所有结点的值 (3) :左、右子树都分别是二叉排序树。

结论:若按中序遍历一棵二叉排序树,所得到的结点序列是一个递增序列。

13、平衡二叉树或者是空树,或者是满足下列性质的二叉树。

⑴:左子树和右子树深度之差的 绝对值不大于1;顺序查找 折半查找 分块查找ASL 最大 最小 两者之间表结构 有序表、无序表 有序表 分块有序表顺序存储结构顺序存储结构!厂〕r fvO©(v >输出Vi图几23有向图的拓扑卅JP 过程10、工程完成最短时间:从起点到终点的最长路径长度 度最长的路径称为关键路径,关键路径上的活动称为关键活动。

(路径上各活动持续时间之和)。

长 关键活动是影响整个工程的/• 20 60 7 10 6500 00 罚 70 00ffi 8 g30 40 Qo ao B 008 CO 35 ™00QO TO 20 QO DGh 15 80 ™ ™关键。

存储结构顺序存储结构线性链表线性链表或者(关键字)都小于根结点的值; (关键字)都大于根结点的值;⑵:左子树和右子树也都是平衡二叉树。

平衡因子(Balanee Factor):二叉树上结点的左子树的深度减去其右子树深度称为该结 点的平衡因子。

平衡二叉排序树上进行查找的平均查找长度和log O(log 2n)。

四种平衡化旋转,其正确性容易由 遍历所得中序序列不变”来证明。

并且,无论是哪种情况,平衡化旋转处理完成后,形成的新子树仍然是平衡二叉排序树,且其深度和插入前以a 为根结点的平衡二叉排序树的深度相同。

所以,在平衡二叉排序树上因插入结点而失衡, 仅需对失衡子树做平衡化旋转处理。

m 叉树:根结点或者是叶子,或者至少有两棵子树,至多有 m 棵子树; 除根结点外,所有非终端结点至少有 m/2棵子树,至多有 m 棵子树;所有叶子结点都在树的同一层上;每个结点应包含如下信息:(n, A o , K 1 , A 1 , K 2, A 2,…,K n , A n )其中氏(1 w i 是关键字,且 K i <K +1 (1 W i 琲)n A i (i=0, 1,…,n)为指向孩子结点的指针,且 A i-1所指向的子树中所有结点的关键字都小于K , A i 所指向的子树中所有结点的关键字都大于K i ; n 是结点中关键字的个数,且m/2 -1 w n, n+1为子树的棵数。

根据m 阶B_W 的定义,第一层上至少有1个结点,第二层上至少有2个结点;除根结点外, 所有非终端结点至少有m/2棵子树,…,第h 层上至少有m/2 h-2个结点。

在这些结点中: 根结点至少包含1个关键字,其它结点至少包含 m/2 -1个关键字,设s= m/2,则总的关键字数目n 满足:SQ 因此有:h W 1+ log s ((n+1)/2)=1 + log m/2((n+1)/2)即在含有n 个关键字的B_M 上进行查找时,从根结点到待查找记录关键字的结点 的路径上所涉及的结点数不超过1+ g m/2 ((n+1)/2)。

15、m 阶B +树。

它与的主要不同是叶子结点中存储记录。

在 B +树中,所有的非叶子 结点可以看成是索引,而其中的关键字是作为 分界关键字”用来界定某一关键字的记录所 在的子树。

一棵 m 阶B "树与m 阶B_树的主要差异是: ⑴ 若一个结点有n 棵子树,则必含有 n 个关键字;⑵所有叶子结点中包含了全部记录的关键字信息以及这些关键字记录的指针,而且叶子结 点按关键字的大小从小到大顺序链接;⑶ 所有的非叶子结点可以看成是索引的部分,结点中只含有其子树的根结点中的最大 最小)关键字。

在记录的关键字与记录的存储地址之间建立的一种对应关系叫哈希函数。

是从关键字空间到存储地址空间的一种映象。

可写成:addr(a i )=H(k i ),addr(ai )是a i 的地址,k i 是a i 的关键字。

由记录的关键字确定记录在表中的地址,并将记录放入此地址,例1 :设散列表长为7,记录关键字组为:15, 14, 28, 26, 56, 23,散列函数:H(key)=key MOD2n 是一个数量级的,平均时间复杂度为14、一棵m 阶B_树,或者是空树,或者是满足以下性质的 ⑴ ⑵ ⑶ ⑷16、哈希函数:哈希函数是一种映象, 其中i 是表中一个元素, 哈希表:应用哈希函数, 样构成的表叫哈希表。

相关文档
最新文档