1、0第六章树和二叉树简答题1、有一棵树的括号表示为 A(B,C(E,F(G),D),回答下面的问题:这棵树的根结点是谁?这棵树的叶子结点是什么?结点 C的度是多少?这棵树的度是多少?这棵树的深度是多少?结点 C的孩子结点是哪些?结点 C的双亲结点是谁?2、若一棵度为 4的树中度为 1,2,3,4的结点个数分别是 4,3,2,2,则该树中叶子结点的个数是多少?总结点个数是多少?3、一棵高度为 h的完全 k次数,如果按照层次自上向下、自左向右的顺序从 1开始对全部结点编号,试问:最多有多少个结点?最少有多少个结点?编号为 q的结点的第 i个孩子结点的编号是多少?4、若一棵二叉树具有 10个度为 2的
2、结点,5 个度为 1的结点,则度为 0的结点个数为 结点的总个数为 5、一棵完全二叉树有 1001个结点,其中叶子结点的个数为 6、一棵高度为 h的完全二叉树至少有 个结点。7、一棵高度为 5的完全二叉树至多有 个结点。8、设高度为 h的二叉树上只有度为 0和度为 2的结点,则此类二叉树至少包含 个结点。9、一个具有 1025个结点的二叉树的高度 h为 10、在一棵完全二叉树中,结点个数为 n,则编号最大的分支结点的编号为 11、一棵二叉树的先序遍历为 ABCDEF,中序遍历为 CBAEDF,则后序遍历为 12、一棵二叉树的先序遍历为 ABCDEFG,它的中序遍历可能为 A.CABDEFG B
3、. ABCDEFG C.DACEFBG D.ADCFEGB思考:二叉树的先序和中序遍历相同的条件是?二叉树的后序和中序遍历相同的条件是?13、一棵二叉树的后序遍历为 DABEC,中序遍历为 DEBAC,则先序遍历为 14、一棵二叉树的先序遍历为 EFHIGJK,中序遍历为 HFIEJKG,则该二叉树根结点的右孩子为 16、根据使用频率为 5个字符设计的赫夫曼编码不可能的是 A.111,110,10,01,00 B.000,001,010,011,1C.100,11,10,1,0 D.001,000,01,11,1017、根据使用频率为 5个字符设计的赫夫曼编码不可能的是 A. 000,001,
4、010,011,1 B.0000,0001,001,01,1C. 000,001,01,10,11 D.00,100,101,110,11118、设有 13个值,用它们组成一棵赫夫曼树,则该赫夫曼树共有 个结点。19、若以4,5,6,7,8作为叶子结点的权值构造赫夫曼树,则其带权路径长度是 ,各结点对应的赫夫曼编码为 120、以数据集2,5,7,9,13为权值构造一棵赫夫曼树,并计算其带权路径长度。21、一棵二叉树的先序、中序和后序序列分别如下,其中有一部分未显示出来,试求出空格部分的内容,并画出二叉树。先序遍历 B F ICEH G中序遍历 D KFIA EJC后序遍历 K FBHJ G A
5、15、如图所示的二叉树 T2是由森林 T1转换而来的二叉树,那么森林 T1有 叶子结点。G JIHFDCEBA第七章 图1.在一个无向图中,所有顶点的度数之和等于所有边数的 倍。A.1/2 B.1 C.2 D.42.在一个有向图中,所有顶点的入度之和等于所有顶点的出度之和的 倍。A1/2 B.1 C.2 D.43.一个有 n个顶点的无向图最多有 条边。A.n B.n(n-1) C.n(n-1)/2 D.2n4.具有 4个顶点的无向完全图有 条边。A.6 B.12 C.16 D.205.具有 6个顶点的无向图至少应有 条边才能确保是一个连通图。A.5 B.6 C.7 D.86.在一个具有 n个顶
6、点的无向图中,要连通全部顶点至少需要 条边。A.n B.n+1 C.n-1 D.n/27.在有 n个顶点的有向图中,每个顶点的度最大可达 8.对于一个具有 n个顶点的无向图,若采用邻接矩阵表示,则该矩阵的大小 A.n B.(n-1)2 C.n-1 D.n29.对于一个具有 n个顶点和 e条边的无向图,若采用邻接表表示,则表头向量的大小为 ,所有邻接表中的结点总数是 。10. 采用邻接表存储的图的深度优先遍历算法类似于二叉树的 。 2A.先序遍历 B.中序遍历 C.后序遍历 D.按层遍历11. 采用邻接表存储的图的宽度优先遍历算法类似于二叉树的 A.先序遍历 B.中序遍历 C.后序遍历 D.按层
7、遍历12.一个有向图 G的邻接表存储如图,现按深度优先遍历,从顶点 v1出发,所得到的顶点序列是 v1v3v4v2452 v535 34 13. 一个如图的无向图,从顶点 1出发进行深度优先遍历, ,可得到的顶点序列是 14. 一个如图的无向图,从顶点 1出发进行广度优先遍历, ,可得到的顶点序列是 132657415. 已知图 G的邻接表存储如图,从顶点 v1出发,现按深度优先遍历所得到的顶点序列是 ;从顶点 v1出发,现按广度优先遍历所得到的顶点序列是 3v1v3v4v2462 v555 34v66 3 16.图 G是一个非连通无向图,共有 28条边,则该图至少有 个顶点。17.一个无向连
8、通图的生成树是含有该连通图的全部顶点的 A.极小连通子图 B.极大连通子图C.极小子图 D.极大子图18.已知世界 6大城市:北京 B,纽约 N,巴黎 P,伦敦 L,东京 T,墨西哥 M。试在由表中给出的交通网确定最小生成树。B N P L T MB 109 82 81 21 124N 109 58 55 108 32P 82 58 3 97 92L 81 55 3 95 89T 21 108 97 95 113M 124 32 92 89 11319.普利姆算法适用于求 的网的最小生成树,克鲁斯卡尔算法适用于求 的网的最小生成树。20.若一个有向图中顶点不能排列成一个拓扑序列,则可断定该有向
9、图 A.是个有根有向图 B.是个强连通图C.含有多个入度为 0的顶点 D.含有顶点数目大于 1的强连通分量21.在 AOV网中,顶点表示 ,有向边表示 22.关键路径是事件结点网络中 A.从源点到汇点的最长路径 B. 从源点到汇点的最短路径C.最长的回路 D.最短的回路23. 从源点到汇点的最长路径称关键路径,该路径上的活动称为24.判定一个有向图是否存在回路除了可以利用拓扑排序方法外,还可以利用 .A求关键路径的方法 B.求最短路径的 Dijkstra方法C.宽度优先遍历算法 D.深度优先遍历算法4附加上课讲的五个大题。一、 给出邻接表,画图,遍历并分别用普利姆和克鲁斯卡尔算法求最小生成树。
10、二、 给出有向带权图,用 Dijkstra算法求从某一顶点出发到其他顶点的最短路径,要求给出求解过程。三、 给出工程的 AOE网,求完成工程的最短时间,并计算工期。第九章 查找1.顺序查找法适合于存储结构为 的线性表。A.散列存储 B.顺序存储或链式存储 C.压缩存储 D.索引存储2.顺序查找法的平均查找长度为 ,二分查找法的平均查找长度为 ,分块查找法(以顺序查找确定块)的平均查找长度为 ,分块查找法(以二分查找确定块的平均查找长度为 。3.顺序查找法查找长度为 n的线性表时,平均比较次数为 4.对线性表进行二分查找时,要求线性表必须 。A.以顺序方式存储 B.以链接方式存储C.以顺序方式存
11、储,且结点按关键字有序排序D.以链接方式存储,且结点按关键字有序排序5.己知一个有序表为(12,18,20,25,29,32,40,62,83,90,95,98),当二分查找值为 29和 90的元素时,分别需要 次和 次比较才能查找成功;若采用顺序查找时,分别需要 次和 次比较才能查找成功。6.有一个有序表为1,3,9,12,32,41,45,62,75,77,82,95,100,当二分查找值为 82的结点时, 次比较后查找成功。A.1 B.2 C.4 D.87.假设在有序线性表 A120上进行二分查找,则比较一次查找成功的结点数为 ,则比较二次查找成功的结点数为 ,则比较三次查找成功的结点数
12、为 ,则比较四次查找成功的结点数为 ,则比较五次查找成功的结点数为 ,平均查找长度为 。8.有一个长度为 12的有序表,按二分查找法对该表进行查找,在表内各元素等概率情况下查找成功所需的平均比较次数为 A.35/12 B.37/12 C.39/12 D.43/129.设有一个长度为 100的已排好序的表,用二分查找进行查找,若查找不成功,至少比较 次。A.9 B.8 C.7 D.610.在分块查找方法中,首先查找 ,然后再查找相应的 。11.长度为 225的表,采用分块查找法,每块的最佳长度是 。12.在分块查找中,若索引表各块内均用顺序查找,则有 900个元素线性表分成 块最好;若分成 25
13、块,其平均查找长度为 13.在含有 27个结点的二叉排序树上,查找关键字为 35的结点,则依次比较的关键字有可能是 A.28,36,18,46,35 B.18,36,28,46,35 C.46,28,18,36,35 D.46,36,18,28,3514.如图所示的一棵二叉排序树其查找成功的平均查找长度是 ;其不成功的平均查找长度是 。562743056154815.在一棵平衡二叉树中,每个结点的平衡因子的取值范围是 。16.如图所示的 4棵二叉树, 是平衡二叉树。627430561548617.具有 5层结点的 AVL树至少有 个结点。18.在含有 12个结点的平衡二叉树上,查找关键字为 3
14、5的结点,则依次比较的关键字有可能是 A.46,36,18,20,28,35 B.47,37,18,27,36 C.27,48,39,43,37 D.15,45,3519.在含有 15个结点的平衡二叉树上,查找关键字为 28的结点,则依次比较的关键字有可能是 A.30,36 B.38,48,28 C.48,18,38,28 D.60,30,50,40,38,3620.一棵深度为 k的平衡二叉树,其每个非叶子结点的平衡因子均为 0,则该树共有 个结点。21.查找效率最高的二叉排序树是 。A.所有结点的左子树都为空的二叉排序树B.所有结点的右子树都为空的二叉排序树C.平衡二叉树D.没有左子树的二叉
15、排序树22.用二叉排序树查找,在最坏情况下,平均查找长度数量级为 ;当二叉排序树是一棵平衡二叉树时,ASL 平均查找长度数量级为 。23.按 13,24,37,90,53的次序形成平衡二叉树,则该平衡二叉树高度 ,其根为 。24.将整数序列4,5,7,2,1,3,6中的数依次插入到一棵空的平衡二叉树中,试构造相应的平衡二叉树。25.输入关键字序列16,3,7,11,9,26,18,14,15,给出构造一棵 AVL树的步骤。26.关键字序列为1,2,6,7,11,4,8,13,10,5,17,9,16,20,3,12,14,18,19,15,创建一棵 5阶 B-树。对于该 B-树,给出删除 8,
16、16,15,4这四个关键字的过程。727.已知一组关键字为21,33,12,40,68,59,25,51,试依次插入关键字生成一棵 3阶 B-树;如果此后删除 40,画出每一步执行后 B-树的状态。28.在散列函数 H(key)=key%p中,p 最好取 。29.在哈希查找过程中,可用 来处理冲突。A除留余数法 B.数字分析法 C.线性探测再散列 D.关键字比较法30设哈希表长 m=14,哈希函数 H(key)=key%11。表中已有 4个结点:H(15)=4,H(38)=5,H(61)=6,H(84)=7,其余地址为空,如用二次探测再散列处理冲突,关键字为 49的结点的地址是 。A.8 B.
17、3 C.5 D.931.假设有 k个关键字互为同义词,若用线性探测再散列探查法把这 k个关键字存入哈希表中,至少要进行 次探测。32. 已知一个线性表为(38,25,74,63,52,48),假定采用 H(k)=k%7计算散列地址进行散列存储,试分别求出利用线性探测的开放定址法处理冲突和利用链地址法处理冲突,在该散列表上进行查找的平均查找长度。33. 己知线性表的元素为(87,25,310,8,27,132,68,95,187,123,70,63,47),散列函数为h(k)=k%13,采用链接法处理冲突。设计出这种链表结构,并求该表平均查找长度。 34.设散列表容量为 7,给定表(30,36,
18、47,52,34),散列函数 H(K)k mod 6,采用线性探测解决冲突,要求: (1)构造此散列表(散列地址为 06): (2)求查找 34需要进行比较的次数。第十章排序习题1 给出关键字序列4,5,1,2,8,6,7,3,10,9的直接插入排序过程和希尔排序过程(gap=5,2,1) 。2 以下序列不是堆的是()A100,85,98,77,80,60,82,40,20,10,66B100,98,85,82,80,77,66,60,40,20,10C10,20,40,60,66,77,80,82,95,98,100D100,85,40,77,80,60,66,98,92,10,203以下序
19、列是堆的是()A75,65,30,15,25,45,20,10B75,65,45,10,30,25,20,15C75,45,65,30,15,25,20,10D75,45,65,10,25,30,20,154已知序列503,87,512,61,908,170,897,275,653,462,写出采用堆排序法时的每一趟的结果。5以下关键字序列用快速排序法进行排序时速度最快的是()A21,25,5,17,9,23,30B25,23,30,17,21,5,9C21,9,17,30,25,23,5D5,9,17,21,23,25,306对关键字28,16,32,12,60,2,5,72序列进行快速排序
20、,第一趟从小到大一次划8分结果为()A (2,5,12,16) 26 (60,32,72)B (5,16,2,12) 28 (60,32,72)C (2,16,12,5) 28 (60,32,72)D (5,16,2,12) 28 (32,60,72)7已知序列503,87,512,61,908,170,897,275,653,462采用快速排序法对序列作升序排序时的每一趟排序结果。8已知关键字序列112,214,312,902,156,712,451,623,643,834按低位到高位进行基数排序时每一趟的结果。第四章 串 选择题、填空题1.下列关于串的叙述中,正确的是( ) A.一个串的字
21、符个数即该串的长度 B.一个串的长度至少是 1 C.空串是由一个空格字符组成的串D.两个串 S1和 S2若长度相同,则这两个串相等2.串是任意有限个 A.符号构成的集合 B.符号构成的序列C.字符构成的集合 D.字符构成的序列3.以下 是abcd321ABCD的子串。A.abcd B.321ABC.abcABC D.21AB4.两个串相等必须有串长度相等且 A串的各位置字符任意B.串中各位置字符均对应相等C.两个串含有相同的字符D.两个所含字符任意5.若串 s=software,其子串的个数是 A.8 B.37 C.36 D.96.空串是 ,其长度等于 。7.设 s=abcd,s1=123,则
22、执行语句 s2=StrInsert(s,2,s1)后,s2= 8. 设 s=abcd,则执行语句 s2=StrDelete(s,2,2)后,s2= 9. 设 s=abcd,则执行语句 s2=SubString(s,4,2)后,s2= 10.对于顺序表 s,其初始化为空串的操作是 11.设有两个串 p和 q,求 q在 p中首次出现的位置的运算称作 12.已知 t=abcaabbcabcaabdab,该模式串的 next数组值为13.模式串 t=abbaabcac的 next函数值为 ,nextval 函数值为 算法设计题1. 分别在顺序存储和一般链式存储两种方式下,用 C语言写出实现把串 s1复制到串 s2的串复制函数 strcpy(s1,s2)。92.设计一个算法将一个链串 s中的所有子串abc删除。3.设计一个算法判断链串 s中所有元素是否为递增排列的。