贵州大学计算机考研《数据结构》考试真题
2015贵州大学831计算机考研真题
A、占据同一内存单元
B、指向同一内存单元地址或者为空
C、是两个空指针
D、都没有指向
14、函数返回值的类型是由( )。
A、return 语句中的表达式类型所决定。
B、调用该函数时的主调函数类型所决定。
C、调用该函数时系统临时决定。
D、在定义该函数时所指定的函数类型所决定。
15、在 C 语言中,若有定义”int a[10];”,则下列哪一项不能表示 a[1]的地址( )。
A、&a[1]
B、&a[0]+1 C、a++
D、a+1
16、以下数据结构中哪一个是非线性结构( )。
A、队列
B、栈
C、线性表
D、二叉树
17、下面关于线性表的叙述错误的是( )。
A、线性表采用顺序存储必须占用一片连续的存储空间。
B、线性表采用链式存储不必占用一片连续的存储空间
C、线性表采用链式存储便于插入和删除操作的实现
3、读下面程序,写出程序的输出结果。 #include<stdio.h> void main() { int I,j,a[2][3]; for(i=0;i<2;i++)
第 5 页 共 10 页
{ for(j=0;j<3;j++) { a[i][j]=2*i+j; printf(“%d”,a[i][j]); } printf(“\n”);
《数据结构》期末考试试题及答案
贵州大学理学院数学系信息与计算科学专业《数据结构》期末考试试题及答案(2003-2004学年第2学期)一、单项选择题1.对于一个算法,当输入非法数据时,也要能作出相应的处理,这种要求称为( )。
(A)、正确性(B). 可行性(C). 健壮性(D)。
输入性2.设S为C语言的语句,计算机执行下面算法时,算法的时间复杂度为()。
for(i=n-1;i〉=0;i——)for(j=0;j〈i;j++)S;(A)、n2(B)。
O(nlgn) (C)。
O(n)(D)。
O(n2)3.折半查找法适用于().(A)、有序顺序表(B)、有序单链表(C)、有序顺序表和有序单链表都可以(D)、无限制4.顺序存储结构的优势是()。
(A)、利于插入操作 (B)、利于删除操作(C)、利于顺序访问(D)、利于随机访问5.深度为k的完全二叉树,其叶子结点必在第( )层上。
(A)、k—1 (B)、k (C)、k—1和k (D)、1至k6.具有60个结点的二叉树,其叶子结点有12个,则度过1的结点数为( )(A)、11 (B)、13 (C)、48 (D)、377.图的Depth—First Search(DFS)遍历思想实际上是二叉树()遍历方法的推广.(A)、先序(B)、中序(C)、后序(D)、层序8.在下列链队列Q中,元素a出队的操作序列为()>next;(B)、p=Q.front—〉next; Q。
front->next=p-〉next;(C)、p=Q。
rear—>next;p—〉next= Q.rear—〉next;(D)、p=Q-〉next; Q-〉next=p—>next;9. Huffman树的带权路径长度WPL等于()(A)、除根结点之外的所有结点权值之和(B)、所有结点权值之和(C)、各叶子结点的带权路径长度之和(D)、根结点的值10.线索二叉链表是利用()域存储后继结点的地址。
(A)、lchild (B)、data (C)、rchild (D)、root二、填空题1.逻辑结构决定了算法的,而存储结构决定了算法的。
2014贵州大学831真题
句中的表达式类型所决定。 B、调用该函数时
的主调函数类型所决定。 C、调用该函数时系
统临时决定。 D、在定义该函数时所指定的函
数类型所决定。
15、若有以下语句:
int a[3],*p=a;
则 &a[2]-p 的值是( )。
A、1
B、2
C 、 3 16、
数据结构在计算机内存中的表示是指(
)。
D、4
A、数据结构 C、数据的存储结构
if(*p<*q)
{
p = swap(&a,&b);
}
if(*p==*q)
(5)
;
printf(“两数从大到小依次是%d,%d”,*p,*q);
}
第 6页 共 8 页
int *swap(int *a, int *b) {
(6)
temp;
temp = a;
a = b; b = temp;
return a;
D、p->next=s; s->next=p;
25、已知一棵二叉树的前序遍历结果为 ABCDEF,中序遍历结果为 CBAEDF,
则后序遍历结果为( )。
A、CBEFDA
B、FEDCBA
C、CBEDFA
D、不定
二、名词解释(本题共 6 个小题,每小题 3 分,共 18 分)
1、算法
2、栈
3、拓扑排序
4、二叉树
B、char s[10]=”China”;
C、char s[10]; strcpy(s,”China”);
D、char s[10]; s=”China”;
10、以下 4 个关于 C 语言的结论中,错误的是( )。
2022年贵州大学数据科学与大数据技术专业《计算机系统结构》科目期末试卷B(有答案)
2022年贵州大学数据科学与大数据技术专业《计算机系统结构》科目期末试卷B(有答案)一、选择题1、与流水线最大吞吐率高低有关的是( )A.各个子过程的时间B.最快子过程的时间C.最慢子过程的时间D.最后子过程的时间2、计算机组成设计不考虑()A.专用部件设置B.功能部件的集成度C.控制机构的组成D.缓冲技术3、除了分布处理、MPP和机群系统外,并行处理计算机按其基本结构特征可分为流水线计算机,阵列处理机,多处理机和()四种不同的结构。
A.计算机网络B.控制流计算机C.机群系统D.数据流计算机4、下列关于虚拟存贮器的说法,比较正确的应当是( )A.访主存命中率随页面大小增大而提高B.访主存命中率随主存容量增加而提高C.更换替换算法能提高命中率D.在主存命中率低时,改用堆栈型替换算法,并增大主存容量,可提高命中率5、下列说法正确的是()A."一次重叠"是一次解释一条指令B."一次重叠"是同时解释相邻两条指令C.流水方式是同时只能解释两条指令D."一次重叠"是同时可解释很多条指令6、在计算机系统设计中,比较好的方法是()。
A.从上向下设计B.从下向上设计C.从两头向中间设计D.从中间开始向上、向下设计7、微指令由()直接执行。
A.微指令程序B.硬件C.汇编程序D.编译程序8、计算机系统结构不包括( )。
A.主存速度B.机器工作状态C.信息保护D.数据9、计算机系统多级层次中,从下层到上层,各级相对顺序正确的应当是()。
A.汇编语言机器级,操作系统机器级,高级语言机器级B.微程序机器级,传统机器语言机器级,汇编语言机器级C.传统机器语言机器级,高级语言机器级,汇编语言机器级D.汇编语言机器级,应用语言机器级,高级语言机器级10、以下说法中,不正确的是,软硬件功能是等效的,提高硬件功能的比例会:( )A.提高解题速度B.提高硬件利用率C.提高硬件成本D.减少所需要的存贮器用量二、填空题11、要实现两条指令在时间上重叠解释,首先需要付出________,其次,要处理好指令之间可能存在的________12、向量处理机的结构主要有________和________两种。
数据结构考研真题及其答案完整版
数据结构考研真题及其答案完整版数据结构是计算机科学与技术领域中的一门重要课程,也是计算机考研中必考的一门科目。
通过研究数据结构,可以帮助我们更好地理解和应用计算机算法,提高计算机程序的效率和性能。
为了帮助考生更好地备考数据结构,本文将分享一些数据结构考研真题及其答案,供考生参考。
一、选择题1. 下列关于栈的叙述中,错误的是()A. 栈是一种线性数据结构,具有后进先出(LIFO)的特点B. 栈可以用数组实现,也可以用链表实现C. 栈的插入和删除操作都是在同一端进行的D. 栈的插入和删除操作的时间复杂度都是O(1)答案:C解析:栈的插入操作叫做入栈,删除操作叫做出栈。
入栈和出栈操作都是在栈顶进行的,而不是同一端。
2. 假设要对n个整数关键字进行排序,以下排序算法中,平均时间复杂度最小的是()A. 冒泡排序B. 快速排序C. 归并排序D. 直接插入排序答案:C解析:归并排序的时间复杂度是O(nlogn),平均时间复杂度最小。
二、填空题1. 下列关于图的遍历顺序的说法中,正确的是:深度优先搜索访问的顺序是________,广度优先搜索访问的顺序是________。
答案:前序遍历,层次遍历解析:深度优先搜索即前序遍历,广度优先搜索即层次遍历。
2. 给定一个最小堆,若删除堆顶元素后,需要对堆进行调整,所采用的操作是________。
答案:下滤解析:删除堆顶元素后,将最后一个叶子节点放到堆顶,然后进行下滤操作。
三、简答题1. 请简要说明动态规划算法的基本思想和应用场景。
答:动态规划算法的基本思想是将问题分解为多个子问题,通过求解子问题的最优解来得到原问题的最优解。
它通常适用于具有重叠子问题和最优子结构性质的问题。
动态规划算法可以大大减少问题的重复计算,提高算法的效率和性能。
它在求解最短路径、最长公共子序列、背包问题等具有广泛的应用。
2. 请简要介绍红黑树的特点和应用场景。
答:红黑树是一种自平衡的二叉查找树,它具有以下特点:1) 每个节点都有一个颜色,红色或黑色;2) 根节点是黑色的;3) 叶子节点(NIL节点)都是黑色的;4) 如果一个节点是红色的,则它的两个子节点都是黑色的;5) 从根节点到叶子节点的路径上,不同路径上黑节点的个数相同。
《数据结构》期末考试试题及答案
贵州大学理学院数学系信息与计算科学专业《数据结构》期末考试试题及答案(2003-2004学年第2学期)一、单项选择题1.对于一个算法,当输入非法数据时,也要能作出相应的处理,这种要求称为()。
(A)、正确性(B). 可行性(C). 健壮性(D). 输入性2.设S为C语言的语句,计算机执行下面算法时,算法的时间复杂度为()。
for(i=n-1;i>=0;i--)for(j=0;j<i;j++) S;(A)、n2(B). O(nlgn) (C). O(n) (D). O(n2)3.折半查找法适用于()。
(A)、有序顺序表(B)、有序单链表(C)、有序顺序表和有序单链表都可以(D)、无限制4.顺序存储结构的优势是()。
(A)、利于插入操作(B)、利于删除操作(C)、利于顺序访问(D)、利于随机访问5.深度为k的完全二叉树,其叶子结点必在第()层上。
(A)、k-1 (B)、k (C)、k-1和k (D)、1至k6.具有60个结点的二叉树,其叶子结点有12个,则度过1的结点数为()(A)、11 (B)、13 (C)、48 (D)、377.图的Depth-First Search(DFS)遍历思想实际上是二叉树()遍历方法的推广。
(A)、先序(B)、中序(C)、后序(D)、层序8.在下列链队列Q中,元素a出队的操作序列为()((B)、p=Q.front->next; Q.front->next=p->next;(C)、p=Q.rear->next; p->next= Q.rear->next;(D)、p=Q->next; Q->next=p->next;9. Huffman树的带权路径长度WPL等于()(A)、除根结点之外的所有结点权值之和(B)、所有结点权值之和(C)、各叶子结点的带权路径长度之和(D)、根结点的值10.线索二叉链表是利用()域存储后继结点的地址。
贵州大学计算机考研《数据结构》考试真题
一、单项选择题1.对于一个算法,当输入非法数据时,也要能作出相应的处理,这种要求称为()。
(A)、正确性(B). 可行性(C). 健壮性(D). 输入性2.设S为C语言的语句,计算机执行下面算法时,算法的时间复杂度为()。
for(i=n-1;i>=0;i--)for(j=0;j<i;j++) S;(A)、n2(B). O(nlgn) (C). O(n) (D). O(n2)3.折半查找法适用于()。
(A)、有序顺序表(B)、有序单链表(C)、有序顺序表和有序单链表都可以(D)、无限制4.顺序存储结构的优势是()。
(A)、利于插入操作(B)、利于删除操作(C)、利于顺序访问(D)、利于随机访问5.深度为k的完全二叉树,其叶子结点必在第()层上。
(A)、k-1 (B)、k (C)、k-1和k (D)、1至k6.具有60个结点的二叉树,其叶子结点有12个,则度过1的结点数为()(A)、11 (B)、13 (C)、48 (D)、377.图的Depth-First Search(DFS)遍历思想实际上是二叉树()遍历方法的推广。
(A)、先序(B)、中序(C)、后序(D)、层序8.在下列链队列Q中,元素a出队的操作序列为()(A)、p=Q.front->next; p->next= Q.front->next;(B)、p=Q.front->next; Q.front->next=p->next;(C)、p=Q.rear->next; p->next= Q.rear->next;(D)、p=Q->next; Q->next=p->next;9. Huffman树的带权路径长度WPL等于()(A)、除根结点之外的所有结点权值之和(B)、所有结点权值之和(C)、各叶子结点的带权路径长度之和(D)、根结点的值10.线索二叉链表是利用()域存储后继结点的地址。
2022年贵州大学计算机840考研模拟试题(A)831试题及答案
贵州大学研究生入学考试模拟卷(A)(所有答案必须答在专用答题纸上,否则答案无效)考试科目名称:程序设计与数据结构考试科目代码:840一、选择题(单项选择,25个小题,每题2分,共50分)1、关于函数,下列叙述正确的是___。
A.函数必须要有return语句B.一个函数中可以定义其它的函数C.main()函数可以被所在程序的其他函数调用D.一个C程序只能有一个main()函数2、设有 float a=12.5,则表达式(a+1/2)的值是_____。
A. 13.0B. 13C. 12.5D. 13.53、能正确地用逻辑关系表示: 10<a<15 的C语言表达式是______。
A. 10<A<15B. 10<a && a<15C. 10<a||a< 15D. 10<=a && a<=154、假设变量已定义,下面正确的赋值语句是______。
A.j++ B.x=y=1; C.x=4*y=2; D.x=float m;5、执行以下程序段后的b的值是___。
int a=5,b=6,c=1,x=2,y=3,z=4;c=(a=c>x)&&(b=y>z);A.0 B.1 C.6 D.56、对于 int i,a[7]={5,3,1,8,3,5,6};,能正确访问所有数组元素的for循环是:A. for(i=0;i>=7;i--) printf("%d\n",a[6-i]);B. for(i=0;i>7;i++) printf("%d\n",a[6-i]);C. for(i=0;i<=7;i++) printf("%d\n",a[6-i]);D. for(i=0;i<7;i++) printf("%d\n",a[6-i]);7、已知i=1,sum=0,执行以下程序段后sum的值为___。
数据结构考研真题及其答案
数据结构考研真题及其答案数据结构是计算机科学与技术专业考研中的重要科目之一,它对于培养学生的程序设计和算法分析能力具有关键作用。
以下将为大家呈现一些典型的数据结构考研真题,并提供详细的答案解析。
一、选择题1、若一个栈的输入序列为 1, 2, 3, 4, 5,不可能得到的输出序列是()A 2, 3, 4, 1, 5B 5, 4, 3, 2, 1C 1, 5, 4, 3, 2D 3, 4, 2, 5, 1答案:C解析:栈的特点是“后进先出”。
对于选项 C,先输出 1,意味着 2、3、4、5 都已入栈,此时栈顶元素为 5,不可能接着输出 5 之后就输出4。
2、已知一棵二叉树的先序遍历序列为 ABCDEFG,中序遍历序列为 CBDAEGF,则其后序遍历序列为()A CDBAFGEB CDBGFEAC CDBAGFED BCDAFGE答案:B解析:先根据先序和中序遍历序列构建二叉树。
先序遍历中第一个节点 A 为根节点,在中序遍历中找到 A,其左边的 CBD 为左子树,右边的 EGF 为右子树。
同样的方法确定左子树和右子树的结构。
然后按照“左子树右子树根节点”的顺序得到后序遍历序列 CDBGFEA。
3、对于一个具有 n 个顶点的无向图,若采用邻接矩阵表示,则该矩阵的非零元素个数为()A n(n 1) / 2B n(n + 1) / 2C n(n 1)D n(n + 1)答案:A解析:无向图的邻接矩阵是对称的。
对于顶点 i 和 j(i ≠ j),若它们之间有边,则矩阵中对应位置为 1,共有 n(n 1) / 2 对不同的顶点对,所以非零元素个数为 n(n 1) / 2 。
二、简答题1、简述冒泡排序的基本思想,并分析其时间复杂度和空间复杂度。
答案:冒泡排序的基本思想是通过相邻元素的两两比较和交换,将最大(或最小)的元素逐步“浮”到数组的一端。
时间复杂度:在最坏情况下,即数组完全逆序,需要进行 n 1 轮比较,每轮比较 n i 次(i 为轮数,从 1 到 n 1),所以总的比较次数为n(n 1) / 2,时间复杂度为 O(n^2)。
2012年贵州大学数据结构复习题及答案
2012年贵州大学数据结构复习题及答案1、下面程序的时间复杂度为___C_ 。
for(i=0;i< m;i++) for(j=0;j< n;j++) A[i][j]=i*j;(A). O(m2)(B). O(n2)(C). O(m*n)(D). O(m+n)2、在数据结构中,从逻辑上可以把数据结构分成__C__ 。
(A). 动态存储结构和静态存储结构(B). 紧凑结构和非紧凑结(C). 线形结构和非线性结构(D). 内部结构和外部结构3、下面程序的时间复杂度为__A__ 。
for(i=0;i< m;i++) for(j=0;j< t;j++) c[i][j]=0; for(i=0;i< m;i++) for(j=0;j< t;j++) for(k=0;k< n;k++) c[i][j]=c[i][j]+a[i][k]*b[k][j];(A). O(m*n*t)(B). O(m+n+t)(C). O(m+n*t)(D). O(m*t+n)4、下面程序的时间复杂度为__D__ 。
i=1;while(i<=n) i=i*5;(A). O(1)(B). O(n)(C). O(5*n)(D). O(log5n)5、算法指的是_D__ 。
(A). 计算机程序(B). 解决问题的步骤(C). 排序算法(D). 解决问题的有限运算序列6、某程序的时间复杂度为(3n+nlog2n+n2+8),其数量级表示为 C(A). O(n)(B). O(nlog2n)(C). O(n2)(D). O(log2n)7、数据结构是一门研究非数值计算的程序设计问题中的操作对象以及它们之间的__B____和运算的科学。
(A). 结构(B). 关系(C). 运算(D). 算法8、算法分析的目的是__C____。
(A). 找出算法的合理性(B). 研究算法的输入/输出关系(C). 分析算法的有效性以求改进(D). 分析算法的易懂性9、数据的基本单位是____B____。
《数据结构》期末考试试题及答案
贵州大学理学院数学系信息与计算科学专业《数据结构》期末考试试题及答案(2003-2004学年第2学期)一、单项选择题1.对于一个算法,当输入非法数据时,也要能作出相应的处理,这种要求称为()。
(A)、正确性(B). 可行性(C). 健壮性(D). 输入性2.设S为C语言的语句,计算机执行下面算法时,算法的时间复杂度为()。
for(i=n-1;i>=0;i--)for(j=0;j<i;j++) S;(A)、n2(B). O(nlgn) (C). O(n) (D). O(n2)3.折半查找法适用于()。
(A)、有序顺序表(B)、有序单链表(C)、有序顺序表和有序单链表都可以(D)、无限制4.顺序存储结构的优势是()。
(A)、利于插入操作(B)、利于删除操作(C)、利于顺序访问(D)、利于随机访问5.深度为k的完全二叉树,其叶子结点必在第()层上。
(A)、k-1 (B)、k (C)、k-1和k (D)、1至k6.具有60个结点的二叉树,其叶子结点有12个,则度过1的结点数为()(A)、11 (B)、13 (C)、48 (D)、377.图的Depth-First Search(DFS)遍历思想实际上是二叉树()遍历方法的推广。
(A)、先序(B)、中序(C)、后序(D)、层序8.在下列链队列Q中,元素a出队的操作序列为()((B)、p=Q.front->next; Q.front->next=p->next;(C)、p=Q.rear->next; p->next= Q.rear->next;(D)、p=Q->next; Q->next=p->next;9. Huffman树的带权路径长度WPL等于()(A)、除根结点之外的所有结点权值之和(B)、所有结点权值之和(C)、各叶子结点的带权路径长度之和(D)、根结点的值10.线索二叉链表是利用()域存储后继结点的地址。
《数据结构》期末考试试题及答案
贵州大学理学院数学系信息与计算科学专业《数据结构》期末考试试题及答案(2003-2004学年第2学期)一、单项选择题1.对于一个算法,当输入非法数据时,也要能作出相应的处理,这种要求称为()。
(A)、正确性(B). 可行性(C). 健壮性(D). 输入性2.设S为C语言的语句,计算机执行下面算法时,算法的时间复杂度为()。
for(i=n-1;i>=0;i--)for(j=0;j<i;j++) S;(A)、n2(B). O(nlgn) (C). O(n) (D). O(n2)3.折半查找法适用于()。
(A)、有序顺序表(B)、有序单链表(C)、有序顺序表和有序单链表都可以(D)、无限制4.顺序存储结构的优势是()。
(A)、利于插入操作(B)、利于删除操作(C)、利于顺序访问(D)、利于随机访问5.深度为k的完全二叉树,其叶子结点必在第()层上。
(A)、k-1 (B)、k (C)、k-1和k (D)、1至k6.具有60个结点的二叉树,其叶子结点有12个,则度过1的结点数为()(A)、11 (B)、13 (C)、48 (D)、377.图的Depth-First Search(DFS)遍历思想实际上是二叉树()遍历方法的推广。
(A)、先序(B)、中序(C)、后序(D)、层序8.在下列链队列Q中,元素a出队的操作序列为()((B)、p=Q.front->next; Q.front->next=p->next;(C)、p=Q.rear->next; p->next= Q.rear->next;(D)、p=Q->next; Q->next=p->next;9. Huffman树的带权路径长度WPL等于()(A)、除根结点之外的所有结点权值之和(B)、所有结点权值之和(C)、各叶子结点的带权路径长度之和(D)、根结点的值10.线索二叉链表是利用()域存储后继结点的地址。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、单项选择题
1.对于一个算法,当输入非法数据时,也要能作出相应的处理,这种要求称为()。
(A)、正确性(B). 可行性(C). 健壮性(D). 输入性
2.设S为C语言的语句,计算机执行下面算法时,算法的时间复杂度为()。
for(i=n-1;i>=0;i--)
for(j=0;j<i;j++) S;
(A)、n2(B). O(nlgn) (C). O(n) (D). O(n2)
3.折半查找法适用于()。
(A)、有序顺序表(B)、有序单链表
(C)、有序顺序表和有序单链表都可以(D)、无限制
4.顺序存储结构的优势是()。
(A)、利于插入操作(B)、利于删除操作
(C)、利于顺序访问(D)、利于随机访问
5.深度为k的完全二叉树,其叶子结点必在第()层上。
(A)、k-1 (B)、k (C)、k-1和k (D)、1至k
6.具有60个结点的二叉树,其叶子结点有12个,则度过1的结点数为()(A)、11 (B)、13 (C)、48 (D)、37
7.图的Depth-First Search(DFS)遍历思想实际上是二叉树()遍历方法的推广。
(A)、先序(B)、中序(C)、后序(D)、层序
8.在下列链队列Q中,元素a出队的操作序列为()
(A)、p=Q.front->next; p->next= Q.front->next;
(B)、p=Q.front->next; Q.front->next=p->next;
(C)、p=Q.rear->next; p->next= Q.rear->next;
(D)、p=Q->next; Q->next=p->next;
9. Huffman树的带权路径长度WPL等于()
(A)、除根结点之外的所有结点权值之和(B)、所有结点权值之和
(C)、各叶子结点的带权路径长度之和(D)、根结点的值
10.线索二叉链表是利用()域存储后继结点的地址。
(A)、lchild (B)、data (C)、rchild (D)、root
二、填空题
1.逻辑结构决定了算法的,而存储结构决定了算法的。
2.栈和队列都是一种的线性表,栈的插入和删除只能在进行。
3.线性表(a1,a2,…,a n)的顺序存储结构中,设每个单元的长度为L,元素a i的
存储地址LOC(a i )为
4. 已知一双向链表如下(指针域名为next 和prior):
现将p 所指的结点插入到x 和y 结点之间,其操作步骤为: ; ; ; ; 5.n 个结点无向完全图的的边数为 ,
n 个结点的生成树的边数为 。
6.已知一有向无环图如下:
任意写出二种拓扑排序序列: 、 。
7.已知二叉树的中序遍历序列为BCA ,后序遍历序列为CBA ,则该二叉树的先序遍历序列为 ,层序遍历序列为 。
三、应用题
1. 设散列函数H(k)=k % 13,设关键字系列为{22,12,24,6,45,7,8,13,21},要求用线性探测法处理冲突。
(6分) (1) 构造HASH 表。
(2) 分别求查找成功和不成功时的平均查找长度。
2. 给定表(19,14,22,15,20,21,56,10).(8分) (1) 按元素在表中的次序,建立一棵二叉排序树
(2) 对(1)中所建立的二叉排序树进行中序遍历,写出遍历序列。
(3) 画出对(2)中的遍历序列进行折半查找过程的判定树。
3. 已知二个稀疏矩阵A 和B 的压缩存储三元组表如下:
写出A-B 压缩存储的三元组表。
(5分)
4. 已知一维数组中的数据为(18,12,25,53,18), 试写出插入排序(升序)过程。
并指出具有n 个元素的插入排序的时间复杂度是多少?(5分)
5. 已知一网络的邻接矩阵如下,求从顶点A 开始的最小生成树。
(8分,要有过程) A B C D E F
(1)求从顶点A 开始的最小生成树。
(2)分别画出以A 为起点的DFS 生成树和
BFS 生成树。
6把这些字母和频率作为叶子结点及权值,完成如下工作(7分,要有过程)。
(1) 画出对应的Huffman 树。
(2) 计算带权路径长度WPL 。
(3) 求A 、B 、C 、D 、E 、F 的Huffman 编码。
7. 已知有如下的有向网:
求顶点A 到其它各顶点的最短路径(采用Dijkstra 算法,要有过程)。
(6分)
⎥⎥⎥⎥⎥⎥⎥
⎥⎦
⎤
⎢⎢⎢⎢⎢⎢⎢⎢⎣⎡∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞64266346751275356156F E D C B A
三、 设计题(30分,每题10分,用C 语言写出算法,做在答题纸上)
1. 已知线性表(a 1,a 2,…,a n )以顺序存储结构为存储结构,其类型定义如下: #define LIST_INIT_SIZE 100 //顺序表初始分配容量 typedef struct {
Elemtype *elem; //顺序存储空间基址
int length; //当前长度(存储元素个数) }SqList;
设计一个算法,删除其元素值为x 的结点(假若x 是唯一的)。
并求出其算法的平均时间复杂度。
其算法函数头部如下: S tatus ListDelete(Sqlist &L,Elemtype x) {
……
}
2.设顺序栈如左图所示。
其中结点定义如下: typedef struct {
Elemtype *base; //栈底指针 Elemtype *top; //栈顶指针
}Stack;
设计算法,将栈顶元素出栈并存入e 中.
3.设二叉链树的类型定义如下: typedef int Elemtype; typedef struct node{ Elemtype data;
struct node *lchild, *rchild; }BinNode, *BinTree;
试写出求该二叉树叶子结点数的算法:
S tatus CountLeaves(BinTree &root,int &n) {//n is the number of leaves
……
}。