《2022年电大数据结构期末综合练习3.docx》由会员分享,可在线阅读,更多相关《2022年电大数据结构期末综合练习3.docx(37页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精品学习资源数据结构(本)期末综合练习2021 年 6 月为了帮忙同学们进行期末复习,特拟定以下三套期末综合练习题,望同学们逐一仔细完成;数据结构(本)期末综合练习一一、单项挑选题1. 针对线性表,在储备后假如最常用的操作是取第i个结点及其前驱,就采纳()储备方式最节约时间;A单链表B双链表C单循环链表D 次序表2. 线性表采纳链式储备时,其地址();A 肯定是不连续的B 必需是连续的C可以连续也可以不连续D 部分地址必需是连续的3数据结构中,与所使用的运算机无关的是数据的()结构;A物理B储备C规律与物理D 规律4带头结点的单向链表的头指针为head,该链表为空的判定条件是()的值为真;A
2、head= =NULLB head-next=headC head-next=NULL D head =head-next 5以下特点中,()不是算法的特性;A有穷性B确定性C可行性D有 0 个或多个输出6. 设次序储备的线性表长度为n,对于插入操作,设插入位置是等概率的,就插入一个元素平均移动元素的次数为();A n/2B nC n-1D n-i+17. 设有一个长度为n 的次序表,要在第i个元素之前(也就是插入元素作为新表的第i 个元素),就移动元素个数为();A n-i+1B n-iCn-i-1D i8. 一个栈的进栈序列是5, 6, 7,8,就栈的不行能的出栈序列是()(进出栈操作可以
3、交替进行)A 5, 8, 6, 7B 7, 6, 8, 5 C7, 6, 5,8D 8, 7, 6, 59. 栈的插入删除操作在()进行;A栈底B任意位置C指定位置D 栈顶10. 栈和队列的相同点是();A 都是后进先出B都是后进后出C规律结构与线性表不同D 规律结构与线性表相同,都是操作规章受到限制的线性表11以下说法正确选项();A栈的特点是先进先出,队列的特点是先进后出B 栈和队列的特点都是先进后出1 / 33欢迎下载精品学习资源C栈的特点是先进后出,队列的特点是先进先出D 栈和队列的特点都是先进先出12. 在 C 语言中,利用数组a 存放字符串“ Hello ”,以下语句中正确选项()
4、;A char a10= “ Hello ”;B char a10 ; a=“ Hello ”;C char a10= Hello ;D char a10= H ,e,l,l ,o ;13. 元素 2, 4, 6, 8 按次序依次进栈,就该栈的不行能输出序列是()(进栈出栈可以交替进行);A 8, 6, 4, 2B 2, 4, 6, 8C 4, 2, 8, 6 D 8, 6,2, 414. 设有一个 15 阶的对称矩阵 A ,采纳压缩储备方式将其下三角部分以行序为主序存储到一维数组 b 中;(矩阵A 的第一个元素为 a1,1,数组 b 的下标从 1 开头),就数组元素 b13 对应 A 的矩阵
5、元素是();A a5,3B a6,4C a7,2D a6,815. 设有一个 15 阶的对称矩阵A,采纳压缩储备的方式,将其下三角部分以行序为主序储备到一维数组B 中(数组下标从 1 开头),就矩阵中元素a7,6 在一维数组 B 中的下标是();A 42B 13 C 27 D 3216. 一棵完全二叉树共有30 个结点,就该树一共有()层 根结点所在层为第一层;A 6B4C 3D 517. 串函数 StrCmp(“ d”,“ D”)的值为();A 0B 1 C -1D 3 18以下说法正确选项();A. 连通图 G 的生成树中不肯定包含G 的全部顶点B. 连通图 G 的生成树中肯定要包含G 的
6、全部边C. 连通图 G 的生成树肯定是唯独的D. 连通图 G 肯定存在生成树19 在一棵二叉树中,如编号为i的结点存在右孩子,就右孩子的次序编号为();A 2iB 2i-1C 2i+2D 2i+120. 对二叉排序树进行()遍历,遍历所得到的序列是有序序列;A 按层次B前序C中序D后序21. 设一棵有 n 个结点采纳链式储备的二叉树,就该树共有()个指针域为空;A 2nB 2n+1 C 2n+2 D n+1 22以下排序算法中,在一趟排序过程中,除了其它相关操作外,只进行一次元素间的交换的算法是();A直接挑选B冒泡C直接插入D 折半插入23. 已知如图 1 所示的一个图,如从顶点a 动身,按
7、广度优先搜寻法进行遍历,就可能得到的一种顶点序列为();A abcedf B abcefd C aebcfdD acfdebabe2 / 33cdf欢迎下载精品学习资源图 124. 对长度为 n 的线性表进行次序查找,在等概率情形下,平均查找长度为();A nB( n+1 )/2 C 2nD n-125在有序表 1 , 3, 8, 13, 33, 42, 46, 63, 76, 78, 86, 97, 100 中,用折半查找值 86 时,经()次比较后查找胜利;A 6B 3 C 8 D 426. 如图如从顶点a 动身按深度优先搜寻法进行遍历,就可能得到的顶点序列为();欢迎下载精品学习资源A.
8、 acfgedbB. aedcbgfC. acfebdgD. aecbdgfabec欢迎下载精品学习资源dgf27. 有一个长度为10 的有序表,按折半查找对该表进行查找,在等概率情形下查找胜利的平均比较次数为();A 29/10B 31/10 C 26/10D 29/928. 一棵哈夫曼树有12 个叶子结点(终端结点),该树总共有()个结点;A 22B 21C 23D 2429一组记录的关键字序列为(37, 70, 47, 29, 31, 85),利用快速排序,以第一个关键字为分割元素,经过一次划分后结果为();A 31, 29, 37, 47, 70, 85B 29, 31, 37,47,
9、 70,85 C31, 29,37, 70, 47, 85D 31,29, 37,85, 47,7030队列的删除操作在()进行;A队头B队尾C 队头或队尾D在任意指定位置欢迎下载精品学习资源得分评卷人二、填空题欢迎下载精品学习资源1. 把数据储备到运算机中,并详细表达数据之间的规律结构称为 结构;2. 设有一个不带头结点的单向循环链表,结点的指针域为next,指针 p 指向尾结点, 现要使 p 指向第一个结点,可用语句 ;3. 结构中的数据元素存在一对一的关系称为 结构;4. 要在一个带头结点的单向循环链表中删除头结点,得到一个新的不带头结点的单向欢迎下载精品学习资源循环链表,如结点的指针域
10、为next ,头指针为head,尾指针为p,就可执行head=head-next;5. 在双向链表中,每个结点有两个指针域,一个指向 ,另一个指向 _;6. 设有一个非空的链栈,栈顶指针为hs,要进行出栈操作,用x 储存出栈结点的值, 栈结点的指针域为next,数据域为 data,就可执行 x=;和hs=;7. 设有一个头指针为head 的单向链表, p 指向表中某一个结点,且有p-next=NULL,通过操作,就可使该单向链表构造成单向循环链表;8. 循环队列的最大储备空间为MaxSize ,队头指针为f,队尾指针为r ,当时说明队列已满;9. 从一个栈顶指针为h 的链栈中删除一个结点时,用
11、x 储存被删结点的值,可执行x=h-data;和_;结点的指针域为 next10. 程序段 int count=0 ; char *s= ”ABCD ”; while*s.= 0s+ ;count+ ;执行后 count= 11两个串相等的充分必要条件是 ;12. 一棵二叉树总结点数为11 ,叶结点数为5 ,该树有个双分支结点, 个单分支结点;13. 对二叉树的遍历可分为 、四种不同的遍历次序;14. 设一棵完全二叉树,其最高层上最右边的叶结点的编号为偶数,该叶节点的双亲结点的编号为 9,该完全二叉树一共有个结点;15. 一棵有n 个叶结点的二叉树,其每一个非叶结点的度数都为2,就该树共有 个
12、结点;16. 双向循环链表中, p 指向表中某结点,就通过p 可以拜访到 p 所指结点的直接后继结点和直接前驱结点,这种说法是 的(回答正确或不正确);17. 一棵有 14 个结点的完全二叉树,就它的最高层上有 个结点;18. 栈和队列的操作特点分别是 和;19. 如图 2 所示的二叉树,其先序遍历序列为 ;abcdefhgi图 2欢迎下载精品学习资源20. 折半查找只适用于储备的有序表;欢迎下载精品学习资源21. 哈希函数是记录关键字值与该记录22. 深度为 k 的二叉树最多有结点; 之间所构造的对应关系;欢迎下载精品学习资源23. 二叉树排序中任一棵子树都是二叉排序树,这种说法是 的; 回
13、答正确或不正确得 分评卷人三、综合题24. 串的两种最基本的储备方式是 _和;1设一组记录的关键字序列为(49, 83, 59, 41, 43, 47),采纳堆排序算法完成以下操作:(要求小根堆,并画出中间过程)( 1)以二叉树描述 6 个元素的初始堆( 2)以二叉树描述逐次取走堆顶元素后,经调整得到的5 个元素、 4 个元素的堆2设有一个不带头结点的单向链表,头指针为head,结点类型为NODE ,每个结点包含一个数据域data 和一个指针域 next,该链表有两个结点,p 指向其次个结点(尾结点),按以下要求写出相应语句(不要求完整程序,(1)、( 2 )、( 3 )、( 4)是一个连续的
14、过程);( 1)新开创一个结点,使指针s 指向该结点,结点的数据成员data 赋值为 1( 2)把该结点插入链表的尾部,释放指针s 的指向( 3)删除链表的第一个结点( 4)已知 p1 指向另一个新结点,把它插入到p 所指结点和尾结点之间3设有序表为( 13, 19, 25, 36,48, 51, 63,84, 91, 116, 135, 200),元素的下标依次为 1,2, ,12;( 1)说出有哪几个元素需要经过4 次元素间的比较才能胜利查到( 2)画出对上述有序表进行折半查找所对应的判定树(树结点用下标表示)( 3)设查找元素 5,需要进行多少次元素间的比较才能确定不能查到4( 1)设有
15、序列 10 , 12 , 15, 19, 22, 25, 100, 130, 150 , 200 画出对上述序列进行折半查找的判定树(以序列中的元素作为树的结点)( 2)为了胜利查找到100 需要进行多少次元素间的比较?为了查找9,经过多少次元素间的比较可知道查找失败?欢迎下载精品学习资源5( 1)对给定数列 7,16,4,8,20,9,6,18,5 ,依次取数列中的数据,构造一棵二叉排序树;2 对一个给定的查找值,简述针对二叉排序树进行查找的算法步骤,在上述二叉树中查找元素 20 共要进行多少次元素的比较.61 设有查找表 5,14,2,6,18,7,4,16,3, 依次取表中数据,构造一棵
16、二叉排序树;( 2)说明如何由序列的二叉排序树得到相应序列的排序结果,对上述二叉排序给出中序遍历的结果;四、程序填空题1. 以下冒泡法程序对存放在a1 , a2 , an 中的序列进行排序,完成程序中的空格部分,其中n 是元素个数,要求按升序排列;void bsort NODE a , int n NODE temp ;int i,j,flag;forj=1;( 1);j+ ;flag=0;fori=1;( 2); i+ ifai.keyai+1.keyflag=1;temp=ai;( 3);( 4);ifflag= =0break;程序中 flag的功能是( 5)2. 以下程序是先序遍历二叉
17、树的递归算法的程序,完成程序中空格部分(树结构中左、右指针域分别为left 和 right ,数据域 data 为字符型, BT 指向根结点);void Preorder struct BTreeNode *BTifBT.=NULL( 1);( 2);( 3);欢迎下载精品学习资源3. 设线性表为(6, 10, 16, 4),以下程序用说明结构变量的方法建立单向链表,并输出链表中各结点中的数据;#define NULL 0 void main NODE a,b,c,d,*head,*p ;a.data=6;b.data=10;c.data=16;d.data=4; /*d 是尾结点 */ he
18、ad= (1);a.next=&b;b.next=&c;c.next=&d;( 2); /* 以上终止建表过程 */ p=head; /*p 为工作指针,预备输出链表 */doprintf “%dn”, (3);( 4);while (5);4. 以下程序是中序遍历二叉树的递归算法的程序,完成程序中空格部分(树结构中左、右指针域分别为left 和 right ,数据域 data 为字符型, BT 指向根结点);void Inorder struct BTreeNode *BTifBT.=NULL( 1);( 2);( 3);欢迎下载精品学习资源答案一、单项挑选题1 D2 C3 D 4 C5 D
19、 6 A7 A8 A9 D10 D11 C12 A13 D14 A15 C16 D 17 B18 D19 D20 C21.D22 A 23 B 24 、B 25 D26 A27A28 C29 A30 A二、填空题1物理(储备)3线性5结点的直接后继结点的直接前驱7 p-next=head ;9 h=h-next ;11串长度相等且对应位置的字符相等13先序、中序、后序、层次15 2n-117 719 abdgcefhi 21储备地址23正确2 p=p-next ;4 p-next=head ;6 hs-data;hs-next;8( r+1 )%MaxSize=f10 412 4;214 18
20、 16正确18先进后出(后进先出)先进先出(后进后出)20次序储备结构22 2k-124次序储备 链式储备三、综合题欢迎下载精品学习资源11494949欢迎下载精品学习资源835941434783474143594147834359欢迎下载精品学习资源4141欢迎下载精品学习资源49478343594347834959欢迎下载精品学习资源图 3欢迎下载精品学习资源2594343欢迎下载精品学习资源434759474947欢迎下载精品学习资源834941834941835941欢迎下载精品学习资源475949495947欢迎下载精品学习资源834341834341欢迎下载精品学习资源图 42(
21、1) s=(NODE* ) mallocsizeofNODE ;s-data=1;( 2) p-next=s ;s-next= NULL ;frees( 3)head =head -next;( 4)p1-next= p-next ;p-next=p 1;3119 ,48, 84,116, 2002639147112581012图 533 次欢迎下载精品学习资源4( 1)2212130欢迎下载精品学习资源欢迎下载精品学习资源1015251910015021000 / 33欢迎下载精品学习资源( 2) 4 次; 3 次51741668205918图 62 先将给定值与根结点比较,如相等就查找胜利
22、,否就如小于根结点就在左子树中连续查找,大于根结点在右子树中查找,查找20 共进行 3 次比较;61521446183716图 62 中序遍历中序 2, 3, 4, 5,6, 7, 14,16, 18四、程序填空题1欢迎下载精品学习资源(1) j=n-1(2) idata(2) PreorderBT-left(3) PreorderBT-right3( 1) &a( 2) d next=NULL( 3) p-data( 4) p=p-next( 5) p.=NULL4( 1) InorderBT-left( 2) printf“ %c” ,BT-data( 3) InorderBT-right
23、数据结构(本)期末综合练习二2021 年 6 月一、单项挑选题1. 数据元素是数据的基本单位,它();A 只能有一个数据项组成B至少有二个数据项组成C可以是一个数据项也可以由如干个数据项组成D 至少有一个数据项为指针类型2. 一种规律结构()储备结构;A 可以有不同的B 只能有唯独的C的数据元素在运算机中的表示称为D 的数据元素之间的关系称为3. 线性表的次序结构中,();A 规律上相邻的元素在物理位置上不肯定相邻B 数据元素是不能随机拜访的C规律上相邻的元素在物理位置上也相邻D 进行数据元素的插入、删除效率较高4以下说法中不正确选项();欢迎下载精品学习资源A 双向循环链表中每个结点需要包含
24、两个指针域B 已知单向链表中任一结点的指针就能拜访到链表中每个结点C次序储备的线性链表是可以随机拜访的D 单向循环链表中尾结点的指针域中存放的是头指针5以下表中可以随机拜访的是();A单向链表B双向链表C单向循环链表 D 次序表6双向循环链表结点的数据类型为:struct nodeint data ;struct node *next ; /* 指向直接后继 */ struct node *prior ; ;设 p 指向表中某一结点,要显示p 所指结点的直接前驱结点的数据元素,可用操作();A printf “%d”,p-next-data ;B printf “%d”,p-prior-dat
25、a ;Cprintf “%d”,p-prior-next ;D printf “%d”,p-data;7. 设次序储备的线性表长度为n,对于删除操作,设删除位置是等概率的,就删除一个元素平均移动元素的次数为();A n+1/2B nC 2nD n-i8. 一个栈的进栈序列是efgh,就栈的不行能的出栈序列是()(进出栈操作可以交替进行);A hgfeB gfehC fgehD ehfg9. 设 top 是一个链栈的栈顶指针,栈中每个结点由一个数据域data 和指针域 next 组成,设用 x 接收栈顶元素,就出栈操作为();A x=top-data ; top=top-next ;B top=
26、top-next ;x=top-data ;Cx=top-next ; top=top-data ;D top-next =top ;x=top-data ;10. 设 top 是一个链栈的栈顶指针,栈中每个结点由一个数据域data 和指针域 next 组成, 设用 x 接收栈顶元素,就取栈顶元素的操作为();A top-data= x ;Btop=top-next ;C x=top-data ;D x=top-data ;top=top-next ;11. 以下说法正确选项();A 队列是后进先出B栈的特点是后进后出C栈的删除和插入操作都只能在栈顶进行D 队列的删除和插入操作都只能在队头进行
27、12以下说法不正确选项();A 栈的特点是后进先出B队列的特点是先进先出C栈的删除操作在栈底进行,插入操作在栈顶进行 D队列的插入操作在队尾进行,删除操作在队头进行13串函数 StrCmp “abA”,”aba”的值为();A 1B 0C“ abAaba”D -1 14 char *p ;p=StrCat “ABD ”,”ABC ” ;欢迎下载精品学习资源Printf “%s”,p;的显示结果为();A -1B ABDABCCABD 115设有一个 12 阶的对称矩阵 A ,采纳压缩储备方式将其下三角部分以行序为主序储备到一维数组 b 中(矩阵 A 的第一个元素为a1,1,数组 b 的下标从
28、1 开头),就矩阵A 中第 4 行的元素在数组 b 中的下标 i 肯定有();A 、7i 10B 、11 i 15C、9 i 14D、6 i 9 16深度为 5 的满二叉树至多有()个结点(根结点为第一层)A 40B 31C 34D 3517. 已知一个图的边数为m,就该图的全部顶点的度数之和为();A. 2mB mC 2m+1D m/2 18已知一个图的全部顶点的度数之和为m,就该图的边数为();A 2mB mC 2m+1D m/2 19以下说法不正确选项(); A连通图 G 肯定存在生成树B. 连通图 G 的生成树中肯定包含 G 的全部顶点C连通图 G 的生成树中不肯定包含 G 的全部边D
29、连通图 G 的生成树可以是不连通的20. 以下说法不正确选项( );A. 连通图 G 的生成树肯定是唯独的B连通图 G 肯定存在生成树C连通图 G 的生成树中肯定要包含 G 的全部顶点D连通图 G 的生成树肯定是连通而且不包含回路21. 散列查找的原理是(); A在待查记录的关键字值与该记录的储备位置之间建立确定的对应关系B按待查记录的关键字有序的次序方式储备 C按关键字值的比较进行查找D基于二分查找的方法22有序表为 1 , 2, 4 , 6 , 10, 18, 20, 32 ,用课本中折半查找算法查找值18,经()次比较后胜利查到;A 3B 2C 4D 5 23排序过程中,每一趟从无序子表
30、中将一个待排序的记录按其关键字的大小放置到已经排好序的子序列的适当位置,直到全部排好序为止,该排序算法是;A直接插入排序B 快速排序C冒泡排序D 挑选排序24在排序过程中,可以通过某一趟排序的相关操作所供应的信息,判定序列是否已经排好序,从而可以提前终止排序过程的排序算法是;A冒泡B 挑选C直接插入D折半插入 25采纳次序查找法对长度为n 的线性表进行查找(不采纳表尾设监视哨的方法),最坏的情形下要进行()次元素间的比较;A n+2B nC n-1D n/226. 用折半查找法,对长度为12 的有序的线性表进行查找,最坏情形下要进行() 次元素间的比较A 4 B 3C 5D 6欢迎下载精品学习
31、资源27. 如图如从顶点a 动身按广度优先搜寻法进行遍历,就可能得到的顶点序列为();A. acebdfgh欢迎下载精品学习资源B. aebcghdfC. aedfbcghD. abecdfghabec欢迎下载精品学习资源dfgh图 128. 如图如从顶点 a 动身按深度优先搜寻法进行遍历,就可能得到的顶点序列为();A. acfgedbB. aedbgfcaC. acfebdgD. aecbdgfbecgdf29. 一棵哈夫曼树总共有23 个结点,该树共有()个叶结点(终端结点)A 10 B 13 C 11D1230. 一棵哈夫曼树总共有25 个结点,该树共有()个非叶结点(非终端结点);A
32、 12 B 13 C 14D 15二、填空题(每道题2 分,共 24 分)1. 通常数据的规律结构包括 、 四种类型;2. 结构中的元素之间存在多对多的关系称为 结构;3. 设有一个单向链表,结点的指针域为next,头指针为 head, p 指向尾结点,为了使该单向链表改为单向循环链表,可用语句 ;4. 设有一个单向循环链表,结点的指针域为next,头指针为head,指针 p 指向表中某结点,如规律表达式的结果为真,就 p 所指结点为尾结点;5. 设有一个单向循环链表,头指针为head,链表中结点的指针域为next, p 指向尾结欢迎下载精品学习资源点 的 直 接 前 驱 结 点 , 如 要
33、删 除 尾 结 点 , 得 到 一 个 新 的 单 向 循 环 链 表 , 可 执 行 操 作 ;6. 设有一个链栈,栈顶指针为hs,现有一个 s 所指向的结点要入栈,就可执行操作s-next=hs;7. 在一个链队中,f 和 r 分别为队头和队尾指针,队结点的指针域为next ,就插入一个s所指结点的操作为; r=s;8. 在一个链队中,f 和 r 分别为队头和队尾指针,队结点的指针域为next, s 指向一个要入队的结点,就入队操作为 ;9. 循环队列的队头指针为f ,队尾指针为r,当时说明队列为空;10. 循环队列的最大储备空间为MaxSize=6 ,采纳少用一个元素空间以有效地判定栈空
34、或栈满,如队头指针front=4 ,当队尾指针rear=时队满,队列中共有 个元素;11. A 在储备时占个字节;“A ”在储备时占个字节;12. 程序段 char *s= ”aBcD ”;n=0; while*s.= 0if*s a&*s zn+ ;s+; 执行后 n= 13. 一棵二叉树没有单分支结点,有6 个叶结点,就该树总共有 个结点;14. 一棵二叉树中次序编号为5 的结点(树中各结点的编号与等深度的完全二叉中对应位置上结点的编号相同),如它存在左孩子,就左孩子的编号为 ;15. 依据二叉树的递归定义,对二叉树遍历的常用算法有 、 三种;16. 依据搜寻方法的不同,图的遍历有 两种方
35、法;17. 把数据储备到运算机中,并详细表达数据之间的规律结构称为 结构;18. 结构中的数据元素存在多对多的关系称为 结构;19. 如图 2 所示的二叉树,其后序遍历序列为;abcdefhgi图 220. 一棵有n 个叶结点的二叉树,其每一个非叶结点的度数都为2,就该树共有 个结点;21. 二叉树为二叉排序的充分必要条件是其任一结点的值均大于其左孩子的值、小于其欢迎下载精品学习资源 、两种方法右孩子的值;这种说法是 的;回答正确或不正确 22串的两种最基本的储备方式分别是 和;23. 依据搜寻方法的不同,图的遍历有24. 按某关键字对记录序列排序,如关键字的记录在排序前和排序后仍保持它们的前
36、后关系,就排序算法是稳固的,否就是不稳固的;三、综合题1( 1)已知某二叉树的后序遍历序列是debca,中序遍历序列是dbeac,试画出该二叉树( 2)如上述二叉树的各个结点的字符分别代表不同的整数(其中没有相等的),并恰好使该树成为一棵二叉排序树,试给出a、b、c、d、e 的大小关系( 3)给出该树的前序遍历序列2( 1)已知某二叉树的先序遍历序列是aecdb,中序遍历序列是eadcb,试画出该二叉树( 2)给出上述二叉树的后序遍历序列( 3)如上述二叉树的各个结点的字符分别是1, 2, 3, 4, 5,并恰好使该树成为一棵二叉排序树,试问 a、b、c、d、e 的值各为多少?3( 1)设有一
37、个整数序列 40 , 28,6, 72, 100, 3, 54 依次取出序列中的数,构造一棵二叉排序树( 2)对上述二叉排序树,在等概率条件下,求胜利查找的平均查找长度4( 1)给定数列 8 , 17, 5, 9, 21, 10, 7, 19, 6 ,依次取序列中的数构造一棵二叉排序树( 2)对上述二叉树给出中序遍历得到的序列5 ( 1 )利用挑选过程把序列42 , 82 , 67, 102, 16, 32, 57, 52 建成堆(小根堆),画出相应的完全二叉树(不要求中间过程)( 2)写出对上述堆对应的完全二叉树进行中序遍历得到的序列6( 1)以给定权重值 1, 2, 12, 13, 20,
38、 25 为叶结点,建立一棵哈夫曼树( 2)如哈夫曼树有 n 个非叶子结点,就树中共有多少结点;对给定的一组权重值建立的棵哈夫曼树是否肯定唯独四、程序填空题1. 以下函数在 a0 到an-1 中,用折半查找算法查找关键字等于k的记录,查找胜利返回欢迎下载精品学习资源该记录的下标,失败时返回-1,完成程序中的空格typedefstructint key ;NODE ;int Binary_SearchNODEa,int n, int kint low,mid,high;low=0;high=n-1;欢迎下载精品学习资源while 1欢迎下载精品学习资源mid=low+high/2;ifamid.key=k return 2;欢迎下载精品学习资源else if 3欢迎下载精品学习资源low=mid+1;欢迎下载精品学习资源else 4