数据结构模拟题及答案.docx
- 文档编号:24076595
- 上传时间:2023-05-24
- 格式:DOCX
- 页数:10
- 大小:94.67KB
数据结构模拟题及答案.docx
《数据结构模拟题及答案.docx》由会员分享,可在线阅读,更多相关《数据结构模拟题及答案.docx(10页珍藏版)》请在冰豆网上搜索。
数据结构模拟题及答案
数据结构试题(A05)
一、选择题(共10小题,每小题1分,共10分)
1.下面程序段的时间复杂度是()
m=0;
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
m=m+1;
A.O(n2)B.O(m+n+1)C.O(m+n)D.O(n)
2.在单链表中,指针p指向元素为x的结点,实现“删除x的后继”的语句是()
A.p=p->next;B.p->next=p->next->next;
C.p->next=p;D.p=p->next->next;
3.在长度为n的顺序表,当在任何位置上删除一个元素的概率相等时,删除一个元素需要移动的元素的平均个数为()
A.n/2B.(n-1)/2C.(n+1)/2D.(n+2)/2
4.一个栈的输入序列为12345,则下列序列中不可能是栈的输出序列的是()
A.23415B.54132C.23145D.15432
6.设循环队列中数组的下标范围是1~n,其头尾指针分别为f和r,则其元素个数为()
A.r-fB.r-f+1
C.(r-f)modn+1D.(r-f+n)modn
7.以下序列不是堆的是()。
A.(100,85,98,77,80,60,82,40,20,10,66)
B.(100,98,85,82,80,77,66,60,40,20,10)
C.(100,85,40,77,80,60,66,98,82,10,20)
D.(10,20,40,60,66,77,80,82,85,98,100)
8.在有序表(12,24,36,48,60,72,84)中折半查找关键字72时所需进行的关键字比较次数为()。
A.3B.4C.5D.2
9.在待排序的元素序列基本有序的前提下,效率最高的排序方法是()。
A.选择排序B.冒泡排序
C.快速排序D.插入排序
二、填空题(共20小题,每小题1分,共20分)
1、在单链表中,删除指针P所指结点的后继结点的语句是。
2、线性表的两种存储结构分别是和。
3、己知完全二叉树的第4层有5个结点,则其叶子结点数是。
4、将下三角矩阵A[1….8,1….8]的下三角部分逐行地存储到起始地址为1000的内存单元中,已知每个元素占4个单元,则A[7,5]的地址是。
5、有n个结点的强连通有向图G至少有条弧。
7、在有序表A[1….20]中,采用二分查找算法查找元素值等于A[12]的元素,所比较的元素的下标依次为。
8、直接选择排序算法所执行的元素交换次数最多为。
9、在带有头结点的单链表L中,第一个元素结点的指针是。
10、具有100个结点的完全二叉树的深度是。
11、在一个长度为n的顺序表中第i个元素(1≤i≤n)之前插入一个元素时,需向后移动___________个元素。
12、在队列中,允许进行插入操作的一端称为________,允许进行删除操作的一端称为________。
13、在一个带头结点的单循环链表中,p指向尾结点的直接前驱,则指向头结点的指针head可用p表示为head=。
15、对于一棵具有n个结点的树,该树中所有结点的度数之和为__________。
16、8层完全二叉树至少有个结点,拥有300个结点的完全二叉树的最大层数为。
17、有n个结点的有向连通图,其边数最多为____条,最少有____条。
18、设n0为赫夫曼树的叶子结点数目,则该赫夫曼树共有_____个结点。
19、顺序查找n个元素的顺序表,若查找成功,则比较关键字的次数最多为____次。
三、判断题(共10小题,每小题1分,共10分)
判断下列各题是否正确,若正确,在()内打“√”,否则打“╳”。
1、()若某二叉树的叶子结点数为1,则其先序序列和后序序列一定相反。
2、()线性表采用链表方式和顺序表方式存储,执行插入和删除运算的时间复杂度都是O(n),因而两种存储方式的插入、删除运算所花费的时间相同。
3、()在栈为空的情况下,不能作出栈操作,否则产生下溢。
5、()在一个有向图的邻接表中,如果某个顶点的链表为空,则该顶点的度一定为0。
6、()如果有向图G=(V,E)的拓扑序列唯一,则图中必定仅有一个顶点的入度为0,一个顶点的出度为0。
8、()广义表的长度是指广义表中原子的个数。
9、()在快速排序算法中,以待排序的n个记录中的第一个记录的键值为基准,将所有记录分为两组,该记录就在这两组的中间,这也是该记录的最终位置。
10、()在一个大根堆中,最小元素不一定在最后。
四、解答题(共30分,其中第1、2小题各占7分,第3、4小题各占8分)
1、已知二叉树T的先序遍历序列为ABCDEFGHIJKLMN,中序遍历序列为DCFEGBAIHKJMLN。
请画出该二叉树T,并写出它的后序遍历序列。
a
b
c
d
e
2、已知一个无向图的顶点集为{a,b,c,d,e},其邻接矩阵如下所示
(1)画出该图的图形;
(2)根据邻接矩阵从顶点a出发进行深度优先遍历和广度优先遍历,写出相应的遍历序列。
3、已知线性表的关键字集合{87,25,310,08,27,132,68,95,187,123,70,63,47},已知哈希函数为H(k)=kMOD13,采用拉链法处理冲突,设计出该哈希表的结构。
4、输入下列整数序列,画出建立的二叉排序树,最后分别图示将其中50,86删除后的二叉排序树。
(86,50,78,90,64,55,23,100,40,80,45)。
五、算法题(共30分,其中第1、2小题各占6分,第3、4小题各占9分)
1、假设一个单循环链表L的数据域为整型,设计一个算法,求该表中所有结点的数据之和。
2、设某二叉树以二叉链表为存储结构,请写出求其高度的递归算法。
3、假设有两个按元素值递增有序排列的线性表A和B,均以单链表作存储结构,请编写算法将表A和表B归并成一个按元素非递减有序(允许值相同)排列的线性表C。
4、试写出二叉链表表示的二叉树的先序遍历的非递归算法。
数据结构试题(A05参考答案)
一、选择题1~5:
ABBBB6~9:
DCDD
二、填空题
1、p->next=p->next->next;
2、顺序,链接
3、6
4、1132
5、n
6、O(n2)
7、10,15,12
8、n-1
9、L->next
10、7
11、n-i+1
12、队尾,队头
13、p->next->next
14、s->prior->next=s,(或p->prior->prior->next=s)
15、n-1
16、128,9
17、n(n-1),n
18、2n0-1
19、n
三、判断题
1、√2、╳3、√5、╳
6、√8、╳9、√10、√
四、简答题
1、二叉树如下图:
其后序遍历序列是:
DFGECBIKMNLJHA
2、
(1)该图的图形如下图:
(2)根据邻接矩阵从顶点a出发进行深度优先遍历和广度优先遍历,其深度优先遍历序列是abdce,广度优先遍历序列是abedc。
3、得到的哈希表如下图所示:
4、建立的二叉排序树如下图:
删除50后的二叉排序树如下图:
再次删除86后的的二叉排序树如下:
五、算法题
1、解:
设存储结构如下:
typedefstructnode
{intdata;
structnode*next;
}Lnode,*CLinkList;
且设单循环链表是带头结点的,算法如下:
intsumOfLinkList(CLinkListL)
{intsum=0;Lnode*p=L->next;
while(p!
=L){sum+=p->data;p=p->next;}
returnsum;
}
2、解:
设存储结构如下:
typedefstructnode
{ElemTypedata;
structnode*lchild,*rchild;
}Tnode,*BinTree;
算法如下:
intdepth(BinTreeT)
{if(!
T)return0;
else
{intDL,DR;
DL=depth(T->lchild);
DR=depth(T->Rchild);
if(DL>DR)returnDL+1;
elsereturnDR+1;
}
}
3、(答案略)
4、(答案略)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构 模拟 答案