欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    到自考数据结构试题和答案1.docx

    • 资源ID:2461960       资源大小:179.47KB        全文页数:38页
    • 资源格式: DOCX        下载积分:3金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要3金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    到自考数据结构试题和答案1.docx

    1、到自考数据结构试题和答案1全国2001年10月高等教育自学考试数据结构试题课程代码:02331第一部分 选择题(30分)一、 单项选择题(本大题共15小题,每小题2分,共30分)在每小题列出的四个选项中只有一个选项是符合题目要求的,请将正确选项前的字母填在题后的括号内。1算法指的是( ) A计算机程序 B解决问题的计算方法 C排序算法 D解决问题的有限运算序列2线性表采用链式存储时,结点的存储地址( ) A必须是不连续的 B连续与否均可 C必须是连续的 D和头结点的存储地址相连续3将长度为n的单链表链接在长度为m的单链表之后的算法的时间复杂度为( ) AO(1) BO(n) CO(m) DO(

    2、m+n)4由两个栈共享一个向量空间的好处是:( ) A减少存取时间,降低下溢发生的机率 B节省存储空间,降低上溢发生的机率 C减少存取时间,降低上溢发生的机率 D节省存储空间,降低下溢发生的机率5设数组datam作为循环队列SQ的存储空间,front为队头指针,rear为队尾指针,则执行出队操作后其头指针front值为( ) Afront=front+1 Bfront=(front+1)%(m-1) Cfront=(front-1)%m Dfront=(front+1)%m6如下陈述中正确的是( ) A串是一种特殊的线性表 B串的长度必须大于零 C串中元素只能是字母 D空串就是空白串7若目标串

    3、的长度为n,模式串的长度为n/3,则执行模式匹配算法时,在最坏情况下的时间复杂度是( ) AO() BO(n) CO(n2) DO(n3)8一个非空广义表的表头( ) A不可能是子表 B只能是子表 C只能是原子 D可以是子表或原子9假设以带行表的三元组表表示稀疏矩阵,则和下列行表02335 对应的稀疏矩阵是( ) 10在一棵度为3的树中,度为3的结点个数为2,度为2 的结点个数为1,则度为0的结点个数为( ) A4 B5 C6 D711在含n个顶点和e条边的无向图的邻接矩阵中,零元素的个数为( ) Ae B2e Cn2e Dn22e12假设一个有n个顶点和e条弧的有向图用邻接表表示,则删除与某

    4、个顶点vi相关的所有弧的时间复杂度是( ) AO(n) BO(e) CO(n+e) DO(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

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

    6、阵中第1个元素a1,1,则B31中存放的元素是 。21已知一棵完全二叉树中共有768结点,则该树中共有 个叶子结点。 22已知一个图的广度优先生成树如右图所示,则与此相 应的广度优先遍历序列为 。 23在单链表上难以实现的排序方法有 和 。 24在有序表(12,24,36,48,60,72,84)中二分查找关键字72时所需进行的关键字比较次数为 。 25多重表文件和倒排文件都归属于 文件。 三、解答题(本大题共4小题,每小题5分,共20分)26画出下列广义表的共享结构图形表示 P=(z),(x,y)),(x,y),x),(z))27请画出与下列二叉树对应的森林。28已知一个无向图的顶点集为a,

    7、 b, c, d, e ,其邻接矩阵如下所示ab cde (1)画出该图的图形; (2)根据邻接矩阵从顶点a出发进行深度优先遍历和广度优先遍历,写出相应的遍历序列。29已知一个散列表如下图所示:3520334859 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)对表中关键字35,20,33和48进行查找时,所需进行的比较次数各为多少?(2)该散列表在等概率查找时查找成功的平均查找长

    8、度为多少?四、算法阅读题(本大题共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; ; 31阅读下面的算法 LinkList mynote(LinkList L) /L是不带头结点的单链表的头指针 if(L&L-

    9、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 front2,rear2; Queue2;对于i=0或1,fronti和reari分别为第i个队列的头

    10、指针和尾指针。请对以下算法填空,实现第i个队列的入队操作。 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; ListNode; typedef ListNode * LinkList ; LinkList

    11、 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); 对于如下所示的二叉树 (1)画出执行上述算法后所建立的结构; (2)说明该算法的功能。五、算法设计题(本题共10分)34阅读下列函数arrange() int arrange(int a,int 1,i

    12、nt 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(ainext s2=s2next s2(或s2!=NULL或s2&!s1) s1(或s1!=NULL或s1&!s2) return 031.(1)查询链表的尾结点 (2)将第一个结点链接到链表的尾部,作为新的尾结点 (3)返回的线性表为(a2,a3,an,a1)32. (i1)%2(或1i) Qreari (Qreari)%Maxsize33.(1)LeafheadFH

    13、GD (2)中序遍历二叉树,按遍历序列中叶子结点数据域的值构建一个以Leafhead为头指针的逆序单链表(或按二叉树中叶子结点数据自右至左链接成一个链表)。五、算法设计题(本题共10分) 34(1)该函数的功能是:调整整数数组a中的元素并返回分界值i,使所有x的元素均落在a1.i上,使所有x的元素均落在ai1.h上。 (2)int f(int b,int n) 或 int f(int b,int n) int p,q; int p,q; p=arrange(b,0,n1,0); p=arrange(b,0,n1,1); q= arrange(b,p+1,n1,1); q= arrange(b,

    14、0,p,0); return qp; return pq; 2003.1数据结构试题 一、单项选择题(本大题共15小题,每小题2分,共30分。在每小题的四个备选答案中,选出一个正确答案,并将正确答案的序号填在题干的括号内) 1.下面程序段的时间复杂度是( D ) for(i=0;i<n;i+) for(j=1;j<m;j+) Aij=0; A.O(n) B.O(m+n+1) C.O(m+n) D.O(m*n) 2.在单链表中,指针p指向元素为x的结点,实现“删除x的后继”的语句是( B ) A.p=p->next; B.p->next=p->next->ne

    15、xt;C.p->next=p; D.p=p->next->next; 3.在头指针为head且表长大于1的单循环链表中,指针p指向表中某个结点,若p->next->next= head,则( D ) A.p指向头结点 B.p指向尾结点 C.*p的直接后继是头结点 D.*P的直接后继是尾结点4.判定“带头结点的链队列为空”的条件是( C ) A.Q.front=NULL B.Q.rear=NULL C.Q.front=Q.rear D.Q.front!=Q.rear5.设有两个串T和P,求P在T中首次出现的位置的串运算称作( D ) A.联接 B.求子串 C.字符定

    16、位 D.子串定位6.广义表A=(a,(b),(),(c,d,e)的长度为( A ) A.4 B.5 C.6 D.7 7.一棵含18个结点的二叉树的高度至少为( C ) A.3 B.4 C.5 D.6 8.已知二叉树的先序序列为ABDECF,中序序列为DBEAFC,则后序序列为( D ) A.DEBAFC B.DEFBCA C.DEBCFA D.DEBFCA 9.无向图中一个顶点的度是指图中( B ) A.通过该顶点的简单路径数 B.与该顶点相邻接的顶点数 C.通过该顶点的回路数 D.与该顶点连通的顶点数 10.已知一个图如下所示,从顶点a出发进行广度优先遍历可能得到的序列为( C ) A.a

    17、c e f b d B.a c b d f e C.a c b d e f D.a c d b f e 11.在下列排序方法中,平均时间性能为O(nlogn)且空间性能最好的是( B ) A.快速排序 B.堆排序 C.归并排序 D.基数排序 12.已知一组关键字为25,48,36,72,79,82,23,40,16,35,其中每相邻两个为有序子序列。对这些子序列进行一趟两两归并的结果是( A ) A.25,36,48,72,23,40,79,82,16,35 B.25,36,48,72,16,23,40,79,82,35 C.25,36,48,72,16,23,35,40,79,82 D.16

    18、,23,25,35,36,40,48,72,79,82 13.设顺序存储的线性表共有123个元素,按分块查找的要求等分成3块。若对索引表采用顺序查找来确定块,并在确定的块中进行顺序查找,则在查找概率相等的情况下,分块查找成功时的平均查找长度为( B ) A.21 B.23 C.41 D.62 14.索引非顺序文件的特点是( A ) A.主文件无序,索引表有序 B.主文件有序,索引表无序 C.主文件有序,索引表有序 D.主文件无序,索引表无序 15.倒排文件的主要优点是( C ) A.便于进行插入和删除运算 B.便于进行文件的恢复 C.便于进行多关键字查询 D.节省存储空间 二、填空题(本大题共

    19、10小题,每小题2分,若有两个空格,每个空格1分,共20分) 16.抽象数据类型的特点是将_数据_和_运算_封装在一起,从而现实信息隐藏。 17.从顺序表中删除一个元素时,表中所有在被删元素之后的元素均需_前移_一个位置。 18.在队列中,允许进行插入操作的一端称为_队尾_,允许进行删除操作的一端称为_队头_。 19.如图两个栈共享一个向量空间,top1和top2分别为指向两个栈顶元素的指针,则“栈满” 的判定条件是_top1=top2-1_。 20.设S1="good",S2=" ",S3="book",则S1,S2和S3依次联接后

    20、的结果是_ good book_。 21.假设三维数组A1098按行优先顺序存储,若每个元素占3个存储单元,且首地址为100,则元素A987的存储地址是_2257_。 22.已知在一棵含有n个结点的树中,只有度为k的分支结点和度为0的叶子结点,则该树中含有的叶子结点的数目为_((n-1)/k)*(k-1)+1_或 n - (n-1)/k_。 23.能够成功完全拓扑排序的图一定是一个_有向无环图_。 24.如果在排序前,关键字序列已接近正序或逆序,则在堆排序和快速排序两者之中,选用_堆排序_较为适当。 25.假设哈希表的表长为m,哈希函数为H(key),若用线性探查法解决冲突,则探查地址序列的形

    21、式表达为_hi=(H(key)+I)/m_。 三、解答题(本大题共4小题,每小题5分,共20分) 26.假设通信电文使用的字符集为a,b,c,d,e,f,名字符在电文中出现的频度分别为:34,5,12,23,8,18,试为这6个字符设计哈夫曼编码。请先画出你所构造的哈夫曼树(要求树中左孩子结点的权值小于右孩子结点的权值),然后分别写出每个字符对应的编码。27.已知一个图如下所示,其顶点按a、b、c、d、e、f顺序存放在邻接表的顶点表中,请画出该图的邻接表,使得按此邻接表进行深度优先遍历时得到的顶点序列为acbefd,进行广度优先遍历时得到的顶点序列为acbdfe。 答案: 28.已知两个45的

    22、稀疏矩阵的三元组表分别如下: 0 1 4 16 0 1 1 32 1 2 2 18 1 2 2 22 2 3 4 25 2 2 5 69 3 4 2 28 3 3 4 25 4 4 2 51 请画出这两个稀疏矩阵之和的三元组表。 解: 29.从空树起,依次插入关键字40,8,90,15,62,95,12,23,56,32,构造一棵二叉排序树。 (1)画出该二叉排序树 (2)画出删去该树中元素值为90的结点之后的二叉排序树。 四、算法阅读题(本大题共4小题,每小题5分,共20分) 30.如图所示,利用同一循环向量空间实现两个队列,其类型Queue2定义如下: typedef struct Dat

    23、aType dataMaxSize; int front2,length2; Queue2; 对于i=0或1,fronti和lengthi分别为第i个队列的头指针和长度域。请在空缺处填入合适的内容,实现第i个循环队列的入队操作。 int EnQueue(Queue2*Q,int i,DataType x) /若第i个队列不满,则元素x入队列,并返回1,否则返回0if(i<0|i>1)return 0; if( (1) ) return 0; Q->data (2) =x; Q->length (3) +; return 1; 解: (1) (Q->fronti+Q

    24、->lengthi%Maxsize=Q->front(i+1)%2 (2) (Q->fronti+->lengthi%Maxsize (3) I 31.某二叉树的线索链表存储结构如图(b)所示,其中p为指向根结点的指针,图(a)为结点结构。 阅读下列算法,并回答问题:(1)写出执行函数调用f(p)的输出结果; (2)简述函数f的功能。 void f(BinThrTree t) while(t) printf(t->data); if(t->lchild) t=t->lchild; else t=t->rchild; 答案(1)ABDFCEGH (

    25、2) 先根遍历32.下列函数FindCycle(G,i)的功能是,对一个采用邻接表作存储结构的有向图G,利用深度优先搜索策略寻找一条经过顶点vi的简单回路。数组cycle_path用于保存搜索过程中形成的回路,cycle_pathk=j(j0)表示在回路中顶点vk的下一个顶点是vj。请在空缺处填入合适的内容,使其成为一个完整的算法。 vertex firstedge 已知邻接表的顶点表结点结构为: adjvex next 边表结点EdgeNode结构为: int cycle_pathMaxNum; int FindCycle(ALGraph*G,int i) /若回路存在,则返回1,否则返回0

    26、 int j; for(j=0;j<G->n;j+)cycle_pathj=-1; return DFSPath(G,i,i); int DFSPath(ALGraph*G,int j,int i) EdgeNode *p; int cycled=0; for(p=G->adjlistj.firstedge;p&!cycled;p=p->next) cycle_pathj=p->adjvex; if( (1 ) )cycled=1;/已找到回路 else if(cycle_pathp->adjvex=-1)cycled= (2) ; return (3) (1) (2) (3) 32题答案: (1)p->adjvex=i (2)DFSpath(G,p->adjvex,i) (3)cycled33.阅读下列函数algo,并回答问题。 (1)假设整型数组A1.8中的元素依次为(3,8,9,1,7,4,2,6)。执行函数调用algo(A,8)时,外层whi


    注意事项

    本文(到自考数据结构试题和答案1.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开