郑州大学中澳班2010数据结构试卷
数据结构期中试题及参考答案

}LNode, *LinkList;
阅读算法 f31,并回答问题;
(1)设节点结构为id score next
,成绩链表 A 和 B 如图所示,画
出执行算法 f31(A,B)后节点 A 所指的链表;
A
1 70
2 40
3 90
4 48
5 56
B
2 38
4 65
题 31 图
(2)减速算法 f31 的功能。 Void f31(LinkList A, LinkList B) { LinkList p,q; p = A->next; q = B->next; while (p && q) { if(p->id < q->id) p = p ->next; else if(p->if > q-> id) q =q –>next; else { if (p->score < 60)
I + = j + lt ;
}
}while (i+lt <= ls && j>=0);
Return k;
}
4
五、算法设计题(本题 14 分) 34.假设线性表采用顺序存储结构,其类型定义如下:
#define ListSize 100 typedef struct{
int data[ListSize]; int length; }SeqList, *Table; 编写算法,将顺序表 L 中所有值为奇数的元素调整到表的前端。
(1)设 n=10,元素
p=8
2
存储在 sa[p],写出下标 p 的值;
题 3-1 图
(完整word版)数据结构试题集(包含答案完整版)

第一章概论一、选择题1、研究数据结构就是研究(D )。
A. 数据的逻辑结构B。
数据的存储结构C. 数据的逻辑结构和存储结构D。
数据的逻辑结构、存储结构及其基本操作2、算法分析的两个主要方面是( A )。
A。
空间复杂度和时间复杂度 B. 正确性和简单性C。
可读性和文档性D。
数据复杂性和程序复杂性3、具有线性结构的数据结构是( D )。
A。
图B。
树C。
广义表D。
栈4、计算机中的算法指的是解决某一个问题的有限运算序列,它必须具备输入、输出、( B )等5个特性。
A. 可执行性、可移植性和可扩充性B。
可执行性、有穷性和确定性C。
确定性、有穷性和稳定性 D. 易读性、稳定性和确定性5、下面程序段的时间复杂度是( 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)6、算法是(D )。
A。
计算机程序 B. 解决问题的计算方法C。
排序算法 D. 解决问题的有限运算序列7、某算法的语句执行频度为(3n+nlog2n+n2+8),其时间复杂度表示( C )。
A。
O(n) B. O(nlog2n) C。
O(n2) D. O (log2n)8、下面程序段的时间复杂度为( C ).i=1;while(i<=n)i=i*3;A. O(n)B。
O(3n) C。
O(log3n) D. O(n3)9、数据结构是一门研究非数值计算的程序设计问题中计算机的数据元素以及它们之间的()和运算等的学科。
A. 结构B。
关系C。
运算D。
算法10、下面程序段的时间复杂度是(A )。
i=s=0;while(s<n){i++;s+=i;}A. O(n) B。
O(n2)C。
O(log2n)D。
O(n3)11、抽象数据类型的三个组成部分分别为(A)。
A. 数据对象、数据关系和基本操作B. 数据元素、逻辑结构和存储结构C. 数据项、数据元素和数据类型D. 数据元素、数据结构和数据类型12、通常从正确性、易读性、健壮性、高效性等4个方面评价算法的质量,以下解释错误的是()。
全国2010年1月高等教育自学考试数据结构试题及答案

