收藏 分销(赏)

2024年份全国高等教育自学考试数据结构试题.doc

上传人:天**** 文档编号:8226267 上传时间:2025-02-08 格式:DOC 页数:10 大小:23.04KB 下载积分:8 金币
下载 相关 举报
2024年份全国高等教育自学考试数据结构试题.doc_第1页
第1页 / 共10页
2024年份全国高等教育自学考试数据结构试题.doc_第2页
第2页 / 共10页


点击查看更多>>
资源描述
1月份全国高等教育自学考试数据结构试题 课程代码:02331 一、单项选择题(本大题共15小题,每题2分,共30分。在每题的四个备选答案中,选出一个正确答案,并将正确答案的序号填在题干的括号内) 1.下面程序段的时间复杂度是(       ) for(i=0;i<n;i++)    for(j=1;j<m;j++)      A[i][j]=0; A.O(n)         B.O(m+n+1)       C.O(m+n)         D.O(m*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.在头指针为head且表长不小于1的单循环链表中,指针p指向表中某个结点,若p->next->next=head,则(       ) A.p指向头结点             B.p指向尾结点 C.*p的直接后继是头结点    D.*P的直接后继是尾结点 4.判定“带头结点的链队列为空”的条件是(       ) A.Q.front==NULL            B.Q.rear==NULL C.Q.front==Q.rear          D.Q.front!=Q.rear 5.设有两个串T和P,求P在T中初次出现的位置的串运算称作(       ) A.联接           B.求子串       C.字符定位       D.子串定位 6.广义表A=(a,(b),(),(c,d,e))的长度为(       ) A.4        B.5         C.6        D.7 7.一棵含18个结点的二叉树的高度最少为(       ) A.3        B.4        C.5        D.6 8.已知二叉树的先序序列为ABDECF,中序序列为DBEAFC,则后序序列为(       ) A.DEBAFC        B.DEFBCA        C.DEBCFA        D.DEBFCA 9.无向图中一个顶点的度是指图中(       ) A.通过该顶点的简单途径数        B.与该顶点相邻接的顶点数 C.通过该顶点的回路数            D.与该顶点连通的顶点数 10.已知一个图如下所示,从顶点a出发进行广度优先遍历也许得到的序列为(       ) A.a 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)且空间性能最佳的是(       ) A.迅速排序        B.堆排序        C.归并排序        D.基数排序 12.已知一组核心字为{25,48,36,72,79,82,23,40,16,35},其中每相邻两个为有序子序列。对这些子序列进行一趟两两归并的成果是(       ) 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,23,25,35,36,40,48,72,79,82} 13.设次序存储的线性表共有123个元素,按分块查找的要求等提成3块。若对索引表采取次序查找来确定块,并在确定的块中进行次序查找,则在查找概率相等的情况下,分块查找成功时的平均查找长度为(       ) A.21        B.23        C.41        D.62 14.索引非次序文献的特点是(       ) A.主文献无序,索引表有序        B.主文献有序,索引表无序 C.主文献有序,索引表有序        D.主文献无序,索引表无序 15.倒排文献的重要优点是(       ) A.便于进行插入和删除运算        B.便于进行文献的恢复 C.便于进行多核心字查询          D.节约存储空间 二、填空题(本大题共10小题,每题2分,若有两个空格,每个空格1分,共20分) 16.抽象数据类型的特点是将____________和____________封装在一起,从而现实信息隐藏。 17.从次序表中删除一个元素时,表中所有在被删元素之后的元素均需____________一个位置。 18.在队列中,允许进行插入操作的一端称为____________,允许进行删除操作的一端称为____________。 19.如图两个栈共享一个向量空间,top1和top分别为指向两个栈顶元素的指针,则“栈满”的判定条件是____________。 20.设S1="good",S2="  ",S3="book",则S1,S2和S3依次联接后的成果是____________。 21.假设三维数组A 按行优先次序存储,若每个元素占3个存储单元,且首地址为100,则元素A 的存储地址是____________。 22.已知在一棵含有n个结点的树中,只有度为k的分支结点和度为0的叶子结点,则该树中含有的叶子结点的数目为____________。 23.能够成功完全拓扑排序的图一定是一个____________。 24.假如在排序前,核心字序列已接近正序或逆序,则在堆排序和迅速排序二者之中,选用____________较为适当。 25.假设哈希表的表长为m,哈希函数为H(key),若用线性探查法处理冲突,则探查地址序列的形式体现为____________。 三、解答题(本大题共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.已知两个4×5的稀疏矩阵的三元组表分别如下: 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 {      DataType data[MaxSize];      int front,length; } Queue2; 对于i=0或1,front[i]和length[i]分别为第i个队列的头指针和长度域。请在空缺处填入适宜的内容,实现第i个循环队列的入队操作。 int EnQueue(Queue2*Q,int i,DataType x) {//若第i个队列不满,则元素x入队列,并返回1,否则返回0   if(i<0||i>1)return 0;   if(   (1)   )     return 0;   Q->data[  (2)   ]=x;   Q->length[  (3)   ]++;   return 1; } (1) (2) (3) 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) (2) 32.下列函数FindCycle(G,i)的功效是,对一个采取邻接表作存储结构的有向图G,利用深度优先搜索方略寻找一条通过顶点vi的简单回路。数组cycle_path用于保存搜索过程中形成的回路,cycle_path[k]=j(j≥0)表示在回路中顶点vk的下一个顶点是vj。请在空缺处填入适宜的内容,使其成为一个完整的算法。 vertex firstedge 已知邻接表的顶点表结点结构为:                 adjvex next 边表结点EdgeNode结构为:               int cycle_path[MaxNum]; int FindCycle(ALGraph*G,int i) {//若回路存在,则返回1,否则返回0    int j;    for(j=0;j<G->n;j++)cycle_path[j]=-1;    return DFSPath(G,i,i); } int DFSPath(ALGraph*G,int j,int i) {    EdgeNode *p;    int cycled=0;    for(p=G->adjlist[j].firstedge;p&&!cycled;p=p->next)    {        cycle_path[j]=p->adjvex;        if(   (1 )   )cycled=1;//已找到回路         else            if(cycle_path[p->adjvex]==-1)cycled=      (2)    ;     }     return     (3)     } (1) (2) (3) 33.阅读下列函数algo,并回答下列问题。 (1)假设整型数组A[1..8]中的元素依次为(3,8,9,1,7,4,2,6)。执行函数调用algo(A,8)时,外层while的循环体执行多少次?函数的返回值是多少? (2)简述函数algo(L,n)的功效。 int algo(int L&#;,intn) {     int i=0,j,s=1,t=n;     while (i!=(n+1)/2)     {       int x=L[s];       i=s;j=t;       while(i<j)       {           while(i<j && L[j]>=x)j--;           L[i]=L[j];           while(i<j && L[i]<=x)i++;           L[j]=L[i];        }        L[i]=x;        if(i<(n+1)/2)s=i+1;        else t=i-1;      }      if(i==0)return 0;      else return L[i]; } (1) (2) (3) 五、算法设计题(本大题共10分) 34.假设以带头结点的单循环链表作非递减有序线性表的存储结构。请设计一个时间复杂度为O(n)的算法,删除表中所有数值相同的多出元素,并释放结点空间。例如: (7,10,10,21,30,42,42,42,51,70) 经算法操作后变为 (7,10,21,30,42,51,70)
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服