数据结构历年真题.pdf
《数据结构历年真题.pdf》由会员分享,可在线阅读,更多相关《数据结构历年真题.pdf(50页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、全国2001年 10月自考数据结构试题一、单项选择题(本大题共15小题,每小题2 分,共 30分)1.算法指的是()A.计 算 机 程 序 B.解决问题的计算方法 C.排序算法 D.解决问题的有限运算序列2.线性表采用链式存储时,结点的存储地址()A.必须是不连续的 B.连续与否均可 C.必须是连续的 D.和头结点的存储地址相连续3.将 长 度 为 n 的单链表链接在长度为m 的单链表之后的算法的时间复杂度为()A.O(1)B.O(n)C.O(m)D.O(m+n)4.由两个栈共享一个向量空间的好处是:()A.减少存取时间,降低下溢发生的机率 B.节省存储空间,降低上溢发生的机率C.减少存取时间
2、,降低上溢发生的机率 D.节省存储空间,降低下溢发生的机率5.设数组datam作为循环队列SQ 的存储空间,front为队头指针,rear为队尾指针,则执行出队操作后其头指针front值 为()A.front=front+1 B.front=(front+1 )%(m-1)C.front=(front-1 )%m D.front=(front+1 )%m6.如下陈述中正确的是()A.串是一种特殊的线性表B.串的长度必须大于零 C.串中元素只能是字母 D.空串就是空白串7.若目标串的长度为n,模式串的长度为n/3,则执行模式匹配算法时,在最坏情况下的时间复杂度是n,A.O(-)B.O(n)C.O
3、(n2)D.O(n3)38.一个非空广义表的表头()A.不 可 能 是 子 表 B.只能是子表 C.只能是原子D.可以是子表或原子9.假咚以产勺表的型,组表表示稀疏矩阵,则和下列行表1。|2|3 1 3|5|对应的稀疏矩阵是()0-8060-80670007000A.0000B.-5040-5040000000000300-0-806一-0-80600000000C.0200D.7000-5040-50400000030010.在一棵度为3 的树中,度为3 的结点个数为2,度为2 的结点个数为1,则度为0 的结点个数为()A.4 B.5 C.6 D.711.在含n 个顶点和e 条边的无向图的邻
4、接矩阵中,零元素的个数为()A.e B.2e C.n2e D.n22e12.假设一个有n 个顶点和e 条弧的有向图用邻接表表示,则删除与某个顶点叫相关的所有弧的时间复杂度是()A.O(n)B.0(e)C.O(n+e)D.O(n*e)13.用某种排序方法对关键字序列(25,84,21,47,15,27,68,35,2 0)进行排序时,序列的变化情况如下:2 0,1 5,2 1,2 5,4 7,2 7,6 8,3 5,8 41 5,2 0,2 1,2 5,3 5,2 7,4 7,6 8,8 41 5,2 0,2 1,2 5,2 7,3 5,4 7,6 8,8 4则所采用的排序方法是()A.选择排序
5、 B.希尔排序 C.归并排序 D.快速排序1 4 .适于对动态查找表进行高效率查找的组织结构是()A.有序表 B,分块有序表 C.三 叉 排 序 树 D.线性链表1 5 .不定长文件是指()A.文件的长度不固定B.记录的长度不固定C.字段的长度不固定 D.关键字项的长度不固定二、填空题(本大题共1 0 小题,每小题2分,若有两个空格,每个空格1 分,共 2 0 分)1 6 .数据的逻辑结构是从逻辑关系上描述数据,它与数据的 无关,是独立于计算机的。1 7 .在一个带头结点的单循环链表中,p指向尾结点的直接前驱,则 指 向 头 结 点 的 指 针 h e a d 可 用 p表示为h e a d=
6、。1 8 .栈顶的位置是随着 操作而变化的。1 9 .在串S=s t r u c t u r e”中,以t 为首字符的子串有 个。20.假设一个9 阶的上三角矩阵A按列优先顺序压缩存储在一维数组B中,其中B 0 存储矩阵中第1 个元素的,则B 31|中存放的元素是。21 .已知一棵完全二叉树中共有7 6 8 结点,则该树中共有_ _ _ _ _ _ _个叶子结点。22.已知一个图的广度优先生成树如右图所示,则与此相 必应 的 广 度 优 先 遍 历 序 列 为。23.在单链表上难以实现的排序方法有 和。24 .在有序表(1 2,24,36,4 8,6 0,7 2,8 4)中二分查找关键字7 2
7、时所需进行的关键字比较次数为25.多重表文件和倒排文件都归属于 文件。三、解答题(本大题共4小题,每小题5 分,共 20分)26 .画出下列广义表的共享结构图形表示P=(z),(x,y),(x,y),x),(z)27 .请画出与下列二叉树对应的森林。己知一个无向图的顶点集为 a,b,c,d,e ,其邻接矩阵如下所示)1 O O 11 O O 1 O 1 1 c(1)画出该图的图形;(2)根据邻接矩阵从顶点a出发进行深度优先遍历和广度优先遍历,写出相应的遍历序列。29.已知二个散利J表,下用所示:|35|20|33|4 8|丁0 1 2 3 4 5 6 7 8 9 1 0 1 1 1 2其散列函
8、数为h(ke y)=ke y%1 3,处理冲突的方法为双重散列法,探查序列为:h j=(h(ke y)+i *h 1 (ke y)%m i =0 1,m 1其中h 1 (ke y)=ke y%1 1+1回答下列问题:(1)对表中关键字35,20,3 3和48进行查找时,所需进行的比较次数各为多少?(2)该散列表在等概率查找时查找成功的平均查找长度为多少?四、算法阅读题(本大题共4小题,每小题5分,共2 0分)30.下列算法的功能是比较两个链串的大小,其返回值为:-1 当 S S 2c o m s t r(s i,S 2)=s2请在空白处填入适当的内容。i n t c o m s t r(L i
9、 n kS t r i n g s i,L i n kS t r i n g s 2)/s i和s 2为两个链串的头指针w h i le(s l&s 2)i f(s l d a t e d a t e)r e t u r n 1 ;i f(s l d a t e s 2 d a t e)r e t u r n l;31 .阅读下面的算法L i n kL i s t m yn o t e(L i n kL i s t L)/L是不带头结点的单链表的头指针i f(L&L-n e x t)q=L;L=L-n e x t;p=L;S I:w h i le(p-n e x t)p=p n e x t;S
10、 2:p n e x t=q;q n e x t=NU L L;)r e t u r n L;请回答下列问题:(I)说明语句s i 的功能;(2)说明语句组S 2的功能:(3)设链表表示的线性表为(aha2,-,an),写出算法执行后的返回值所表示的线性表。3 2.假设两个队列共享一个循环向量空间(参见右下图),r r o n t i J.丽区/其类型Queue2定义如下:”,冷 皿 笠typedef struct (!)IDateType datafMaxSize;交 出 夕、f r o n t f 0 int front2,rear2;rea“ojQueue2;对于i=0或 1,front
11、s和 reari分别为第i 个队列的头指针和尾指针。请对以下算法填空,实现第i 个队列的入队操作。int EnQueue(Queue2*Q,int i,DateType x)若第i 个队列不满,则元素x 入队列,并返回1;否则返回0if(il)return 0;if(Qreari1=O-front IretumO;Q-data =x;Q-rearFil=r()1;return 1 ;)3 3.已知二叉树的存储结构为二叉链表,阅读下面算法。typedef struct node DateType data;Struct node*next;JListNode;typedef ListNode*L
12、inkList;LinkList Leafhead=NULL;Void Inorder(BinTree T)(LinkList s;If(T)Inorder(Tlchild);If(!T-lchild)&(!T-rchild)s=(ListNode*)malloc(sizeof(ListNode);sdata=Tdata;s-next=Leafhead;Leafhead=s;)Inorder(T-rchild);)对 于 如下所示的二叉树(AY/滔(B)DGHF(1)画出执行上述算法后所建立的结构;(2)说明该算法的功能。五、算法设计题(本题共10分)3 4.阅读下列函数arrange()in
13、t arrange(int a,int l,int h,int x)/l和 h 分别为数据区的下界和上界int i,j,t;i=l;j=h;while(ij)while(i=x)j;while(i=x)i+;if(ij)t=aj;aj=ai;ai=t;)if(aijnext=P;S-prior=P-prior;P-prior=S;9.对广义表 A=(x,(a,b),c,d)的运算 head(head(tail(A)的结果是。10.判断线索二叉树中某结点指针P 所指结点有左孩子的条件是四、简答题(每小题5 分,共 15分)I.求出下图的一棵最小生成树。(70,12,20,31,1,5,44,66
14、,61,200,30,80,150,4,28)3.已知一棵二叉树的先序序列是ABCDEFGHIJK,中序序歹I 是 CDBGFEAHJIK,请构造出该二叉树。五、综合应用题(共17分)1.已知一树的双亲表示法如下,其中各兄弟结点是依次出现的,画出该树及对应的二叉树。(满分7 分)。1 2 3 4 5 6 7 8 9 10 11 12 13 14 15dataABCDEFGHIJKLMN0parent0111223344566782.计算二叉树的深度的算法。(10分)浙江省2002年 1 月高等教育自学考试数据结构试题参考答案课程代码:02331一、单项选择题(每小题2 分,共 38分)l.A2
15、.B3.C4.B5.D6.C7.A8.B9.A10.C11.D12.B13.D14.D15.C16.A17.B18.A19.C二、判断题(每小题1分,共 10分)1.V2.X3 V4.V5.X6.X7.V8.X9.X10.X三、填空题(每空2 分,共 20分)1.n-12.左右子树空3.12254.n(n-1 )/25.head(A)6.节省空间7.L-next=L-prior8.S-prior-next=S9.(a)10.P-ltag=l四、简答题(每小题5 分,1.最小生成树:或 Lnext=L共 15分)2.小头堆:1 123.二叉树:43130 5 20 66 61 20070 80
16、150 44 28AB/C ED F八G五、综合应用题(共 17分)1.从森林转换为二叉树:(7 分)2.计算二叉树的深度的算法:(10 分)int depth(tree*T)if(!T)return 0;elsereturn 1 +max(depth(T-Lchild),depth(-Rchild);全国2002年10月高等教育自学考试一、单项选择题1.若结点的存储地址与其关键字之间存在某种映射关系,则称这种存储结构为()A.顺序存储结构B.链 式 存 储 结 构 C.索引存储结构D.散列存储结构2.在长度为n 的顺序表的第i(lWiWn+l)个位置上插入一个元素,元素的移动次数为()A.n
17、-i+1B.n-i C.iD.i-13.对于只在表的首、尾两端进行插入操作的线性表,宜采用的存储结构为()A.顺序表B.用头指针表示的单循环链表 C 用尾指针表示的单循环链表D.单链表4.若进栈序列为a,b,c,则通过入出栈操作可能得到的a,b.c的不同排列个数为()A.4B.5C.6D.75.为查找某一特定单词在文本中出现的位置,可应用的串运算是()A.插入B.删除C.串联接D.子串定位6.已知函数Sub(s,i,j)的功能是返回串s 中从第i 个字符起长度为j 的子串,函数Scopy(s,t)的功能为复制串t 到 s。若字符串 S=SCIENCESTUDY,则调用函数$。丫 出 5 此6
18、1,7)后得到()A.P=SCIENCE B.P=STUDYH C.S=SCIENCE,z D.S=STUDY”7.三维数组A456按行优先存储方法存储在内存中,若每个元素占2 个存储单元,且数组中第一个元素的存储地址 为 1 2 0,则元素A 3 45的存储地址为()A.356B.3588.如右图所示广义表是一种(A.线性表B.纯表C.结点共享表D.递归表9.下列陈述中正确的是()A.二叉树是度为2 的有序树C.360)D.362B.二叉树中结氏只另一1、修寸叫无左右之分C.二叉树中必有度为2 的 结 点 D.二叉树中最多只有两棵子树,并且有左右之分10.n个顶点的有向完全图中含有向边的数目
19、最多为()A.n-1B.nC.n(n-l)/2D.n(n-l)11.已知一个有向图如右所示,则从顶点a 出发进行深度优先偏历,不可能得到的DFS序列为()A.adbefc B.a dc e f bC.a d c b f e D.a d e f c b12.在最好和最坏情况下的时间复5A.快速排序B.堆排序C.归并排序内排序方法是()D.基数排序13.不可能生成右图所示二叉排序树的关键字序列是()A.4 5 3 1 2B.4 2 5 3 1C.4 5 2 1 3D.4 2 3 1 54114.ALV树是一种平衡的二叉排J(3)题 13图)A.左、右子树的高度均相同 B.左、右子树高度差的绝对值不
20、超过1C.左子树的高度均大于右子树的高度D.左子树的高度均小于右子树的高度15.在VSAM文件的控制区间中,记录的存储方式为()A.无序顺序 B.有 序 顺 序 C.无序链接 D.有序链接二、填空题(本大题共10小题,每小题2 分,若有两个空格,每个空格1分,共 20分)16.若一个算法中的语句频度之和为T(n)=3720n+4nlogn,则 算 法 的 时 间 复 杂 度 为。17.在如图所示的链表中,若在指针p 所指的结点之后插入数据域值相继为a 和 b 的两个结点,则可用下列两个语句实现该操作,它们依次是 和 oa i-M 5nl lAl题17图18.假 设 以 S 一一 和 X 分别表
21、示进栈和退栈操作,则对输入序列a,b,c,d,e进行一系列栈操作SSXSXSSXXX之后,得 到 的 输 出 序 列 为。19.串 S=I am a worker的长度是。20.假设一个10阶的下三角矩阵A 按列优顺序压缩存储在一维数组C 中,则 C 数组的大小应为 o21.在n 个结点的线索二叉链表中,有 个线索指针。22.若采用邻接矩阵结构存储具有n 个顶点的图,则 对 该 图 进 行 广 度 优 先 遍 历 的 算 法 时 间 复 杂 度 为。23.对关键字序列(52,80,63,44,48,91)进 行 一 趟 快 速 排 序 之 后 得 到 的 结 果 为。24.由10000个结点构
22、成的二叉排序树,在等概率查找的假设下,查 找 成 功 时 的 平 均 查 找 长 度 的 最 大 值 可 能 达 到。25.若要找出所有工资低于1500元,职称是副教授,及所有工资低于2000元,职称是教授的记录,则查询条件是 o三、解答题(本大题共4 小题,每小题5 分,共 20分)26.已知一个6 行 5 列的稀疏矩阵中非零元的值分别为:-90,41,-76,28,-54,65和-8,它们在矩阵中的列号依次为:1,4,5,1,2,4 和 5。当以带行表的三元组表作存储结构时,其行表RowTab中的值依次为0,0,2,2,3 和 5。请写出该稀疏矩阵(注:矩阵元素的行列下标均从1开始)。27
23、.已知树T 的先序遍历序列为ABCDEFGHJKL,后序遍历序列为CBEFDJIKLHGAo请画出树T。28.对关键字序列(72,87,61,23,94,16,05,58)进行堆排序,使之按关键字递减次序排列。请写出排序过程中得到的初始堆和前三趟的序列状态。初始堆:第 1趟:第 2 趟:第 3 趟:29.在关键字序列(07,12,15,18,27,32,41,92)中用二分查找法查找和给定值92相等的关键字,请写出查找过程中依次和给定值“92”比较的关键字。四、算法阅读题(本大题共4 小题,每小题5 分,共 20分)30.以下函数中,h 是带头结点的双向循环链表的头指针、(1)说明程序的功能;
24、(2)当链表中结点数分别为1和 6(不包括头结点)时,请写出程序中while循环体的执行次数。int f(DListNode*h)(DListNode*p,*q;int j=l;p=h-next;q=h-prior;while(p!=q&p-prior!=q)if(p-data=q-data)p=p-next;q=q-prior;)else j=0;return j;)31.设栈S=(1,234,5,6,7)淇 中 7 为栈顶元素。请写出调用algo(&s)后栈S的状态。void algo(Stack*S)(int i=0;Queue Q;Stack T;InitQueue(&Q);InitS
25、tack(&T);while(!StackEmpty(S)(if(i=!i)!=0)Push(&T,Pop(&S);else EnQueue(&Q,Pop(&S);)while(!QueueEmpty(Q)Push(&S,DeQueue(&Q);while(!StackEmpty(T)Push(&S,Pop(&T);)32.已知带权图的邻接矩阵表示和邻接表表示的形式说明分别如下:#define MaxNum 50 图的最大顶点数#define INFINITY INT_MAX/INT.MAX 为最大整数,表示8typedef struct char vexsMaxNum);字符类型的顶点表in
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构 历年
限制150内