全国2010年1月高等教育自学考试数据结构试题(课程代码:02331)一、单项选择题(本大题共15小题,每小题2分,共30分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。
错选、多选或未选均无分。
1.若一个算法的时间复杂度用T(n)表示,其中n的含义是()A.问题规模B.语句条数C.循环层数D.函数数量2.具有线性结构的数据结构是()A.树B.图C.栈和队列D.广义表3.将长度为n的单链表连接在长度为m的单链表之后,其算法的时间复杂度为()A.O(1) B.O(m)C.O(n) D.O(m+n)4.在带头结点的双向循环链表中插入一个新结点,需要修改的指针域数量是()A.2个B.3个.C.4个D.6个5.假设以数组A[60]存放循环队列的元素,其头指针是front=47,当前队列有50个元素,则队列的尾指针值为()A.3 B.37C.50 D.976.若栈采用链式存储结构,则下列说法中正确的是()A.需要判断栈满且需要判断栈空B.不需要判断栈满但需要判断栈空C.需要判断栈满但不需要判断栈空D.不需要判断栈满也不需要判断栈空7.若串str=”Software”,其子串的数目是()A.8 B.9C.36 D.378.设有一个10阶的下三角矩阵A,采用行优先压缩存储方式,a ll为第一个元素,其存储地址为1000,每个元素占一个地址单元,则a85的地址为()A.1012 B.1017C.1032 D.10399.允许结点共享的广义表称为()A.纯表B.线性表C.递归表D.再入表10.下列数据结构中,不属于二叉树的是()A.B树B.AVL树C.二叉排序树D.哈夫曼树11.对下面有向图给出了四种可能的拓扑序列,其中错误..的是()A.1,5,2,6,3,4 B.1,5,6,2,3,4C.5,1,6,3,4,2 D.5,1,2,6,4,312.以v1为起始结点对下图进行深度优先遍历,正确的遍历序列是()A.v1,v2,v3,v4,v5,v6,v7 B.v1,v2,v5,v4,v3,v7,v6C.v1,v2,v3,v4,v7,v5,v6 D.v1,v2,v5,v6,v7,v3,v413.下列排序算法中不稳定的是()A.快速排序B.归并排序C.冒泡排序D.直接插入排序14.一个有序表为(1,3,9,12,32,41,45,62,75,77,82,95,100),当采用折半查找方法查找值32时,查找成功需要的比较次数是()A.2 B.3C.4 D.815.采用ISAM组织文件的方式属于()A.链组织B.顺序组织C.散列组织D.索引组织二、填空题(本大题共10小题,每小题2分,共20分)请在每小题的空格中填上正确答案。
2010年春季期中考试数据结构试卷

2010年春季学期计算机科学与技术、软件工程、网络工程专业《数据结构》期中考试卷面总分:100分答题时间:120分钟专业年级班级姓名学号说明:一、二题的答案必须写在以下答题卡上,写在别处不得分。
第二题答题卡:一、单项选择题(本大题共15小题,每小题2分,共30分答案写在答题卡上)1、算法分析的目的是()A、找出数据结构的合理性B、研究算法中的输入和输出的关系C、分析算法的效率以求改进D、分析算法的易懂性和文档特点2.下面关于线性表的叙述中,错误的是哪一个?()A.线性表采用顺序存储,必须占用一片连续的存储单元。
B.线性表采用链接存储,不必占用一片连续的存储单元。
C.线性表采用顺序存储,便于进行插入和删除操作。
D.线性表采用链接存储,便于插入和删除操作。
3.若某线性表最常用的操作是存取任一指定序号的元素和在最后进行插入和删除运算,则利用()存储方式最节省时间。
A.带头结点的双循环链表 B.双链表C.顺序表 D.单循环链表4、单链表中,增加一个头结点的目的是为了( )。
A.使单链表至少有一个结点 B.标识表结点中首结点的位置C.方便运算的实现 D.说明单链表是线性表的链式存储5、设栈的输入序列是1,2,3,4,则()不可能是其出栈序列。
A. 1,2,4,3B. 2,1,3,4C. 4,3,1,2D. 1,4,3,26、中缀表达式(A+B)*(C-D)/(E-F*G)的后缀表达式是_____;A. A+B*C-D/E-F*GB. AB+CD-*EFG*-/C. AB+C*D-E/F-G*D. ABCDEFG+*-/-*7、设栈S和队列Q的初始状态均为空,元素a,b,c,d,e,f,g依次进入栈S。
若每个元素出栈后立即进入队列Q,且7个元素出队的顺序是b,d,c,f,e,a,g,则栈S的容量至少是A. 1B. 3C. 2D. 48、循环队列存储在数组A[0..m]中,则入队时的操作为( )。
A. rear=(rear+1) % (m-1)B. rear=(rear+1) % (m+1)C. rear=(rear+1) % mD. rear=rear+19、下面关于串的的叙述中,哪一个是不正确的?()A.串是字符的有限序列 B.空串是由空格构成的串C.模式匹配是串的一种重要运算 D.串既可以采用顺序存储,也可以采用链式存储10、串是一种特殊的线性表,下面哪个叙述体现了这种特殊性?A. 可以顺序存储B. 数据元素是一个字符C. 数据元素可以是多个字符D. 可以链接存储11、对矩阵压缩存储是为了()。
2010年全国自考数据结构模拟试卷(五)及答案

2010年全国⾃考数据结构模拟试卷(五)及答案更多优质⾃考资料,请访问⾃考乐园俱乐部/doc/c4c066f8941ea76e58fa043c.html /club/5346389 2010年全国⾃考数据结构模拟试卷(五)⼀、单项选择题(本⼤题共15⼩题,每⼩题2分,共30分)在每⼩题列出的四个备选项⽬中只有⼀个是符号题⽬要求的,请将其代码填写的括号内.错选、多选或未选均⽆分。
1.设矩阵A(aij,1≤i,j≤10)的元素满⾜:aij≠0(i≥j,1≤i,j≤10)aij=0(i现将A的所有⾮0元素以⾏序为主序存放在⾸地址为2000的存储区域中,每个元素占4个单元,则元素[9,5]的⾸地址为()A.2160B.2164C.2336D.2340答案:A2.循环队列⽤数组A[0…m-1]存放其元素值,已知其头尾指针分别是front和rear,则当前队列中的元素个数是()A.(rear-front+m)MOD mB.rear-fomt+1C.rear-fribt-1D.rear-front答案:A3.任何⼀个带权的⽆向连通图的最⼩⽣成树()A.只有⼀棵B.有⼀棵或多棵C.⼀定有多棵D.可能不存在答案:B4.设栈S和队列Q的初始状态为空,元素e1、e2、e3、e4、e5和e6依次通过栈S,⼀个元素出栈后即进⼊队列Q,若6个元素出列的顺序是e2、e4、e3、e6、e5、e1,则栈S的容量⾄少应该是()A. 6B. 4C. 3D. 2答案:C5.磁带适合存储的⽂件类型是()B.顺序⽂件C.散列⽂件D.多关键字⽂件答案:B6.带头结点的单链表head为空的判断条件是()A.head=NULLB.head->next=NULLC.head->next=headD.head!=NULL答案:B7.在下图中,从顶点V1出发,按⼴度优选遍历图的顶点序列是()A.V1V5V3V4V2V6V7B.V1V5V3V4V2V7V6C.V1V7V2V6V4V5V3D.V1V2V4V7V6V5V3答案:A8.已知⼀棵⼆叉树结点的先根序列为ABDGCFK,中根序列为DGBAFCK,则结点的后根序列为()A.ACFKBDGB.GDBFKCAC.KCFAGDBD.ABCDFKG答案:B9.C语⾔数组Data[m+1]作为循环队列SQ的存储空间,front为队头指针,rear为队尾指针,则执⾏出队操作的语句为()A.front=front+1B.front=(front+1)%mC.rear=(rear+1)%mD.front=(front+1)%(m+1)答案:D10.任何⼀个带权的⽆向连通图的最⼩⽣成树()A.只有⼀棵B.有⼀棵或多棵C.⼀定有多棵D.可能不存在11.将含有83个结点的完全⼆叉树从根结点开始编号,根为1号,后⾯按从上到下、从左到右的顺序对结点编号,那么编号为41的结点的双亲结点编号为()A.42B.40C.21D.20答案:D12.采⽤分治法进⾏排序的⽅法是()A.快速排序B.插⼊排序C.堆排序D.希尔排序答案:A13.设深度为k的⼆叉树上只有度为0和度为2的结点,则这类⼆叉树上所含结点总数量少()个。
2010年澳门特别行政区数据结构试题及答案考资料

29、若某表最常用的操作是在最后一个结点之后插入一个结点或删除最后一个结点,则采用
D 存储方式最节省运算时间。
A.单链表 B.给出表头指针的单循环链表 C.双链表 D.带头结点的双循环链表
C.s->next = p;s->prior = p->prior;p->prior = s;p->prior->next = s
D.s->next = p;s->prior = p->prior;p->prior->next = s;p->prior = s
27、不带头结点的单链表head为空的判定条件是 A 。
11、一个栈的入栈序列是1,2,3,4,5,则不可能的出栈序列是( )
A 5,4,3,2,1 B 4,5,3,2,1 C 4,3,5,1,2 D 1,2,3,4,5
12、n个顶点的强连通图中至少含有( )。
A.n—l条有向边 B.n条有向边
A.整形 B.引用型
C.指针型 D.常值引用型?
D.s->next = p;s->prior = p->prior;p->prior->next = s;p->prior = s
33、在一个具有n个结点的有序单链表中插入一个新结点并仍然保持有序的时间复杂度是 B 。
A.O(1) B.O(n) C.O(n2) D.O(nlog2n)
5、广义表A=(x,((y),((a)),A))的深度是
A.2 B.3 C.4 D.∞
6、算法分析的目的是 C ,算法分析的两个主要方面是 A 。
2010《数据结构》期末试卷_B卷及答案
一、(本题10分)(1)线性表和广义表的主要区别点是什么?已知广义表: C=(a,(b, (a,b)), ((a,b), (a,b))), 则tail(head(tail(C))) =?(2)满足什么条件可以实施二分查找?二分查找的时间复杂度是多少?答:(1)线性表和广义表都是元素a1,a2,…,an 组成的序列,其主要区别点在于:在线性表中,ai 是单个元素(原子);在广义表中,ai 可以是单个元素(原子),也可以是广义表。
tail(head(tail(C))) = ((a,b))(2)序列a1,a2,…,an 必须在数组(顺序表)中,且有序;时间复杂度为O(log n)。
二、(本题10分)证明:一棵二叉树的先序序列和中序序列可惟一确定这棵二叉树。
证明:设一棵二叉树的先序序列和中序序列分别存放在一维数组A[1..n]和B[1..n]中。
因为先序序列的第一个结点A[1]为二叉树的根结点,在中序序列中找到与A[1]相同的结点,不妨假设B[i]=A[1];又因为二叉树的任何一棵子树的结点是紧挨在一起的,故所构造的二叉树的左子树由先序序列A[2..i]和中序序列B[1..i-1]确定的二叉树组成,而所构造的二叉树的右子树由先序序列A[i+1..n]和中序序列B[i+1..n]确定的二叉树组成。
这是一个递归过程,当先序序列和中序序列分别含有3个以下的结点时,可惟一确定对应的二叉树。
因此,由一棵二叉树的先序序列和中序序列可以惟一确定这棵树。
三、(本题15分)某带权有向图如下:(1)写出深度优先搜索结点访问序列,并画出深度优先生成树;(当有多种选择时,编号小的结点优先。
)始点 51 11 32 23 3 1AC D E FBG 厦门大学《_数据结构_》课程期末试卷信息科学与技术学院计算机科学系2008年级___专业主考教师:陈怡疆 庄朝晖 试卷类型:(B 卷)终点(2)写出该图的拓扑序列(当有多种选择时,编号小的结点优先。
2010河南省数据结构基础理论考试试题及答案
16、在一个单链表中,已知q结点是p结点的前趋结点,若在q和p之间插入s结点,则须执行( A ) 。
A)q->next=s; s->next=p; B)s->next=p->next; p->next=s;
C)p->next=s->next; s->next=p D)p->next=s; s->next=q;
C)部分地址必须是连续 D)必须是不连续的
39、设有一个10阶的对称矩阵A,采用压缩存储方式,以行序为主存储,a??11为第一个元素,其存储地址为1,每元素占1个地址空间,则a85的地址为( B )。
A)13 B)33 C)18 D)40
C) rear=front->next; D) front=rear->next ;
25、以下属于顺序存储结构优点的是( A )。
A) 存储密度大 B) 插入运算方便
C)删除运算方便 D)可方便地用于各种逻辑结构的存储表示
A)front=front->next; B) rear=rear->next;
C) rear=front->next; D) front=rear->next ;
6、栈进行插入和删除操作的特点是( A )。
A)LIFO B)FIFO
C) rear=front->next; D) front=rear->next ;
23、在一个单链表中,已知q结点是p结点的前趋结点,若在q和p之间插入s结点,则须执行( A ) 。
A)q->next=s; s->next=p; B)s->next=p->next; p->next=s;
2010年1月自考数据结构试题和答案
2010年1月高等教育考试数据结构试题和答案课程代码:02331一、单项选择题(本大题共15小题,每小题2分,共30分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。
错选、多选或未选均无分。
1.若一个算法的时间复杂度用T(n)表示,其中n的含义是(A)A.问题规模B.语句条数C.循环层数D.函数数量2.具有线性结构的数据结构是(C)A.树B.图C.栈和队列D.广义表线性结构有:顺序表、栈和队列、串3.将长度为n的单链表连接在长度为m的单链表之后,其算法的时间复杂度为(C)A.O(1) B.O(m)C.O(n)D.O(m+n)4.在带头结点的双向循环链表中插入一个新结点,需要修改的指针域数量是(D)A.2个B.3个C.4个D.6个P28中void DInsertBefore(DListNode *p,DataType x)//在带头结点的双链表中,将值为x的新结点插入结点*p之前,设p≠NULL{DListNode *s=malloc(sizeof(ListNode)); ①s->data=x; ②s->prior=p->prior; ③s->next=p; ④p->prior->next=s; ⑤p->prior=s; ⑥}5.假设以数组A[60]存放循环队列的元素,其头指针是front=47,当前队列有50个元素,则队列的尾指针值为(D)A.3 B.37C.50 D.97辅导书P22中对于循环向量中的循环队列,写出通过队头队尾指针表示的队列长度公式。
(front指向实际队头,rear指向实际队尾的下一元素位置。
)当rear≥front时,队列长度L=rear-front;当rear<front时,L=m+(rear-front)。
这两种情况可统一为L=(m+(rear-front))%m,这里m为向量的大小。
本题中m=606.若栈采用链式存储结构,则下列说法中正确的是(B)A.需要判断栈满且需要判断栈空B.不需要判断栈满但需要判断栈空C.需要判断栈满但不需要判断栈空D.不需要判断栈满也不需要判断栈空P36中因为链栈中的结点是动态分配的,可以不考虑上溢,所以无需定义stackFull运算。
数据结构10年考研试题及答案(整理)
数据结构考试重点及部分答案自己做的答案不是很正确如果有问题请联系后面的大题不知道原题,所以不知道怎么做见谅!!!题型和分值选择题:15*2=30填空题:10*2=20解答题:5*4=20算法阅读题:5*4=20算法设计题:101 栈的进栈、出栈函数顺序,求一个表达式的顺序eg:进栈顺序是123 计算POP(S)+2 POP(S) =3+2*2=72 给定二叉排序树的数据求平均查找长度Eg:已知长度为9的表{16 ,3 ,7 ,11 ,9 ,26,18,14,15},建立二叉顺序树后进行查找,则等概率的情况下查找成功的平均查找长度为()二叉排序树(Binary Sort Tree)又称二叉查找树。
它或者是一棵空树;或者是具有下列性质的二叉树:(1)若左子树不空,则左子树上所有结点的值均小于它的根结点的值;(2)若右子树不空,则右子树上所有结点的值均大于它的根结点的值;(3)左、右子树也分别为二叉排序树;根据上述性质,按照给出的表,建立的树如下图:(旁边的数表示查找长度)平均查找长度为:(1+2+2+3+3+4+5+5+6)/9 = 31/93树的概念树是n(n>=0)个结点的有限集4 二重循环的平均时间复杂度的求解(使用嵌套、统计次数)时间复杂度:该算法的运行时间与问题规模的对应关系,时间复杂度用T(n)=O(f(n))来表示Eg:S=0for(i=1;i<=n;i++)for(j=1;j<=m;j++)s=s+1答案为0(n*m)求解算法复杂度时:1、首先确定核心操作。
很显然此算法中,核心的操作是s=s+1;2.这个算法中,存在两重循环。
第一重循环n次,第二重循环m次,总共执行核心操作n*m次。
3.确定此算法的时间复杂度为:O (n*m)若复杂度为 O (n*n),则算法可以是如下的样子:S=0for(i=1;i<=n;i++)for(j=1;j<=n;j++)s=s+15 单链表中R是P的前驱,在P Q之间插入S,则则如何插入(语句表示)在相邻元素R、P之间插入一个值为X的数据元素的基本操作步骤:(1)生成一个数据域值为X的结点S(2)使X结点的指针域指向结点P:S->next=P->next(3)修改R结点的指针域指向结点X:P->next=S6 已知顺序表,求查找X的平均查找长度(n+1)/27栈的插入和删除的位置栈顶8 已知入队序列求出队序列原则:先进先出9 在图中,所有度数和等于边的几倍两倍10 邻接矩阵中行和列分别表示什么意思无向图邻接矩阵的第i行(或第i列)非零元素的个数正好是第i个顶点的度。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2010级数据结构课程试题(A 卷)
合分人: 复查人:
一、单选题:(每题2分,共20分)
1. 线性表的顺序存储结构是一种________的存储结构。
A . 顺序存取
B . 随机存取
C . 索引存取 2. 下列程序段的时间复杂度是( )。
for (i=1; i<=n; i++) for(j=n ; j>=i+1; j--)
if(a[j-1]>a[j]) a[j-1] a[j];
A. O(n)
B. O(1)
C. O(n 2)
D. O(i*n)
3. G 是一个有8个顶点的无向连通图,则该图至少有 条边。
A. 6 B . 7 C . 8 D . 9
4. 关于串的存储结构, 以下描述正确的是( )。
A. 串的块链存储表示实际上也是顺序存储结构
B. 串使用堆分配存储表示时,实际多少字符,就分配多少空间
C. 串使用定长顺序存储,串操作过程中不会出现丢尾现象
D. 串的定长存储表示是顺序结构,而串的堆分配表示是链式存储结构 5. 有序表{1,3,9,12,32,41,45,62,75,77,82,95,100},折半查找82时,要经过( )次比较。
A. 1
B. 2
C. 4
D. 8 6. 任何一棵二叉树的叶子结点在先、中、后序遍历序列中的相对次序_______。
A. 不发生改变
B. 发生改变
C. 不能确定
D. 以上都不对 7. 若从二叉树的任一结点出发到根的路径上所经过的结点序列按其关键字有
序,则该二叉树是 。
A.二叉排序树 B . Huffman 树 C . 堆 8.________二叉排序树可得到一个关键字的有序序列。
A. 先序遍历 B . 中序遍历 C . 后序遍历 D . 层序遍历
9. 图的广度优先遍历算法类似于二叉树的________。
A. 先序遍历
B. 中序遍历
C. 后序遍历
D. 层序遍历
10. 快速排序方法在_______的情况下最不利于发挥其长处。
A. 要排序的数据量太大
B. 要排序的数据中含有多个相同值
C. 要排序的数据已基本有序
D. 要排序的数据个数为奇数
二、填空题:(每空1 分,共10 分)
1.根据二叉树的定义,具有3个结点的二叉树有___ ____种不同的形态。
2.不带头结点的线性单链表(头指针为head)为空的判定条件是。
3.图的最小生成树有普里姆算法和克鲁斯卡尔算法,其中克鲁斯卡尔算法的时间复杂度为,适合于求图的最小生成树
4.在一个有向图中,所有顶点的入度之和是所有顶点出度之和的_________倍。
5.串s=’I am a student’,则其串长是________。
6.深度为k的完全二叉树至少有_____________个结点,至多有__________个结点。
7.算法的5个重要特性是:有穷性、________、可行性、输入和________。
三、判断题:(每空1 分,共10 分)
1. 在AOV-网中,不应该出现有向环。
()
2. 算法的时间复杂度应该是问题规模的函数。
()
3.在待排记录基本有序的情况下,用直接插入排序方法较好。
()
4.如果两个串含有相同的字符,则它们相等。
()5.连通网的最小生成树是唯一的。
()6.若一棵二叉树的任意非叶子结点的度均为2,则该二叉树是满二叉树。
()7.若从无向图的一个顶点出发进行广度优先遍历可访问到图中的所有顶点,则该图一定是连通图。
()
8. 折半查找和二叉排序树的查找时间性能一样。
()
9. 二叉树按某种顺序线索化后,任意结点均有指向其前驱和后继的线索。
()
10. 线性表的逻辑顺序总是与存储顺序是一致的。
()
四、简答题:(共40 分)
1.判断下列序列是否是堆。
若不是堆,则把它们依次调整为堆。
(5(1){100,85,98,77,80,60,82,40,20,10,66} (2){100,85,40,77,80,60,66,98,82,10,20}
2.将下图所示森林转化为相应的二叉树。
(5分)
3. 设哈希函数H(key)=key MOD 11,用线性探测再散列的方法解决冲突。
对关键字序列{ 13,28,72,5,16,8,7,11,29 }在地址空间为0-12的散列区中建哈希表,画出此表,并求等概率情况下查找成功时的平均查找长度。
(10分)
4. 已知关键字序列{70,83,100,65,10,9,7,32},写出直接插入排序和快速排序每一趟结束时的关键字状态。
(10分)
5. 对下面所示无向网, 写出其数组表示法,并写出在此存储结构下,从顶点1出发的深度优先和广度优先遍历序列;并求出用Prim算法构造的最小生成树,画出构造过程。
(10分)
五、算法题:(共20 分)
1.设带头结点的单链表(L为头指针,单链表类型定义如下)
计算法,将x插入到链表的适当位置上,并仍保持该表的有序性。
(10分)typedef struct Lnode
{
int data;
struct Lnode *next;
}Lnode, LinkList;
2.假设二叉排序树(t为指向根结点的指针)中各元素值均不相同,设计一个递归算法按递减顺序输出树上各元素值。
(10分)。