李春葆《数据结构教程》(C++语言描述)模拟试题及详解(一~二)【圣才出品】

合集下载

李春葆《数据结构教程》(第4版)模拟试题及详解(一)(圣才出品)

李春葆《数据结构教程》(第4版)模拟试题及详解(一)(圣才出品)

第四部分模拟试题李春葆《数据结构教程》(第4版)模拟试题及详解(一)一、单项选择题(每小题2分,共20分)1.队列的特点是()。

A.先进后出B.先进先出C.任意位置进出D.前面都不正确【答案】B2.有n个记录的文件,如关键字位数为d,基数为r,则基数排序共要进行()遍分配与收集。

A.nB.dC.rD.n-d【答案】B【解析】基数排序是按组成关键字的各位值进行分配收集而完成的。

3.在二叉树节点的先序序列、中序序列和后序序列中,所有叶子节点的先后顺序()。

A.都不相同B.完全相同C.先序和中序相同,而与后序不同D.中序和后序相同,而与先序不同【答案】B【解析】无论是哪种遍历方式,遍历叶子节点时,都是先访问左子树,后访问右子树。

4.限定在一端加入和删除元素的线性表称为()。

A.双向链表B.单向链表C.栈D.队列【答案】C【解析】根据栈后进先出的特性,可见栈都在一端对元素进行操作。

5.设内存工作区可容纳8个记录,初始文件共有64个关键字不同的记录,且已按关键字递减排列,如用置换.选择排序产生初始归并段,最长初始归并段所含记录数是()。

A.6B.7C.8D.9【答案】C【解析】对于置换选择排序,输入的文件是以关键字降序排列时,所得的初始归并段的最大长度为工作区的大小。

当输入的文件以关键字的升序排序时,只能得到一个长度为文件长度的初始归并段。

6.设森林F对应的二叉树为B,它有m个节点,B的根为p,p的右子树上的节点个数为n,森林F中第一棵树的节点个数是()。

A.m-n-1B.n+lC.m-n+1D.m-n【答案】D7.设有198个初始归并段,如采用K-路平衡归并三遍完成排序,则K值最大为()。

A.12B.13C.14D.15【答案】C【解析】k一路平衡归并,归并趟数公式s=[1og k m],m指归并段数,s指趟数。

要三遍完成遍历,那就看两遍完成排序的需遍历的最小数。

把s=2和m=198带入公式,可知两遍完成排序时k最小为15,所以k<15。

李春葆《数据结构教程》(C++语言描述)模拟试题及详解(一)

李春葆《数据结构教程》(C++语言描述)模拟试题及详解(一)

李春葆《数据结构教程》(C++语⾔描述)模拟试题及详解(⼀)李春葆《数据结构教程》(C++语⾔描述)模拟试题及详解(⼀)⼀、单项选择题(每⼩题2分,共20分)1.队列的特点是()。

A.先进后出B.先进先出C.任意位置进出D.前⾯都不正确【答案】B2.有n个记录的⽂件,如关键字位数为d,基数为r,则基数排序共要进⾏()遍分配与收集。

A.nB.dC.rD.n-d【答案】B【解析】基数排序是按组成关键字的各位值进⾏分配收集⽽完成的。

3.在⼆叉树节点的先序序列、中序序列和后序序列中,所有叶⼦节点的先后顺序()。

A.都不相同B.完全相同C.先序和中序相同,⽽与后序不同D.中序和后序相同,⽽与先序不同【答案】B【解析】⽆论是哪种遍历⽅式,遍历叶⼦节点时,都是先访问左⼦树,后访问右⼦树。

4.限定在⼀端加⼊和删除元素的线性表称为()。

A.双向链表B.单向链表C.栈D.队列【答案】C【解析】根据栈后进先出的特性,可见栈都在⼀端对元素进⾏操作。

5.设内存⼯作区可容纳8个记录,初始⽂件共有64个关键字不同的记录,且已按关键字递减排列,如⽤置换.选择排序产⽣初始归并段,最长初始归并段所含记录数是()。

A.6B.7C.8D.9【答案】C【解析】对于置换选择排序,输⼊的⽂件是以关键字降序排列时,所得的初始归并段的最⼤长度为⼯作区的⼤⼩。

当输⼊的⽂件以关键字的升序排序时,只能得到⼀个长度为⽂件长度的初始归并段。

