《数据结构》题库及答案.docx
- 文档编号:28691113
- 上传时间:2023-07-19
- 格式:DOCX
- 页数:17
- 大小:218.15KB
《数据结构》题库及答案.docx
《《数据结构》题库及答案.docx》由会员分享,可在线阅读,更多相关《《数据结构》题库及答案.docx(17页珍藏版)》请在冰豆网上搜索。
《数据结构》题库及答案
《数据结构》题库及答案
一、选择题
1.线性表的顺序存储结构是一种_的存储结构,线性表的链式存储结构是一种—的存储结构。
a.随机存储:
b.顺序存储:
c.索引存取:
d.HASH存取
2.一个栈的入栈序列是a,b,c,d,e,则栈的不可能的输岀序列是°
a.edcba;b・decba;c.dceab;
3.一个队列的入队序列是1,2,3,4,则队列的输出序列是
a.43,2,1;b・1,23,4;c.143,2;,2,4,1
4.在一个单链表中,已知p结点是q结点的直接前驱结点,若在p和q之间插入结点s,则执行的操作是o
a.s->nxet=p->next;p->next=s;
b.
cp->next=s->next;s->next=p;
d・q・>next二s;s・>next二p;
e.p->next=s;s->next=q;
5.设有两个串p,q,求q在p中首次岀现的位置的运算称作。
a.联接b.模式匹配c.求子串d.求串长
6.二维数组M的成员是6个字符(每个字符占一个存储单元)组成的串,行下标i的范用从0到8,列下标j
的范用从1到10,则存放M至少需要个字节。
a・90
7.在线索二叉树中,结点p没有左子树的充要条件是o
a.p->lch==NULL
b・p->ltag==l
C・
ap->ltag==l且p->lch=NULL
e.以上都不对
&在栈操作中,输入序列为(A,B.C,D),不可能得到的输出序列为:
A、(A,B,C,D)B、(D,C,B,A)
C、(A,C,D,B)D.(C,A,B,D)
9.已知某二叉树的后序序列是dabec,中序序列是debac,则它的先序序列是。
A、acbedB>decabC、deabcD^cedba10・设矩阵A是一个对称矩阵,为了节省存储空间,将其下三角部分(见下图)按行序存放在一维数组B[l..n(n-l)/2]
中,对任一上三角部分元素在一维数组B的存放位置是
11
nl
a.
可以顺序存储
b.
数据元素是一个字符
C・
可以链接存储
d.
<
e.
数据元素可以是多个字符
17.数组A中,每个元素A[i][j]的长度是3个字节,行下标i从1到8,列下标j从1到10,从首地址SA开始
连续存放在存储器内,存放该数组的单元数是。
a.80
b.100
c.240
d.270
18.已知某二叉树的先序遍历序列是abdgcefh,中序遍历序列是dgbaechf,则英后序遍历的结点访问顺序序列
是
a.
bdgcefha
b.
gdbecfha
C・
bdgaechf
d.
e.
gdbehfca
19.线索二叉树是一种结构。
a.
逻辑
b.
逻辑和存储
c.
物理
d.
线性
20.在一个有向图中,所有顶点的入度之和等于所有顶点的岀度之和的倍。
a.V2
b・1
c.2
d・:
e.3
21.采用分块查找时,若线性表中共有625个元素,查找每个元素的概率相同,假设采用顺序查找来确左元素所
在的块时,则每块应分为个元素的块时,查找效率最佳。
a・10
b・25
c.6
d.625
22.一个栈的输入序列是12345,则栈的不可能输岀序列是
a.54321
b.45321
c.43512
d.)
e.12345
23.完全二叉树一泄是满二叉树吗
a.一定是
b.不是
C.不一定
24.线性表釆用链式存储结构时其地址
a.必须是连续的
b.部分地址必须是连续的
c.一左是不连续的
d.连续不连续都可以
25.具有线性结构的数据结构是o
a.树
b.图
c.广义表
d.栈
26.下图为顺序队列的初始情况,设azb,c相继出队列,巳f相继入队列,则指针和分别为
a.2,5
b.3,5
c.3,6
d.4,6
二、填空题
1•设n行n列的下三角阵A已经压缩存储到一维数组S[0••畔-1]中,若按行序为主序存储,则A[i][j]对应的
在S中的存储位置是
2.广义表((a),((b),c),(((d))))的长度是,深度是。
3.深度为k的完全二叉树至少有个结点,至多有个结点,若按自上而下,从左到右的次序给结
点编号(从1开始),则编号最小的叶子结点的编号是°
4.根据有向图的宽度优先遍历算法,对下图2所示有向图从顶点vl岀发进行搜索,所得到的顶点遍历序列
是J
图2
5.有一个有序表为{1,3,9,12,32,41,45,62,75,77,82,95,100},当二分査找值为82的元素时,需
要经过次比较就找到。
6.是数据的最小单位。
7.在双向链表中,每个结点有两个指针域,一个是指向另一个指向。
&设栈ST用顺序存储结构表示,则栈ST为空的条件是o
9.两个串相等的充分必要条件是和对应位置上的字符相等。
10.对于深度为h的二叉树至多有个结点。
□・将一个a[15][15]的对称矩阵压缩存储到一个一维数组中,该数组的长度至少为°
3.算法应用题
1.数据集{4,5,6,7,10,12,18}为结点权值构造Huffman树,请给岀构造所得的Huffman树,并求苴带权
路径长度。
2•假设一棵二叉树的先序序列是EBADCFHGIKJ.中序序列是ABCDEFGHIJIG请画出该二叉树。
3.已知一颗二叉排序树如下图所示,若依次删除93、19、87、48结点,试分别画出每删除一个结点后得到的二叉排序树。
4・已知关键字序列{19,01>23,14,55,20,84,27,68,11,10,77},采用哈希函数:
H(key)=key%13>和2
开放地址法的线性探测再散列方法解决冲突,已知英装填因子«=-,试对该关键字序列构造哈希表,并3
求其査找成功时的平均査找长度。
5.画岀和下列已知序列对应的森林F:
森林的先序遍历序列是:
ABCDEFGHIJKL;
森林的中序遍历序列是:
CBEFDGAJIKLHo
6•假设用于通讯的电文仅由8个字母组成,字母在电文中出现的频率分别为………请给这8个字母设计哈
夫曼编码。
7.对下图所示的无向带权图,
1给岀其邻接矩阵,并按Prim算法求苴最小生成树:
2给出其邻接表,并按Kruskal算法求其最小生成树。
&我们已经知道对长度为n的记录序列进行快速排序时,所需进行的比较次数依赖于这n个元素的初始排列。
试问:
1n=7时在最好情况下需进行多少次比较请说明理由。
2对n=7给岀一个最好情况的初始排列实例。
9.下列算法为斐波那契查找算法:
intFibSearch(SqListr,KeyTypek)
{
j=l;
while(fib(j) mid=n-fib(jey): found二true;break; case(k if("2)mid=O; else{mid=mid-f2;t=fl-f2;fl=f2;f2=t;}break; case(k>r[mid].key): if(fl==l)mid=O; else{mid=mid+f2;fl=fl-f2;f2=f2-fl;}break; iffoundreturnmid;elsereturn0; }A=(q,d C=(a^b^a PjYpkY 62 19 12 I)®+1 Pi A、BCC=(5片皿2上2,…上皿上卄―小…、b)m CABmn12"? “],P”…,几iyjYk 恥厶心e NU 2 4 5 vertexlv (f) p二p・〉nexx- (d) 小丿 NULL b)(b) (c) 4・解答: 本题涉及的存储结构描述如下: 单链表存储结构: typedefstructLnode*LinkList; typedefstructLnode DataTypedata; LinkListnext; jLnode/LinkList; voidmerge_two_ascedingjinklist_to_one_desceding_linklist(LinkList&Ic,LinkListlajb) { pa=la->next; pb=lb->next; lc=la; pc=lc; pc->next=NULL; while(pa&&pb) { if(pa->data > { u=panext; pa・>next=pc->next; pc->next=pa; pa=u; } else { u=pb->next; pb->next=pc->next; Y pc->next=pb; pb二u; } } while(pa) { u=pa->next; pa・>next=pc->next; pc・>next=pa; pa=u; } while(pb) { u=pb->next; pb->next=pc->next; pc・>next=pb; pb=u; } delete(lb) } 5.解答: 本题涉及的存储结构描述如下: 顺序存储结构: constmaxsize=100; typedefintElemType; typedefstruct{ ElemTyper[maxsize+l]; intlength;//实际长度 }SqList; Voidinert_xJnto(SqList&va,intx) { j=; while((x<[j])&&(j>=0)) { U+1]=U]; j-; } [j+l]=X; =+l; 五.简答题 1.存储图: 2•树: 二叉树: 六、证明题 1.证明: 反证法。 设存在,YjYk使得门YPkYPi。 贝IJ①由jYk得出栈序列门,厂,几; ②由PjY[兀YH得知入栈序列为Pj、Pk,Pi; 由①知戸最先出栈,则由②知出栈的序列将是□,几,厂。 此岀栈序列与由①得到的岀栈序列矛盾。 因此假设错误。 从而若借助栈由输入序列1,2,…,”得到的输出序列为门,“2,…,卩”(它是输入序列的一个排列),则在输出序列中不可能存在iYJYk使得厂•Y几VP,° 证毕 2.证明: 设总结点数为”,贝IJ: n=n0+①: 又该满k叉树上的每个结点出根之外都一个分支进入,这些分支是由非叶子结点产生的,因此有: n=k叫+1②: 由①和②得: 川()+坷=kn{+1 n0=k叫+1_n{=(£_l)q+1 证毕
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构 题库 答案