全国2001年10月数据结构试题及答案4714.pdf

上传人:得****3 文档编号:83600861 上传时间:2023-03-31 格式:PDF 页数:7 大小:237.61KB
返回 下载 相关 举报
全国2001年10月数据结构试题及答案4714.pdf_第1页
第1页 / 共7页
全国2001年10月数据结构试题及答案4714.pdf_第2页
第2页 / 共7页
点击查看更多>>
资源描述

《全国2001年10月数据结构试题及答案4714.pdf》由会员分享,可在线阅读,更多相关《全国2001年10月数据结构试题及答案4714.pdf(7页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、 1 数据结构试题四 一、单项选择题(本大题共 15 小题,每小题 2 分,共 30 分)在每小题列出的四个选项中只有一个选项是符合题目要求的,请将正确选项前的字母填在题后的括号内。1算法指的是()A计算机程序 B解决问题的计算方法 C排序算法 D解决问题的有限运算序列 2线性表采用链式存储时,结点的存储地址()A必须是不连续的 B连续与否均可 C必须是连续的 D和头结点的存储地址相连续 3将长度为 n 的单链表链接在长度为 m 的单链表之后的算法的时间复杂度为()AO(1)BO(n)CO(m)DO(m+n)4由两个栈共享一个向量空间的好处是:()A减少存取时间,降低下溢发生的机率 B节省存储

2、空间,降低上溢发生的机率 C减少存取时间,降低上溢发生的机率 D节省存储空间,降低下溢发生的机率 5设数组 datam作为循环队列 SQ 的存储空间,front 为队头指针,rear 为队尾指针,则执行出队操作后其头指针 front 值为()Afront=front+1 Bfront=(front+1)%(m-1)Cfront=(front-1)%m Dfront=(front+1)%m 6如下陈述中正确的是()A串是一种特殊的线性表 B串的长度必须大于零 C串中元素只能是字母 D空串就是空白串 7若目标串的长度为 n,模式串的长度为n/3,则执行模式匹配算法时,在最坏情况下的时间复杂度是()

3、AO()BO(n)CO(n2)DO(n3)8一个非空广义表的表头()2 A不可能是子表 B只能是子表 C只能是原子 D可以是子表或原子 9假设以带行表的三元组表表示稀疏矩阵,则和下列行表 0 2 3 3 5 对应的稀疏矩阵是()10在一棵度为 3 的树中,度为 3 的结点个数为 2,度为 2 的结点个数为 1,则度为 0 的结点个数为()A4 B5 C6 D7 11在含 n 个顶点和 e 条边的无向图的邻接矩阵中,零元素的个数为()A e B 2e C n2 e Dn22e 12 假设一个有 n 个顶点和 e 条弧的有向图用邻接表表示,则删除与某个顶点 vi 相关的所有弧的时间复杂度是()A

4、O(n)B O(e)C O(n+e)D O(n*e)13用某种排序方法对关键字序列(25,84,21,47,15,27,68,35,20)进行排序时,序列的变化情况如下:20,15,21,25,47,27,68,35,84 15,20,21,25,35,27,47,68,84 15,20,21,25,27,35,47,68,84 则所采用的排序方法是()A选择排序 B希尔排序 C归并排序 D快速排序 14适于对动态查找表进行高效率查找的组织结构是()A有序表 B分块有序表 C三叉排序树 D线性链表 15不定长文件是指()A文件的长度不固定 B记录的长度不固定 C字段的长度不固定 D关键字项的长

5、度不固定 二、填空题(本大题共 10 小题,每小题 2 分,若有两个空格,每个空格 1 分,共 20 分)不写解答过程,将正确的答案写在每小题的空格内。错填或不填均无分。16数据的逻辑结构是从逻辑关系上描述数据,它与数据的_无关,是独立于计算 3 机的。17在一个带头结点的单循环链表中,p 指向尾结点的直接前驱,则指向头结点的指针head 可用 p 表示为 head=_。18栈顶的位置是随着_操作而变化的。19在串 S=“structure”中,以 t 为首字符的子串有_个。20假设一个 9 阶的上三角矩阵 A 按列优先顺序压缩存储在一维数组 B 中,其中 B�存储矩阵中第 1 个元素

6、a1,1,则 B 中存放的元素是_。21已知一颗完全二叉树中共有 768 结点,则该树中共有_个叶子结点。22已知一个图的广度优先生成树如右图所示,则与此相应的广度优先遍历序列为_。23在单链表上难以实现的排序方法有_和_。24在有序表(12,24,36,48,60,72,84)中二分查找关键字 72 时所需进行的关键字比较次数为_。25一棵树 T 中,包括一个度为 1 的结点,两个度为 2 的结点,三个度为 3 的结点,四个度为 4 的结点和若干叶子结点,则 T 的叶结点数为_。三、解答题(本大题共 4 小题,每小题 5 分,共 20 分)26画出下列广义表的共享结构图形表示 P=(z),(

7、x,y)),(x,y),x),(z))27以下程序是二叉链表树中序遍历的非递归算法,请填空使之完善。二叉树链表的结点类型的定义如下:typedef struct node /*C 语言/char data;struct node*lchild,*rchild;*bitree;void vst(bitree bt)/*bt 为根结点的指针*/bitree p;p=bt;initstack(s);/*初始化栈 s 为空栈*/while(p|!empty(s)/*栈 s 不为空*/if(p)push(s,p);(1)_;/*P 入栈*/else p=pop(s);printf(“%c”,p-data

8、);(2)_;/*栈顶元素出栈*/【西南交通大学 2000 一、10】28已知一个无向图的顶点集为a,b,c,d,e,其邻接矩阵如下所示 a b c 4 d e (1)画出该图的图形;(2)根据邻接矩阵从顶点 a 出发进行深度优先遍历和广度优先遍历,写出相应的遍历序列。29已知一个散列表如下图所示:35 20 33 48 59 0 1 2 3 4 5 6 7 8 9 10 11 12 其散列函数为 h(key)=key%13,处理冲突的方法为双重散列法,探查序列为:hi=(h(key)+*h1(key)%m =0,1,,m1 其中 h1(key)=key%11+1 回答下列问题:(1)对表中关

9、键字 35,20,33 和 48 进行查找时,所需进行的比较次数各为多少?(2)该散列表在等概率查找时查找成功的平均查找长度为多少?四、算法阅读题(本大题共 4 小题,每小题 5 分,共 20 分)30下列算法的功能是比较两个链串的大小,其返回值为:comstr(s1,s2)=请在空白处填入适当的内容。int comstr(LinkString s1,LinkString s2)/s1 和 s2 为两个链串的头指针 while(s1&s2)if(s1datedate)return1;if(s1dates2date)return1;if()return1;if()return1;5 ;31阅读下

10、面的算法 LinkList mynote(LinkList L)/L 是不带头结点的单链表的头指针 if(L&L-next)q=L;L=Lnext;p=L;S1:while(pnext)p=pnext;S2:pnext=q;qnext=NULL;return L;请回答下列问题:(1)说明语句 S1 的功能;(2)说明语句组 S2 的功能;(3)设链表表示的线性表为(a1,a2,an),写出算法执行后的返回值所表示的线性表。32假设两个队列共享一个循环向量空间(参见右下图),其类型 Queue2 定义如下:typedef struct DateType dataMaxSize;int fron

11、t,rear;Queue2;对于 i=0 或 1,fronti和 reari分别为第 i 个队列的头指针和尾指针。请对以下算法填空,实现第 i 个队列的入队操作。6 int EnQueue(Queue2*Q,int i,DateType x)/若第 i 个队列不满,则元素 x 入队列,并返回 1;否则返回 0 if(i1)return 0;if(Qreari=Qfront return0;Qdata =x;Qreari=;return1;)33已知二叉树的存储结构为二叉链表,阅读下面算法。typedef struct node DateType data;Struct node*next;Li

12、stNode;typedef ListNode*LinkList;LinkList Leafhead=NULL;Void Inorder(BinTree T)LinkList s;If(T)Inorder(Tlchild);If(!Tlchild)&(!Trchild)s=(ListNode*)malloc(sizeof(ListNode);sdata=Tdata;snext=Leafhead;Leafhead=s;Inorder(Trchild);7 对于如下所示的二叉树 (1)画出执行上述算法后所建立的结构;(2)说明该算法的功能。五、算法设计题(本题共 10 分)34阅读下列函数 arrange()int arrange(int a&#;,int 1,int h,int x)/1 和 h 分别为数据区的下界和上界 int i,j,t;i=1;j=h;while(ij)while(i=x)j-;while(i=x)i+;if(ij)t=aj;aj=ai;ai=t;if(aix)return i;else return i1;(1)写出该函数的功能;(2)写一个调用上述函数实现下列功能的算法:对一整型数组 bn中的元素进行重新排列,将所有负数均调整到数组的低下标端,将所有正数均调整到数组的高下标端,若有零值,则置于两者之间,并返回数组中零元素的个数。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > 工作报告

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