6.设森林F对应的⼆叉树为B,它有m个节点,B的根为p,p的右⼦树上的节点个数为n,森林F中第⼀棵树的节点个数是()。

A.m-n-1B.n+lC.m-n+1D.m-n【答案】D7.设有198个初始归并段,如采⽤K-路平衡归并三遍完成排序,则K值最⼤为()。

A.12B.13C.14D.15【答案】C【解析】k⼀路平衡归并,归并趟数公式s=[1og k m],m指归并段数,s指趟数。

要三遍完成遍历,那就看两遍完成排序的需遍历的最⼩数。

李春葆《数据结构教程》(C++语言描述)配套题库【课后习题】(线性表)

李春葆《数据结构教程》(C++语言描述)配套题库【课后习题】(线性表)
(10)以下关于链表的叙述中,不正确的是______。 A.结点除自身信息外还包括指针域,因此存储密度小于顺序存储结构 B.逻辑上相邻的元素物理上不必相邻 C.可以通过计算直接确定第 i 个结点的存储地址 D.插入、删除运算操作方便,不必移动结点 【答案】C 【解析】链表每个元素的存储地址是随机分配的,通过指针相连接,因此不能通过结算 直接缺点第 i 个结点的位置。
项;插入和删除操作不需要移动元素,则必须采取链表存储结构。
(12)不带头结点的单链表 head 为空的判定条件是______。 A.head=NULL B.head->next=NULL C.head->nex=head D.head!=NULL 【答案】A 【解析】由于单链表不带有头结点,其头指针所指向的元素即为第一个元素,因此只要 判断头指针指向元素为 NULL 即可知链表为空。
3 / 29
圣才电子书 十万种考研考证电子书、题库视频学习平台

杂,也不能实现随机读取元素,同时存储密度较低因而浪费存储空间。
(7)当线性表采用链表存储时,其存放元素的单元地址______。 A.必须是连续的 B.一定是不连续的 C.部分地址必须是连续的 D.连续与否均可以 【答案】D 【解析】线性表的采用链表存储,用指针记录对应元素的位置,对元素的存储位置没有 任何要求。
(13)某线性表最常用的操作是在最后一个结点之后插入一个结点或删除第一个结点, 故采用______存储方式最节省运算时间。
2 / 29
圣才电子书

为 Ο(n),D 项错误。
十万种考研考证电子书、题库视频学习平台
(5)将两个各有 n 个元素的递增有序顺序表归并成一个有序顺序表,其最少的比较次 数是______。

李春葆《数据结构教程》(C++语言描述)配套题库【课后习题】(串)

李春葆《数据结构教程》(C++语言描述)配套题库【课后习题】(串)

{
i=ch-'A'+10;
num[i]++;
}
}
(2)设计一个算法,将一个链串 S 中的所有子串”abc”删除。 答: String deleteabc(String S) {
String t=’abc’; String nstr; int i=0,j=0,k=0;
6 / 11
圣才电子书 十万种考研考证电子书、题库视频学习平台
(2)以下______是“abcd32lABCD”串的子串。 A.abcd B.B21AB C.”abcABC” D.“21AB” 【答案】D 【解析】串需要用引号引起来,没有引号的只是字符的罗列而不是串,因此 AB 项错误; 由在一个串中由任意连续的字符组成的子序列称为该串的子串可知,C 项中字符串并不包含
②对于模式串 t(t=t0t1…tm-1),求 next 数组时,next[i]在什么条件下取-1。 答:当 i=0 时,即 next[0]=-1。
(4)设目标串为 s=“abcaabbcaaabababaabca”,模式串为 p=“babab”。 ①计算模式 P 的 答:-1,0,1,2,0。 ②不写算法,只画出利用 KMP 算法进行模式匹配时的每一趟的匹配过程。
二、问答题 (1)若 s1 和 s2 为串,给出使 s1//s2=s2//s1 成立的所有可能的条件(其中,“//” 表示两个串连接的运算符)。 答:①s1 和 s2 之中至少有一个为空串 ②s1 和 s2 的值相等 ③s1 和 s2 之中某一个串可由另一个串经过重复得到。
3 / 11
圣才电子书 十万种考研考证电子书、题库视频学习平台
1 / 11
圣才电子书 十万种考研考证电子书、题库视频学习平台

李春葆《数据结构教程》(C++语言描述)配套题库【课后习题】(外排序)

李春葆《数据结构教程》(C++语言描述)配套题库【课后习题】(外排序)

第10章外排序一、单项选择题(1)以下关于外排序的叙述正确的是______。

A.外排序把外存文件调入内存,再利用内排序方法进行排序,所以外排序所花的时间完全由采用的内排序确定B.外排序所花的时间=内排序时间+外存信息读/写时间+内部归并所花的时间C.外排序并不涉及文件的读/写操作D.外排序完全可以由内排序来替代【答案】B【解析】外排序所花的时间由内排序时间、外存读写时间、内部归并时间三部分时间构成,因此AC两项错误,B项正确;外排序要将文件读取到内存中进行排序,但是由于文件大小可能会大于内存的最大容量,因此外排序不能完全由内排序替代。

(2)如果将一个由置换-选择排序得到的输出文件F1(含所有初始归并段)作为输入文件再次进行置换-选择排序,得到输出文件F2(含所有初始归并段),则F1和F2的差异是______。

A.F2中归并段的个数减少B.F2中归并段的最大长度增大C.F2和F1无差异D .归并段个数及各归并段长度均不变,但F 2中可能存在与F 1不同的归并段【答案】C 【解析】当进行一次置换-选择排序后,文件的归并段即达到理想状态,无论再进行多少次排序,均不会发生变化,因此答案为C 项。

(3)采用败者树进行k 路平衡归并的外排序算法,其总的归并效率与k______。

A .有关B .无关【答案】A【解析】利用败者树进行k 路平衡归并不会影响总共需要的关键字比较次数,但是随着k 的增大,归并树的高度会减小,磁盘读/写的次数也就相应减少,从而提高总的归并效率,因此答案为A 项。

(4)对m 个初始归并段实施k 路平衡归并排序,所需的归并趟数是______。

A .1B .m/kC ./m k ⎡⎤⎢⎥D .log k m ⎡⎤⎢⎥【答案】D【解析】采用k 路归并,相应的归并树就有log k m ⎡⎤⎢⎥+1层,则需要归并的趟数为log k m ⎡⎤⎢⎥,答案为D 项。

(5)设有100个初始归并段,如果采用k 路平衡归并3趟完成排序,则k 值最小是______。

李春葆《数据结构教程》(第4版)课后习题-第一章至第十二章(圣才出品)

李春葆《数据结构教程》(第4版)课后习题-第一章至第十二章(圣才出品)

第二部分课后习题第1章绪论1.简述数据与数据元素的关系与区别。

答:凡是能被计算机存储、加工的对象统称为数据,数据是一个集合。

数据元素是数据的基本单位,是数据的个体。

数据与元素之间的关系是元素与集合之间的关系。

2.数据结构和数据类型有什么区别?答:数据结构是互相之间存在一种或多种特定关系的数据元素的集合,一般包括三个方面的内容,即数据的逻辑结构、存储结构和数据的运算。

而数据类型是一个值的集合和定义在这个集合上的一组运算的总称,如C语言中的int数据类型是由-32768~32767(16位机)的整数和+、-、*、/、%等运算符组成。

3.设3个表示算法频度的函数f、g和h分别为:f(n)=100n3+n2+1000g(n)=25n3+5000n2h(n)=n1.5+5000nlog2n求它们对应的时间复杂度。

答:f(n)=100n3+n2+1000=O(n3),g(n)=25n3+5000n2=O(n3),当n→∞时,√n>log2n,所以h(n)=n1.5+5000nlog2n=O(n1.5)。

4.用C/C++语言描述下列算法,并给出算法的时间复杂度。

(1)求一个n阶方阵的所有元素之和。

(2)对于输入的任意三个整数,将它们按从小到大的顺序输出。

(3)对于输入的任意n个整数,输出其中的最大和最小元素。

答:(1)算法如下:本算法的时间复杂度为O(n2)。

(2)算法如下:本算法的时间复杂度为O(1)。

(3)算法如下:本算法的时间复杂度为O(n)。

5.设n为正整数,给出下列各种算法关于n的时间复杂度。

(1)(2)(3)答:(1)设while循环语句执行次数为T(n),则:(2)算法中的基本运算语句是if(b[k]>b[j])k=j,其执行次数T(n)为:(3)设while循环语句执行次数为T(n),则:则6.有以下递归算法用于对数组a[i..j]的元素进行归并排序:求mergesort(a,0,n-1)的时间复杂度。

李春葆《数据结构教程》(第4版)课后习题-绪论(圣才出品)

第二部分课后习题第1章绪论1.简述数据与数据元素的关系与区别。

答:凡是能被计算机存储、加工的对象统称为数据,数据是一个集合。

数据元素是数据的基本单位,是数据的个体。

数据与元素之间的关系是元素与集合之间的关系。

2.数据结构和数据类型有什么区别?答:数据结构是互相之间存在一种或多种特定关系的数据元素的集合,一般包括三个方面的内容,即数据的逻辑结构、存储结构和数据的运算。

而数据类型是一个值的集合和定义在这个集合上的一组运算的总称,如C语言中的int数据类型是由-32768~32767(16位机)的整数和+、-、*、/、%等运算符组成。

3.设3个表示算法频度的函数f、g和h分别为:f(n)=100n3+n2+1000g(n)=25n3+5000n2h(n)=n1.5+5000nlog2n求它们对应的时间复杂度。

答:f(n)=100n3+n2+1000=O(n3),g(n)=25n3+5000n2=O(n3),当n→∞时,√n>log2n,所以h(n)=n1.5+5000nlog2n= O(n1.5)。

4.用C/C++语言描述下列算法,并给出算法的时间复杂度。

(1)求一个n阶方阵的所有元素之和。

(2)对于输入的任意三个整数,将它们按从小到大的顺序输出。

(3)对于输入的任意n个整数,输出其中的最大和最小元素。

答:(1)算法如下:本算法的时间复杂度为O(n2)。

(2)算法如下:本算法的时间复杂度为O(1)。

(3)算法如下:本算法的时间复杂度为O(n)。

5.设n为正整数,给出下列各种算法关于n的时间复杂度。

(1)(2)(3)答:(1)设while循环语句执行次数为T(n),则:(2)算法中的基本运算语句是if(b[k]>b[j])k=j,其执行次数T(n)为:(3)设while循环语句执行次数为T(n),则:则6.有以下递归算法用于对数组a[i..j]的元素进行归并排序:求mergesort(a,0,n-1)的时间复杂度。

数据结构答案李春葆第1章绪论

第1章绪论教材中练习题及参考答案1. 简述数据与数据元素的关系与区别。

答:凡是能被计算机存储、加工的对象统称为数据,数据是一个集合。

数据元素是数据的基本单位,是数据的个体。

数据元素与数据之间的关系是元素与集合之间的关系。

2. 采用二元组表示的数据逻辑结构S=<D,R>,其中D={a,b,…,i},R={r},r={<a,b>,<a,c>,<c,d>,<c,f>,<f,h>,<d,e>,<f,g>,<h,i>},问关系r是什么类型的逻辑结构?哪些结点是开始结点,哪些结点是终端结点?答:该逻辑结构为树形结构,其中a结点没有前驱结点,它是开始结点,b、e、i和g、结点没有后继结点,它们都是终端结点。

3. 简述数据逻辑结构与存储结构的关系。

答:在数据结构中,逻辑结构与计算机无关,存储结构是数据元素之间的逻辑关系在计算机中的表示。

存储结构不仅将逻辑结构中所有数据元素存储到计算机内存中,而且还要在内存中存储各数据元素间的逻辑关系。

通常情况下,一种逻辑结构可以有多种存储结构,例如,线性结构可以采用顺序存储结构或链式存储结构表示。

4. 简述数据结构中运算描述和运算实现的异同。

答:运算描述是指逻辑结构施加的操作,而运算实现是指一个完成该运算功能的算法。

它们的相同点是,运算描述和运算实现都能完成对数据的“处理”或某种特定的操作。

不同点是,运算描述只是描述处理功能,不包括处理步骤和方法,而运算实现的核心则是设计处理步骤。

5. 数据结构和数据类型有什么区别?答:数据结构是相互之间存在一种或多种特定关系的数据元素的集合,一般包括三个方面的内容,即数据的逻辑结构、存储结构和数据的运算。

而数据类型是一个值的集合和定义在这个值集上的一组运算的总称,如C语言中的short int数据类型是由-32768~32767(16位机)的整数和+、-、*、/、%等运算符构成。

李春葆《数据结构教程》(C++语言描述)配套题库【课后习题】(查 找)

(9)含有 20 个结点的 AVL 树的最小高度是______。 A.4 B.5 C.6 D.7
4 / 14
圣才电子书

【答案】B
十万种考研考证电子书、题库视频学习平台
【解析】与(8)同理可知答案为 B 项。
(10)在一棵 rn-阶 B 树中,有 k 个孩子结点的非叶子结点恰好包含______关键字。 A.k+1 B.k C.k-1 D.m/2 【答案】C 【解析】按照 B-树的定义可知,有 k 个孩子结点的非叶子节点应该有 k-1 个关键字, 答案为 C 项。
大高度应为 log2 (2047 1) 1 12 ,答案为 B 项。
(13)在以下查找方法中,查找效率与记录个数 n 无直接关系的是______。 A.顺序查找 B.折半查找 C.哈希查找 D.二叉排序树查找 【答案】C 【解析】哈希查找时的平均查找长度不是元素个数 n 的函数,而是装填因子 a 的函数。 因此答案应为 C 项。
(2)在对线性表进行折半查找时,要求线性表必须______。 A.以顺序方式存储 B.以链接方式存储 C.以顺序方式存储,且结点按关键字有序排序 D.以链表方式存储,且结点按关键字有序排序 【答案】C 【解析】对线性表进行折半查找时要求线性表必须以顺序方式存储,且结点按关键字有
1 / 14
圣才电子书 十万种考研考证电子书、题库视频学习平台
(7)一棵二叉排序树是由关键字集合{18,43,27,44,36,39}构建的,其中序遍 历序列是______。
3 / 14
圣才电子书 十万种考研考证电子书、题库视频学习平台

A.树形未定,无法确定 B.18,43,27,77,44,36,39 C.18,27,36,39,43,44,77 D.77,44,43,39,36,27,18 【答案】C 【解析】二叉排序树的中序遍历即为有序递增序列,因此答案应为 C 项。

李春葆《数据结构教程》笔记和课后习题详解-第一章至第二章【圣才出品】

第1章绪论1.1复习笔记一、数据结构1.概述(1)计算机对具体问题的处理在用计算机解决一个具体的问题时,大致需要经过以下几个步骤:①分析问题,确定数据模型。

②设计相应的算法。

③编写程序,运行并调试程序,直至得到正确的结果。

(2)数据的含义①数据是描述客观事物的数、字符以及所有能输入到计算机中并被计算机程序处理的符号的集合。

从计算机的角度看,数据是所有能被输入到计算机中,且能被计算机处理的符号的集合。

它是计算机操作的对象的总称,也是计算机所处理信息的某种特定的符号表示形式。

②数据元素是组成数据的、有一定意义的基本单位,在计算机中通常作为整体处理,有些情况下数据元素也称为元素、结点、记录等。

一个数据元素可以由若干个数据项组成。

数据项是具有独立含义的数据的最小单位,也称为域。

③数据对象是性质相同的有限个数据元素的集合,它是数据的一个子集。

默认情况下,数据结构中的数据指的都是数据对象。

(3)数据结构的定义数据结构是指所有数据元素以及数据元素之间的关系,可以看作是相互之间存在特定关系的数据元素的集合,因此,可时把数据结构看成是带结构的数据元素的集合。

数据结构包括以下几个方面:①数据元素之间的逻辑关系,即数据的逻辑结构,它是数据结构在用户面前呈现的形式。

数据的逻辑结构是从逻辑关系(主要指数据元素的相邻关系)上描述数据的,它与数据的存储无关,是独立于计算机的。

因此,数据的逻辑结构可以看作是从具体问题抽象出来的数学模型。

②数据元素及其关系在计算机存储器中的存储方式,即数据的存储结构,也称为数据的物理结构。

数据的存储结构是逻辑结构用计算机语言的实现或在计算机中的表示(也称为映像),也是指逻辑结构在计算机中的存储方式,它是依赖于计算机语言的。

一般情况下,只在高级语言(如C、C++、Java语言)的层次上讨论存储结构。

③施加在该数据上的操作,即数据的运算。

数据的运算是定义在数据的逻辑结构之上的,每种逻辑结构都有一组相应的运算。

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

李春葆《数据结构教程》(C++语言描述)模拟试题及详解(一)
一、单项选择题(每小题2分,共20分)
1.队列的特点是()。

A.先进后出
B.先进先出
C.任意位置进出
D.前面都不正确
【答案】B
2.有n个记录的文件,如关键字位数为d,基数为r,则基数排序共要进行()遍分配与收集。

A.n
B.d
C.r
D.n-d
【答案】B
【解析】基数排序是按组成关键字的各位值进行分配收集而完成的。

3.在二叉树节点的先序序列、中序序列和后序序列中,所有叶子节点的先后顺序()。

A.都不相同
B.完全相同
C.先序和中序相同,而与后序不同
D.中序和后序相同,而与先序不同
【答案】B
【解析】无论是哪种遍历方式,遍历叶子节点时,都是先访问左子树,后访问右子树。

4.限定在一端加入和删除元素的线性表称为()。

A.双向链表
B.单向链表
C.栈
D.队列
【答案】C
【解析】根据栈后进先出的特性,可见栈都在一端对元素进行操作。

5.设内存工作区可容纳8个记录,初始文件共有64个关键字不同的记录,且已按关键字递减排列,如用置换.选择排序产生初始归并段,最长初始归并段所含记录数是()。

A.6
B.7
C.8
D.9
【答案】C
【解析】对于置换选择排序,输入的文件是以关键字降序排列时,所得的初始归并段的最大长度为工作区的大小。

当输入的文件以关键字的升序排序时,只能得到一个长度为文件长度的初始归并段。

6.设森林F对应的二叉树为B,它有m个节点,B的根为p,p的右子树上的节点个数为n,森林F中第一棵树的节点个数是()。

A.m-n-1
B.n+l
C.m-n+1
D.m-n
【答案】D
7.设有198个初始归并段,如采用K-路平衡归并三遍完成排序,则K值最大为()。

A.12
B.13
C.14
D.15
【答案】C
【解析】k一路平衡归并,归并趟数公式s=[1og k m],m指归并段数,s指趟数。

要三遍完成遍历,那就看两遍完成排序的需遍历的最小数。

把s=2和m=198带入公式,可知两遍完成排序时k最小为15,所以k<15。

8.下面关于广义表的叙述中,不正确的是()。

A.广义表可以是一个多层次的结构
B.广义表至少有一个元素
C.广义表可以被其他广义表所共享
D.广义表可以是一个递归表
【答案】B
【解析】B项错误,广义表可以不包含任何元素。

9.如以顺序表示存储二叉树,每个节点占用一个存储单元,则深度为K的单左枝二叉树共浪费()个存储单元。

A.2K-1-K
B.2K-1-K-1
C.2K-K-1
D.2K-K+1
【答案】A
【解析】要用顺序表示存储二叉树,应补充虚拟节点构成一个完全二叉树,本题中完全二叉树的前K-1导为一个满二叉树,节点数为2K-1-1,第K层的节点数为1,可知节点总数为2K-1,可知要浪费2K-1-K,进而可知浪费2K-1-K个存储单元。

10.从L=((apple,pear),(orange,banana))中,取出banana元素的表达式为()
A.
B.
C.
D.
【答案】D
【解析】tail(L)获得除首元素外所有的元素组成的表。

Head(L)获得表中第一个元素。

二、(共10分)
试对如图5-1中的二叉树画出其:
(1)顺序存储表示;
(2)二叉链表存储表示的示意图。

图5-1二叉树示意图
答:(1)用一组连续的存储单元来存储二叉树的数据元素,对完全二叉树,只要按点编号i存储到相应位置即可;对于一般二叉树,需按完全二叉树的形式来存储,必须处理不存在的节点。

二叉树的顺序存储表示如表5-1所示。

表5-1二叉树的顺序存储表
(2)链式存储结构二叉树一般都使用二叉链表作为存储结构,每个节点包含三个域,数据域及左右指针域,分别指向左右孩子。

二叉树的二叉链表存储表示的示意图如图5-2所示:
图5-2二叉树的二义链表存储表示示意图
三、(共10分)
判断以下序列是否是小根堆?如果不是,将它调整为小根堆。

(1){12,70,33,65,24,56,48,92,86,33}
(2){05,23,20,28,40,38,29,61,35,76,47,100)
答:做法就是把序列写成完全二叉树,看父节点都是否比孩子结点小,如果是那就是最小根堆。

(1)不是小根堆。

调整为:{12,24,33,65,33,56,48,92,86,70}
(2)是小根堆。

四、(本题10分)
已知一个图的顶点集V和边集E分别为:。

相关文档
最新文档