1月全国自学考试数据结构试题及答案解析

合集下载

全国自学考试数据结构试题02331试题及答案

全国自学考试数据结构试题02331试题及答案

全国2011年1月自学考试数据结构试题课程代码:02331一、单项选择题(本大题共15小题,每小题2分,共30分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。

错选、多选或未选均无分。

1.下列选项中与数据存储结构无关的术语是( D )P3A.顺序表B.链表C.链队列D.栈2.将两个各有n个元素的有序表归并成一个有序表,最少的比较次数是( B )A.n-1B.nC.2n-1D.2n3.已知循环队列的存储空间大小为m,队头指针front指向队头元素,队尾指针rear指向队尾元素的下一个位置,则向队列中插入新元素时,修改指针的操作是( D )A.rear=(rear-1)%m;B.front=(front+1)%m;C.front=(front-1)%m;D.rear=(rear+1)%m;4.递归实现或函数调用时,处理参数及返回地址,应采用的数据结构是( A )A.堆栈B.多维数组C.队列D.线性表5.设有两个串p和q,其中q是p的子串,则求q在p中首次出现位置的算法称为( C )A.求子串B.串联接C.串匹配D.求串长6.对于广义表A,若head(A)等于tail(A),则表A为( B )P67A.( )B.(( ))C.(( ),( ))D.(( ),( ),( ))7.若一棵具有n(n>0)个结点的二叉树的先序序列与后序序列正好相反,则该二叉树一定是( C )A.结点均无左孩子的二叉树B.结点均无右孩子的二叉树C.高度为n的二叉树D.存在度为2的结点的二叉树8.若一棵二叉树中度为l的结点个数是3,度为2的结点个数是4,则该二叉树叶子结点的个数是( B )P73A.4B.5C.7D.89.下列叙述中错误的是( C )A.图的遍历是从给定的源点出发对每一个顶点访问且仅访问一次P107B.图的遍历可以采用深度优先遍历和广度优先遍历第 1 页C.图的广度优先遍历只适用于无向图D.图的深度优先遍历是一个递归过程10.已知有向图G=(V,E),其中V={V1,V2,V3,V4},E={<V1,V2>,<V1,V3>,<V2,V3>,<V2,V4>,<V3,V4>},图G的拓扑序列是()A.V1,V2,V3,V4B.V1,V3,V2,V4C.V1,V3,V4,V2D.V1,V2,V4,V311.平均时间复杂度为O(n log n)的稳定排序算法是( C )P136 P164 8-2A.快速排序B.堆排序C.归并排序D.冒泡排序12.已知关键字序列为(51,22,83,46,75,18,68,30),对其进行快速排序,第一趟划分完成后的关键字序列是( D )A.(18,22,30,46,51,68,75,83)B.(30,18,22,46,51,75,83,68)C.(46,30,22,18,51,75,68,83)D.(30,22,18,46,51,75,68,83)13.某索引顺序表共有元素395个,平均分成5块。

最新1月自学考试数据结构试题及答案解析

最新1月自学考试数据结构试题及答案解析

2018年1月自学考试数据结构试题课程代码:02331一、单项选择题(本大题共15小题,每小题2分,共30分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。

错选、多选或未选均无分。

1.下列程序段的时间复杂度为( )s=0;for(i=1;i<n;i++)for(j=1;j<n;j++)s+=i*j;A.O(1)B.O(n)C.O(2n)D.O(n2)2.假设某个带头结点的单链表的头指针为head,则判定该表为空表的条件是( )A.head==NULL;B.head->next==NULL;C.head!=NULL;D.head->next==head;3.栈是一种操作受限的线性结构,其操作的主要特征是( )A.先进先出B.后进先出C.进优于出D.出优于进4.假设以数组A[n]存放循环队列的元素,其头、尾指针分别为front和rear。

若设定尾指针指向队列中的队尾元素,头指针指向队列中队头元素的前一个位置,则当前存于队列中的元素个数为( ) A.(rear-front-1)%n B.(rear-front)%nC.(front-rear+1)%nD.(rear-front+n)%n5.判断两个串大小的基本准则是( )A.两个串长度的大小B.两个串中首字符的大小C.两个串中大写字母的多少D.对应的第一个不等字符的大小6.二维数组A[4][5]按行优先顺序存储,若每个元素占2个存储单元,且第一个元素A[0][0]的存储地1址为1000,则数组元素A[3][2]的存储地址为( )A.1012B.1017C.1034D.10367.高度为5的完全二叉树中含有的结点数至少为( )A.16B.17C.31D.328.已知在一棵度为3的树中,度为2的结点数为4,度为3的结点数为3,则该树中的叶子结点数为( )A.5B.8C.11D.18)9.下列所示各图中是中序线索化二叉树的是(A.(v0,v1,v2,v5,v4,v3)B.(v0,v1,v2,v3,v4,v5)C.(v0,v1,v5,v2,v3,v4)D.(v0,v1,v4,v5,v2,v3)11.如图所示有向图的一个拓扑序列是( )A.ABCDEFB.FCBEADC.FEDCBAD.DAEBCF12.下列关键字序列中,构成大根堆的是( )23A.5,8,1,3,9,6,2,7B.9,8,1,7,5,6,2,33C.9,8,6,3,5,l ,2,7D.9,8,6,7,5,1,2,313.对长度为15的有序顺序表进行二分查找,在各记录的查找概率均相等的情况下,查找成功时所需进行的关键字比较次数的平均值为( ) A.1539B.1549C.1551D.155514.已知一个散列表如图所示,其散列函数为H(key)=key %11,采用二次探查法处理冲突,则下一个插入的关键字49的地址为( )15.数据库文件是由大量带有结构的( )A.记录组成的集合B.字符组成的集合C.数据项组成的集合D.数据结构组成的集合二、填空题(本大题共10小题,每小题2分,共20分)请在每小题的空格中填上正确答案。

1月全国数据库原理自考试题及答案解析

1月全国数据库原理自考试题及答案解析

1全国2019年1月高等教育自学考试数据库原理试题课程代码:02336一、单项选择题(本大题共15小题,每小题2分,共30分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。

错选、多选或未选均无分。

1.模式的逻辑子集通常称为( )A .存储模式B .内模式C .外模式D .模式2.ER 模型中的“实体标识符”术语对应于机器世界中的术语是( )A .记录B .字段C .文件D .关键码3.在基本层次联系中,父记录型与子记录型之间的联系是( )A .一对一联系B .一对多联系C .多对多联系D .多对一联系4.已知两个关系如下:假设R 的主键是A ,S 的主键是D ,在关系S 的定义中包含外键子句:“FOREIGN KEY (A ) REFERENCES R(A) ON DELETE RESTRICT ”, 下列SQL 语句不.能成功执行的是( ) A .DELETE FROM RWHERE A =2B .DELETE FROM R WHERE A =3C .DELETE FROM S WHERE A =1D .DELETE FROM S WHERE A =25.设关系R 和S 分别有m 和n 个元组,则R ×S 的元组个数是( )A .mB .nC .m+nD .m×n6.在SQL 中,与“NOT IN ”等价的操作符是( )A .<>ALLB .<>SOMEC .=SOMED .=ALL7.SQL 的SELECT 语句中,“HA VING 条件表达式”用来筛选满足条件的( )A .列B .行C .关系D .分组8.设关系模式R (A ,B ,C ),F 是R 上成立的FD 集,F ={A →B ,C →B },R 上的分解R S2ρ={AB ,AC },则分解ρ( )A .保持函数依赖集FB .丢失了C →BC .丢失了A →BD .是否保持FD ,由R 的当前关系确定9.函数依赖X →Y 能由Armstrong 推理规则导出的充分必要条件是( )A .++⊆X YB .+⊆X YC .+⊆Y XD .++=Y X10.将ER 模型转换成关系模型,属于数据库的( )A .需求分析B .概念设计C .逻辑设计D .物理设计11.多个事务执行的次序称为( )A .步骤B .过程C .流程D .调度12.如果事务T 已在数据R 上加了X 锁,则其他事务在数据R 上( )A .只可加X 锁B .只可加S 锁C .可加S 锁或X 锁D .不能加任何锁13.在数据库系统中,视图可以提供数据的( )A .完整性B .并发性C .安全性D .可恢复性14.在分布式数据库中,数据的垂直分片是对全局关系的( )A .选择操作B .投影操作C .自然联接操作D .半联接操作15.对象标识具有唯一性,其唯一性的范围是在( )A .对象内B .类内C .类层次内D .系统内二、填空题(本大题共10小题,每小题1分,共10分)请在每小题的空格中填上正确答案。

全国1月高等教育自学考试数据结构试题及答案解析

全国1月高等教育自学考试数据结构试题及答案解析

全国2018年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==NULLB.Q.rear==NULLC.Q.front==Q.rearD.Q.front!=Q.rear5.设有两个串T和P,求P在T中首次出现的位置的串运算称作( )A.联接B.求子串C.字符定位D.子串定位6.广义表A=(a,(b),(),(c,d,e))的长度为( )A.4B.5C.6D.77.一棵含18个结点的二叉树的高度至少为( )A.3B.4C.5D.68.已知二叉树的先序序列为ABDECF,中序序列为DBEAFC,则后序序列为( )A.DEBAFCB.DEFBCAC.DEBCFAD.DEBFCA9.无向图中一个顶点的度是指图中( )A.通过该顶点的简单路径数B.与该顶点相邻接的顶点数C.通过该顶点的回路数D.与该顶点连通的顶点数10.已知一个图如下所示,从顶点a出发进行广度优先遍历可能得到的序列为( )A.a c e f b dB.a c b d f eC.a c b d e fD.a c d b f e11.在下列排序方法中,平均时间性能为O(nlogn)且空间性能最好的是( )A.快速排序B.堆排序C.归并排序D.基数排序12.已知一组关键字为{25,48,36,72,79,82,23,40,16,35},其中每相邻两个为有序子序列。

浙江省1月自学考试数据结构导论试题及答案解析

浙江省1月自学考试数据结构导论试题及答案解析

浙江省2018年1月自学考试数据结构导论试题课程代码:02142一、单项选择题(在每小题的四个备选答案中,选出一个正确答案,并将正确答案的序号填在题干的括号内。

每小题1分,共14分)1.计算机算法指的是( )。

A.计算方法B.排序方法C.解决某一问题的有限运算序列D.调度方法2.在一个单链表中,若p↑结点不是最后结点,在p↑之后插入s↑结点,则实行( )。

A. s↑.next:=p;p↑.next=s;B. s↑.next:=p↑.next;p↑.next:=s;C. s↑.next:=p↑.next;p:=s;D. p↑.next:=s;s↑.next=p;3.某个向量第一元素的存储地址为100,每个元素的长度为2,则第五个元素的地址是( )。

A.110B.108C.100D.1204.循环队列用数组A[0..m-1]存放其元素值,已知其头尾指针分别是front和rear,则当前队列中的元素个数是( )。

A.(rear-front+m) MOD mB.rear-front+1C.rear-front-1D.rear-front5.栈和队列的共同特点是( )。

A.都是先进后出B.都是先进先出C.只允许在端点处插入和删除元素D.没有共同点6.深度为n的二叉树中所含叶子结点的个数最多为( )个。

A.2nB.nC.2n-1D.2n-17.树最适合用来表示( )。

A.有序数据元素B.无序数据元素C.元素之间具有分支层次关系的数据D.元素之间无联系的数据8.下面的二叉树中,( )不是完全二叉树。

9.下列说法错误的是( )。

A.一个图的邻接矩阵表示是唯一的B.一个图的邻接表表示是不唯一的C.一个图的生成树必为该图的极小连通子图D.一个无环有向图的拓扑排序序列必唯一10.设有6个结点的无向图,该图至少应有( )条边才能确保是一个连通图。

A.5B.6C.7D.811.对线性表进行二分查找时,要求线性表必须( )。

数据结构题库及答案详解

数据结构题库及答案详解

数据结构题库及答案详解一、选择题1. 在数据结构中,线性结构的特点是什么?A. 结构中存在唯一的开始结点和终端结点B. 结构中所有结点的前驱和后继都存在C. 结构中所有结点都只有一个直接前驱和一个直接后继D. 结构中存在多个开始结点和终端结点答案:C2. 栈是一种特殊的线性表,其特点是:A. 先进先出B. 先进后出C. 可以同时在两端进行插入和删除操作D. 只能在一端进行插入和删除操作答案:D3. 在二叉树的遍历算法中,先序遍历的顺序是:A. 先访问根结点,然后遍历左子树,最后遍历右子树B. 先遍历左子树,然后访问根结点,最后遍历右子树C. 先遍历右子树,然后访问根结点,最后遍历左子树D. 先遍历左右子树,最后访问根结点答案:A二、填空题4. 在图的遍历中,______算法可以避免重复访问同一顶点。

5. 哈希表的冲突可以通过______方法来解决。

答案:4. 深度优先搜索(DFS)5. 链地址法或开放地址法三、简答题6. 简述排序算法中的快速排序算法的基本原理。

答案:快速排序算法是一种分治算法,它通过选择一个元素作为“基准”,然后将数组分为两个子数组,一个包含小于基准的元素,另一个包含大于基准的元素。

然后对这两个子数组递归地应用快速排序算法。

7. 解释什么是递归,并给出一个递归函数的例子。

答案:递归是一种在函数中调用自身的编程技术。

递归函数必须有一个明确的终止条件,以避免无限递归。

例如,计算阶乘的递归函数如下:```int factorial(int n) {if (n == 0) return 1; // 终止条件return n * factorial(n - 1); // 递归调用}```四、编程题8. 编写一个函数,实现单链表的反转。

答案:```c// 假设ListNode是链表节点的定义ListNode* reverseList(ListNode* head) {ListNode* prev = NULL;ListNode* curr = head;ListNode* next = NULL;while (curr != NULL) {next = curr->next; // 保存下一个节点curr->next = prev; // 反转指针prev = curr; // 移动prevcurr = next; // 移动curr}return prev; // 新的头节点}```9. 给定一个整数数组,请实现一个函数来找到数组中的最长连续子序列的长度。

2020年1月全国自考试题及答案解析数据结构试卷及答案解析

2020年1月全国自考试题及答案解析数据结构试卷及答案解析

1全国2018年1月高等教育自学考试数据结构试题课程代码:02331一、单项选择题(本大题共15小题,每小题2分,共30分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。

错选、多选或未选均无分。

1.逻辑上通常可以将数据结构分为( )A.动态结构和静态结构B.顺序结构和链式结构C.线性结构和非线性结构D.初等结构和组合结构2.在下列对顺序表进行的操作中,算法时间复杂度为O(1)的是( )A.访问第i 个元素的前驱(1<n i ≤)B.在第i 个元素之后插入一个新元素(n i 1≤≤)C.删除第i 个元素(n i 1≤≤)D.对顺序表中元素进行排序3.假设带头结点的单向循环链表的头指针为head,则该链表为空的判定条件是( )A.head= =NULLB.head –>next= =NULLC.head!=NULLD.head –>next= =head4.已知栈的最大容量为4。

若进栈序列为1,2,3,4,5,6,且进栈和出栈可以穿插进行,则可能出现的出栈序列为( )A.5,4,3,2,1,6B.2,3,5,6,1,4C.3,2,5,4,1,6D.1,4,6,5,2,35.与线性表相比,串的插入和删除操作的特点是( )A.通常以串整体作为操作对象B.需要更多的辅助空间C.算法的时间复杂度较高D.涉及移动的元素更多6.假设以三元组表表示稀疏矩阵,则与如图所示三元组表对应的4×5的稀疏矩阵是(注:矩阵的行列下标均从1开始)( )A.⎪⎪⎪⎪⎪⎭⎫ ⎝⎛--00405000000000706080 B.⎪⎪⎪⎪⎪⎭⎫ ⎝⎛--000000040530007060802 C.⎪⎪⎪⎪⎪⎭⎫ ⎝⎛--00405000073000006080 D.⎪⎪⎪⎪⎪⎭⎫⎝⎛--000003040500007060807.以下有关广义表的表述中,正确的是( )A.由0个或多个原子或子表构成的有限序列B.至少有一个元素是子表C.不能递归定义D.不能为空表8.树的先根序列等同于与该树对应的二叉树的( )A.先序序列B.中序序列C.后序序列D.层序序列9.假设有.向图含n 个顶点及e 条弧,则表示该图的邻接表中包含的弧结点个数为() A.n B.eC.2eD.n ·e10.如图所示的有向无环图可以得到的不同拓扑序列的个数为( )A.1B.2C.3D.411.下列排序方法中,稳定的排序方法为( )A.希尔排序B.堆排序C.快速排序D.直接插入排序12.对下列关键字序列进行快速排序时,所需进行比较次数最少的是( )A.(1,2,3,4,5,6,7,8)B.(8,7,6,5,4,3,2,1)C.(4,3,8,6,1,7,5,2)D.(2,1,5,4,3,6,7,8)13.含n 个关键字的二叉排序树的平均查找长度主要取决于( )A.关键字的个数B.树的形态C.关键字的取值范围D.关键字的数据类型14.下列查找算法中,平均查找长度与元素个数n 不直接相关的查找方法是( )A.分块查找B.顺序查找C.二分查找D.散列查找15.可有效提高次关键字查找效率的文件是()A.顺序文件B.倒排文件C.散列文件D.VSAM文件二、填空题(本大题共10小题,每小题2分,共20分)请在每小题的空格中填上正确答案。

自考数据结构试题及答案

自考数据结构试题及答案

自考数据结构试题及答案一、选择题(每题2分,共10分)1. 在数据结构中,线性表的顺序存储结构通常使用什么数据类型来存储元素?A. 数组B. 链表C. 栈D. 队列答案:A2. 下列关于栈的描述中,错误的是:A. 栈是一种后进先出(LIFO)的数据结构B. 栈顶元素可以被访问和修改C. 栈底元素可以被访问和修改D. 栈可以进行插入和删除操作答案:C3. 在二叉树的遍历算法中,先访问根节点,然后访问左子树,最后访问右子树的遍历方式是:A. 前序遍历B. 中序遍历C. 后序遍历D. 层序遍历答案:A4. 哈希表的冲突解决方法中,链地址法的基本思想是:A. 将冲突的元素存储在同一个数组位置B. 将冲突的元素存储在不同的数组位置C. 将冲突的元素存储在链表中D. 将冲突的元素存储在树中答案:C5. 下列算法中,不属于排序算法的是:A. 冒泡排序B. 快速排序C. 深度优先搜索D. 归并排序答案:C二、填空题(每题2分,共10分)1. 在数据结构中,_________是指元素之间存在一对一关系的线性结构。

答案:线性表2. 递归算法的基本思想是将问题分解为若干个规模更小的相同问题,然后_________。

答案:递归求解3. 在图的遍历算法中,广度优先搜索(BFS)通常使用_________数据结构来实现。

答案:队列4. 一个长度为n的有序数组,使用二分查找算法查找一个元素的时间复杂度为_________。

答案:O(log n)5. 哈夫曼编码是一种用于数据压缩的编码方法,它是一种_________编码。

答案:可变长三、简答题(每题5分,共20分)1. 请简述链表和数组在存储结构上的主要区别。

答案:链表的存储结构是动态的,每个元素包含数据和指向下一个元素的指针,而数组的存储结构是静态的,元素在内存中连续存储。

2. 什么是图的深度优先搜索(DFS)算法?请简述其基本步骤。

答案:深度优先搜索(DFS)算法是一种遍历图的算法,它从一个顶点开始,尽可能深地搜索图的分支。

1月全国数据结构自考试题及答案解析

1月全国数据结构自考试题及答案解析
C.递减的D.非递减的
14.如果在排序过程中,每次均将一个待排序的记录按关键字大小加入到前面已经有序的子表中的适当位置,则该排序方法称为( )
A.插入排序B.归并排序
C.冒泡排序D.堆排序
15.设置溢出区的文件是( )
A.索引非顺序文件B.ISAM文件
C.VSAM文件D.顺序文件
二、填空题(本大题共10小题,每小题2分,共20分)
void union (LinkList La, LinkList Lb)
{
//本算法的功能是将所有Lb表中存在而La表中不存在的结点插入到La表中
LinkList pre = La, q;
LinkList pa = La -> next;
LinkList pb = Lb -> next;
free (Lb);
{count ++; i=j-sub -> length +1;}
else i++;
}
return count;
}
(1)
(2)
32.下列函数MDFSForest的功能是,对一个采用邻接矩阵作存储结构的图进行深度优先搜索遍历,输出所得深度优先生成森林中各条边。请在空缺处填入合适内容,使其成为一个完整的算法。
C.广度优先生成树中D.深度优先生成森林中
12.当在二叉排序树中插入一个新结点时,若树中不存在与待插入结点的关键字相同的结点,且新结点的关键字小于根结点的关键字,则新结点将成为( )
A.左子树的叶子结点B.左子树的分支结点
C.右子树的叶子结点D.右子树的分支结点
13.希尔排序的增量序列必须是( )
A.递增的பைடு நூலகம்.随机的

全国1月高等教育自学考试数据结构试题及答案

全国1月高等教育自学考试数据结构试题及答案

全国2010年1月高等教育自学考试数据结构试题(课程代码:02331)一、单项选择题(本大题共15小题,每小题2分,共30分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。

错选、多选或未选均无分。

1.若一个算法的时间复杂度用T(n)表示,其中n的含义是()A.问题规模B.语句条数C.循环层数D.函数数量2.具有线性结构的数据结构是()A.树B.图C.栈和队列D.广义表3.将长度为n的单链表连接在长度为m的单链表之后,其算法的时间复杂度为()A.O(1) B.O(m)C.O(n) D.O(m+n)4.在带头结点的双向循环链表中插入一个新结点,需要修改的指针域数量是()A.2个B.3个.C.4个D.6个5.假设以数组A[60]存放循环队列的元素,其头指针是front=47,当前队列有50个元素,则队列的尾指针值为()A.3 B.37C.50 D.976.若栈采用链式存储结构,则下列说法中正确的是()A.需要判断栈满且需要判断栈空B.不需要判断栈满但需要判断栈空C.需要判断栈满但不需要判断栈空D.不需要判断栈满也不需要判断栈空7.若串str=”Software”,其子串的数目是()A.8 B.9C.36 D.378.设有一个10阶的下三角矩阵A,采用行优先压缩存储方式,a ll为第一个元素,其存储地址为1000,每个元素占一个地址单元,则a85的地址为()A.1012 B.1017C.1032 D.10399.允许结点共享的广义表称为()A.纯表B.线性表C.递归表D.再入表10.下列数据结构中,不属于二叉树的是()A.B树B.AVL树C.二叉排序树D.哈夫曼树11.对下面有向图给出了四种可能的拓扑序列,其中错误..的是()A.1,5,2,6,3,4 B.1,5,6,2,3,4C.5,1,6,3,4,2 D.5,1,2,6,4,312.以v1为起始结点对下图进行深度优先遍历,正确的遍历序列是()A.v1,v2,v3,v4,v5,v6,v7 B.v1,v2,v5,v4,v3,v7,v6C.v1,v2,v3,v4,v7,v5,v6 D.v1,v2,v5,v6,v7,v3,v413.下列排序算法中不稳定的是()A.快速排序B.归并排序C.冒泡排序D.直接插入排序14.一个有序表为(1,3,9,12,32,41,45,62,75,77,82,95,100),当采用折半查找方法查找值32时,查找成功需要的比较次数是()A.2 B.3C.4 D.815.采用ISAM组织文件的方式属于()A.链组织B.顺序组织C.散列组织D.索引组织二、填空题(本大题共10小题,每小题2分,共20分)请在每小题的空格中填上正确答案。

数据结构考试题及答案详解

数据结构考试题及答案详解

数据结构考试题及答案详解一、选择题(每题2分,共20分)1. 在数据结构中,线性表的顺序存储结构通常使用哪种数据结构实现?A. 链表B. 数组C. 栈D. 队列答案:B2. 下列哪个是二叉树的遍历算法?A. 深度优先搜索B. 广度优先搜索C. 排序算法D. 查找算法答案:A3. 哈希表解决冲突最常用的方法是?A. 链接法B. 线性探测法C. 二次探测法D. 所有选项都是答案:D4. 栈的后进先出(LIFO)特性决定了它不能用于实现哪些数据结构?A. 队列B. 堆C. 树D. 图答案:A5. 快速排序算法的时间复杂度在最坏情况下是?A. O(n log n)B. O(n^2)C. O(n)D. O(1)答案:B二、简答题(每题10分,共30分)1. 什么是递归?请给出一个递归函数的例子。

答案:递归是一种在函数内部调用自身的编程技术。

递归函数通常有两个条件:一个基本情况(base case),用于停止递归调用;一个递归情况(recursive case),用于进行递归调用。

例如,计算阶乘的递归函数如下:```cint factorial(int n) {if (n == 0) return 1; // 基本情况return n * factorial(n - 1); // 递归情况}```2. 什么是图的深度优先搜索(DFS)?请简述其基本思想。

答案:深度优先搜索是一种遍历图的算法,它从一个顶点开始,沿着一条路径尽可能深地搜索,直到无法继续为止,然后回溯并沿着另一条路径继续搜索。

基本思想是使用一个栈来记录已访问的顶点,以避免重复访问。

3. 什么是平衡二叉搜索树?请列举至少两种常见的平衡二叉搜索树。

答案:平衡二叉搜索树是一种特殊的二叉搜索树,它保持树的高度尽可能低,以保证操作的效率。

常见的平衡二叉搜索树有AVL树和红黑树。

AVL树通过旋转操作保持平衡,红黑树通过颜色和旋转操作来保持平衡。

三、计算题(每题25分,共50分)1. 给定一个数组A,包含n个元素,请计算其归并排序的时间复杂度,并给出排序过程的一个示例。

2022年1月自考数据结构试题真题

2022年1月自考数据结构试题真题

全国1月高等教育自学考试数据构造试题课程代码:02331第一部分选择题(共30分)一、单选题(本大题共15小题,每题2分,共30分)在每题列出旳四个备选项中只有一种是符合题目规定旳,请将其代码填写在题后旳括号内。

错选、多选或未选均无分。

1.数据元素及其关系在计算机存储器内旳表达,称为数据旳( )A.逻辑构造B.存储构造C.线性构造D.非线性构造2.某带头结点旳单链表旳头指针为head,鉴定该链表为非空旳条件是( )A.head==NULLB.head->next==NULLC.head!=NULLD.head->next!=NULL3.导致栈上溢旳操作是( )A.栈满时执行旳出栈B.栈满时执行旳入栈C.栈空时执行旳出栈D.栈空时执行旳入栈4.设数组A[m]为循环队列Q旳存储空间,front为队头指针,rear为队尾指针,则鉴定Q为空队列旳条件是( )A.(rear-front)%m= =1B.front= =rearC.(rear-front)%m= =m-1D.front= =(rear+1)%m5.假设S=″I AM A STUDENT″,则运算substr(S,4,8)旳成果为( )A.″M A S″B.″M A STUD″C.″A STUDEN″D.″STUD″6.在执行简朴旳串匹配算法时,最坏旳状况为每次匹配比较不等旳字符浮现旳位置均为( )A.模式串旳最末字符B.主串旳第一种字符C.模式串旳第一种字符D.主串旳最末字符7.从广义表L=(((d),c,d))中分解得到(d)旳操作为( )A.head(head(head(L)))B.head(tail(head(L)))C.tail(head(head(L)))D.tail(tail(head(L)))8.假设一棵完全二叉树按层次遍历旳顺序依次寄存在数组BT[m]中,其中根结点寄存在BT[0],若BT[i]中旳结点有左孩子,则左孩子寄存在( )A.BT[i/2]B.BT[2*i-1]C.BT[2*i]D.BT[2*i+1]9.右图所示二叉树旳中序序列是( )A.DHEBAFIJCGB.DHEBAFJICGC.DBHEAFCJIGD.DBHEAFJICG10.连通图是指图中任意两个顶点之间( )A.都连通旳无向图B.都不连通旳无向图C.都连通旳有向图D.都不连通旳有向图11.下图所示带权无向图旳最小生成树旳权为( )A.14B.15C.17D.1812.对记录序列(314,298,508,123,486,145)依次按个位和十位进行两趟基数排序之后所得成果为( )A.123,145,298,314,486,508B.508,314,123,145,486,298C.486,314,123,145,508,298D.298,123,508,486,145,31413.在待排核心字序列基本有序旳前提下,效率最高旳排序措施是( )A.直接插入排序B.迅速排序C.直接选择排序D.归并排序14.在下列各棵二叉树中,二叉排序树是( )15.采用ISAM或VSAM组织旳文献是( )A.索引非顺序文献B.顺序文献C.索引顺序文献D.散列文献第二部分非选择题(共70分)二、填空题(本大题共10小题,每题2分,共20分)请在每题旳空格中填上对旳答案。

1月全国数据结构导论自考试题及答案解析

1月全国数据结构导论自考试题及答案解析
typedef struct 1
{
int data;
struct node1*next
}node;
试设计一个算法void change (node*head),将该单链表中的元素按原单链表相反的次序重新存放,即第一个结点变成最后一个结点,第二个结点变为倒数第二个结点,如此等等。
35.编写一个算法void DisplayQueue (),产生50个300~600之间的随机整数(调用一次
10.若构造一棵具有n个结点的二叉排序树,最坏的情况下其深度不会超过(

A.n/2
B.n
C.(n+1)/2
D.n+1
11.若用二分查找法取得的中间位置元素键值大于被查找值,说明被查找值位于中间值的前
面,下次的查找区间为从原开始位置至(

A.该中间位置
B.该中间位置-1
C.该中间位置+1
D.该中间位置/2
输入端所有可能的输入序列。(5分)
30.分别写出下列二叉树的先根、中根、后根遍历序列。(6分)
3
31.已知无向图G的邻接表如下,请写出其从顶点V2开始的深度优先搜索的序列。(4分)
32.设闭散列表容量为7(散列地址空间0..6),给定表(30,36,47,52,34),散列函数H
(k)=k mod 6,采用线性探测法解决冲突,要求:(7分)
5
19.链队列实际上是一个同时带有头指针和尾指针的单链表,尾指针指向该单链表的
_____________。
20.设有k个结点,在用哈夫曼算法构造哈夫曼树的过程中,若第i次合并时已找到权最小
的结点x和权次小的结点y,用T[x].wt表示结点x的权值,已知T[x].wt=m,T[y].wt=n,

全国1月高等教育自学考试数据结构导论试题及答案解析

全国1月高等教育自学考试数据结构导论试题及答案解析

全国2018年1月高等教育自学考试数据结构导论试题课程代码:02142一、单项选择题(在每小题的四个备选答案中,选出一个正确答案,并将正确答案的序号填在题干的括号内。

错选、多选或未选均无分。

每小题2分,共30分)1.下列数据结构中,( )不都是线性结构。

A.栈和队列B.队列和数组C.数组和串D.文件和队列2.为了最快地对线性结构的数据进行某数据元素的读取操作,则其数据存储结构宜采用( )方式。

A.顺序存储B.链式存储C.索引存储D.散列存储3.设双链表中结点的前趋指针和后继指针的域名分别为t1和r1,则删除双链表中指针s所指结点的操作为( )A.s->t1->r1=s->t1;s->r1->t1=s->r1;B.s->t1->r1=s->r1;s->r1->t1=s->t1;C.s->r1=s->t1->r1;s->t1=s->r->t1;D.s->t1=s->t1->r1;s->r1=s->r->t1;4.假设left和right为双向链表中指向直接前趋结点和直接后继结点的指针域,现要把一个指针s所指的新结点作为非空双链表中q所指地点(中间结点)的直接后继结点插入到该双向链表中,则下列算法段能正确完成上述要求的是( )A.q->right=s; s->left=q; q->right->left=s; s->right=q->right;B.s->left=q; q->right=s; q->right->left=s; s->right=q->right;C.s->left=q; s->right=q->right; q->right->left=s; q->right=s;D.以上都不对5.由下列三棵树组成转的森林换成一棵二叉树为( )6.具有100个结点的完全二叉树的深度为( )A.6B.7C.8D.97.已知一个稀疏矩阵的三元组表如下:(1,2,3),(1,6,1),(3,1,5),(3,2,-1),(4,5,4),(5,1,-3),则其转置矩阵的三元组表中第3个三元组为( )A.(2,1,3)B.(3,1,5)C.(3,2,-1)D.(2,3,-1)8.无向图的邻接矩阵是一个( )A.对称矩阵B.零矩阵C.上三角矩阵D.对角矩阵9.下列说法中正确的是( )A.一个具有n 个顶点的无向完全图的边数为n(n-1)B.连通图的生成树是该图的一个极大连通子图C.图的广度优先搜索是一个递归过程D.对于非连通图的遍历过程中每调用一次深度优先搜索算法都得到该图的一个连通分量10.顺序查找法与二分查找法对存储结构的要求是( )A.顺序查找与二分查找均只适用于顺序表B.顺序查找与二分查找既适用于顺序表,也适用于链表C.顺序查找只适用于顺序表D.二分查找只适用于顺序表11.在开散列表上,每个地址单元所链接的同义词表( )A.其键值相同B.其元素值相同C.其散列地址相同D.其含义相同12.散列文件中的记录通常成组存放,若干个记录组成一个存储单位,这个存储单位称为( )A.磁道B.块C.柱面D.桶13.索引非顺序文件中的索引表是( )A.非稠密索引B.稠密索引C.主索引D.多级索引14.对n 个记录的文件进行堆排序,最坏情况下的执行时间为( )A.O(log 2n)B.O(nlog 2n)C.O(n)D.O(n 2)15.一组记录的关键码为(46,79,56,38,40,84),则利用快速排序方法,以第一个记录为基准得到的一次划分结果为( )A.38,40,46,56,79,84B.40,38,46,79,56,84C.40,38,46,56,79,84D.40,38,46,84,56,79二、填空题(每小题2分,共26分)请在每小题的空格中填上正确答案。

1月全国数据结构自考试题及答案解析

1月全国数据结构自考试题及答案解析

1月全国数据结构自考试题及答案解析---在本文中,将给出一月份全国数据结构自考试题的详细分析和答案解析。

数据结构作为计算机科学中的基础课程,对于理解和应用计算机算法和数据处理至关重要。

准备自考的学生可以通过分析这些试题及其答案,加深对数据结构的理解和掌握。

题目一:给定一个数组arr[],长度为n,设计一个算法找到数组中第k小的元素。

其中,1≤k≤n。

自考试题解析:这是经典的选择问题,可以通过快速排序算法的思想进行解答。

首先,选取数组中的一个元素作为枢纽元,将数组按照枢纽元的大小进行划分,分为小于等于枢纽元和大于枢纽元的两部分。

若枢纽元所在的位置正好是第k个元素,则返回该元素;若枢纽元所在的位置小于第k个元素,则在右边的部分递归查找;否则,在左边的部分递归查找。

通过不断缩小问题规模,最终找到第k小的元素。

题目二:给定一个排序后的链表,将其转化为平衡二叉搜索树(BST)。

自考试题解析:这是一个典型的二叉树构建问题。

通过将链表中的元素转化为数组,可以使用二分查找的思想构造平衡二叉搜索树。

首先找到数组中的中间元素作为根节点,然后递归地构建左子树和右子树,将左右子数组分别作为左子树和右子树的元素。

最终将构建的二叉搜索树返回。

题目三:给定一个字符串s,判断其是否为回文字符串。

自考试题解析:回文字符串是指正读和反读都相同的字符串。

可以通过双指针法进行判断。

定义两个指针,一个指向字符串的起始位置,另一个指向字符串的末尾位置,然后分别向中间靠拢。

在每一次移动指针之前,判断两个指针所指向的字符是否相等,若不相等则说明不是回文字符串;若相等则继续向中间移动。

当两个指针相遇时,说明字符串是回文字符串。

题目四:给定一个有向图,判断是否存在环路。

自考试题解析:判断有向图中是否存在环路可以使用深度优先搜索(DFS)算法。

首先,从图中的每一个顶点开始,进行深度优先搜索。

在搜索过程中,若访问到一个已经访问过的结点,则说明存在环路。

2020年1月全国自考数据结构导论试题及答案解析

2020年1月全国自考数据结构导论试题及答案解析

全国2018年1月高等教育自学考试数据结构导论试题课程代码:02142一、单项选择题(本大题共15小题,每小题2分,共30分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。

错选、多选或未选均无分。

1.数据结构中所定义的数据元素,是用于表示数据的()A.最小单位B.最大单位C.基本单位D.不可分割的单位2.数据的四种基本存储结构是指()A.顺序存储结构、索引存储结构、直接存储结构、倒排存储结构B.顺序存储结构、索引存储结构、链式存储结构、散列存储结构C.顺序存储结构、非顺序存储结构、指针存储结构、树型存储结构D.顺序存储结构、链式存储结构、树型存储结构、图型存储结构3.对于长度为n的顺序表执行删除操作,则其结点的移动次数()A.最少为0,最多为nB.最少为1,最多为nC.最少为0,最多为n-1D.最少为1,最多为n-14.在一个单链表中,若p所指结点是q所指结点的前驱结点,则删除结点q的正确操作是()A. p->next=q B. p->next=q->nextC. p=q->nextD. p->next=q->next->next5.有关栈的描述,正确的是()A.栈是一种先进先出的特殊的线性表B.只能从栈顶执行插入、删除操作C.只能从栈顶执行插入、栈底执行删除D.栈顶和栈底均可执行插入、删除操作6.二维数组A[10][20]采用按行为主序的存储方式,每个元素占4个存储单元,若A[0][0]的存储地址为300,则A[10][10]的地址为()A.700B.1120C.1180D.11407.关于二叉树性质的描述,正确的是()1A.二叉树结点的个数可以为0B.二叉树至少含有一个根结点C.二叉树若存在两个结点,则必有一个为根,另一个为左孩子D.二叉树若存在三个结点,则必有一个为根,另两个分别为左、右孩子8.具有4个结点的二叉树可有()A.4种形态B.7种形态C.10种形态D.11种形态9.若采用邻接表存储结构,则图的深度优先搜索类似于二叉树的()A.先根遍历B.中根遍历C.后根遍历D.层次遍历10.具有n个顶点的无向图,若要连通全部顶点,至少需要()A.(n-1)条边B. n条边C. n(n-1)条边D. n(n-1)/2条边11.下列四种基本的逻辑结构中,结构结点间不存在...任何逻辑联系的是()A.集合B.线性结构C.树形结构D.图形结构12.闭散列表中由于散列到同一个地址而引起的“堆积”现象,是由()A.同义词之间发生冲突引起的B.非同义词之间发生冲突引起的C.同义词与非同义词之间发生冲突引起的D.散列地址“溢出”引起的13.ISAM文件组织方式是一种()A.专门适用于磁带的存取方法B.专门适用于磁盘的存取方法C.专门适用于光盘的存取方法D.可适用于磁带、磁盘、光盘等多用途的存取方法14.当待排序序列中记录数较多时,速度最快的排序方法是()A.冒泡排序法B.快速排序法C.堆排序法D.归并排序法15.若对序列(15,30,26,22,69,50,53,87)采用二路归并法排序,则进行一趟归并后产生的序列为()A.15,22,26,30,50,53,69,87B.15,30,22,26,50,69,53,87C.15,26,30,22,50,69,53,87D.15,26,22,30,50,53,69,87二、填空题(本大题共13小题,每小题2分,共26分)2请在每小题的空格中填上正确答案。

2020年1月全国自考试题及答案解析数据结构试卷及答案解析

2020年1月全国自考试题及答案解析数据结构试卷及答案解析

1全国2018年1月高等教育自学考试数据结构试题课程代码:02331一、单项选择题(本大题共15小题,每小题2分,共30分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。

错选、多选或未选均无分。

1.逻辑上通常可以将数据结构分为( )A.动态结构和静态结构B.顺序结构和链式结构C.线性结构和非线性结构D.初等结构和组合结构2.在下列对顺序表进行的操作中,算法时间复杂度为O(1)的是( )A.访问第i 个元素的前驱(1<n i ≤)B.在第i 个元素之后插入一个新元素(n i 1≤≤)C.删除第i 个元素(n i 1≤≤)D.对顺序表中元素进行排序3.假设带头结点的单向循环链表的头指针为head,则该链表为空的判定条件是( )A.head= =NULLB.head –>next= =NULLC.head!=NULLD.head –>next= =head4.已知栈的最大容量为4。

若进栈序列为1,2,3,4,5,6,且进栈和出栈可以穿插进行,则可能出现的出栈序列为( )A.5,4,3,2,1,6B.2,3,5,6,1,4C.3,2,5,4,1,6D.1,4,6,5,2,35.与线性表相比,串的插入和删除操作的特点是( )A.通常以串整体作为操作对象B.需要更多的辅助空间C.算法的时间复杂度较高D.涉及移动的元素更多6.假设以三元组表表示稀疏矩阵,则与如图所示三元组表对应的4×5的稀疏矩阵是(注:矩阵的行列下标均从1开始)( )A.⎪⎪⎪⎪⎪⎭⎫ ⎝⎛--00405000000000706080 B.⎪⎪⎪⎪⎪⎭⎫ ⎝⎛--000000040530007060802 C.⎪⎪⎪⎪⎪⎭⎫ ⎝⎛--00405000073000006080 D.⎪⎪⎪⎪⎪⎭⎫⎝⎛--000003040500007060807.以下有关广义表的表述中,正确的是( )A.由0个或多个原子或子表构成的有限序列B.至少有一个元素是子表C.不能递归定义D.不能为空表8.树的先根序列等同于与该树对应的二叉树的( )A.先序序列B.中序序列C.后序序列D.层序序列9.假设有.向图含n 个顶点及e 条弧,则表示该图的邻接表中包含的弧结点个数为() A.n B.eC.2eD.n ·e10.如图所示的有向无环图可以得到的不同拓扑序列的个数为( )A.1B.2C.3D.411.下列排序方法中,稳定的排序方法为( )A.希尔排序B.堆排序C.快速排序D.直接插入排序12.对下列关键字序列进行快速排序时,所需进行比较次数最少的是( )A.(1,2,3,4,5,6,7,8)B.(8,7,6,5,4,3,2,1)C.(4,3,8,6,1,7,5,2)D.(2,1,5,4,3,6,7,8)13.含n 个关键字的二叉排序树的平均查找长度主要取决于( )A.关键字的个数B.树的形态C.关键字的取值范围D.关键字的数据类型14.下列查找算法中,平均查找长度与元素个数n 不直接相关的查找方法是( )A.分块查找B.顺序查找C.二分查找D.散列查找15.可有效提高次关键字查找效率的文件是()A.顺序文件B.倒排文件C.散列文件D.VSAM文件二、填空题(本大题共10小题,每小题2分,共20分)请在每小题的空格中填上正确答案。

2020年1月全国自考数据结构试题及答案解析

2020年1月全国自考数据结构试题及答案解析

全国2018年1月高等教育自学考试数据结构试题课程代码:02331一、单项选择题(本大题共15小题,每小题2分,共30分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。

错选、多选或未选均无分。

1.根据数据元素的关键字直接计算出该元素存储地址的存储方法是()A.顺序存储方法B.链式存储方法C.索引存储方法D.散列存储方法2.下述程序段中语句①的频度是()s=0;for(i=1;i<m;i++)for(j=0;j<=i;j++)①s+=j;A.211)m)(m(-+B.21)m (m-C.212)m)(m(-+D.21)m(m+3.求单链表中当前结点的后继和前驱的时间复杂度分别是()A.O(n)和O(1)B.O(1)和O(1)C.O(1)和O(n)D.O(n)和O(n)4.非空的单循环链表的头指针为head,尾指针为rear,则下列条件成立的是()A.rear->next= =head B.rear->next->next= =headC.head->next= =rear D.head->next->next= =rear5.若允许表达式内多种括号混合嵌套,则为检查表达式中括号是否正确配对的算法,通常选用的辅助结构是()A.栈B.线性表C.队列D.二叉排序树6.已知主串s=″ADBADABBAAB″,模式串t=″ADAB″,则应用朴素的串匹配算法进行模式匹配过程中,无效位移的次数是()A.2 B.3C.4 D.57.串s=″Data Structure″中长度为3的子串的数目是()1A.9 B.11C.12 D.148.假设以行优先顺序存储三维数组R[6][9][6],其中元素R[0][0][0]的地址为2100,且每个元素占4个存储单元,则存储地址为2836的元素是()A.R[3][3][3] B.R[3][3][4]C.R[4][3][5] D.R[4][3][4]9.除第一层外,满二叉树中每一层结点个数是上一层结点个数的()A.1/2倍B.1倍C.2倍D.3倍10.对于含n个顶点和e条边的图,采用邻接矩阵表示的空间复杂度为()A.O(n)B.O(e)C.O(n+e) D.O(n2)11.如果求一个连通图中以某个顶点为根的高度最小的生成树,应采用()A.深度优先搜索算法B.广度优先搜索算法C.求最小生成树的prim算法D.拓扑排序算法12.快速排序在最坏情况下的时间复杂度是()A.O(n2log2n) B.O(n2)C.O(nlog2n) D.O(log2n)13.能进行二分查找的线性表,必须以()A.顺序方式存储,且元素按关键字有序B.链式方式存储,且元素按关键字有序C.顺序方式存储,且元素按关键字分块有序D.链式方式存储,且元素按关键字分块有序14.为使平均查找长度达到最小,当由关键字集合{05,11,21,25,37,40,41,62,84}构建二叉排序树时,第一个插入的关键字应为()A.05 B.37C.41 D.6215.ISAM文件的周期性整理是为了空出()A.磁道索引B.柱面索引C.柱面基本区D.柱面溢出区二、填空题(本大题共10小题,每小题2分,共20分)请在每小题的空格中填上正确答案。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

全国2018年1月自学考试数据结构试题
课程代码:02331
一、单项选择题(本大题共15小题,每小题2分,共30分)
在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。

错选、多选或未选均无分。

1.若一个算法的时间复杂度用T(n)表示,其中n的含义是()
A.问题规模B.语句条数
C.循环层数D.函数数量
2.具有线性结构的数据结构是()
A.树B.图
C.栈和队列D.广义表
3.将长度为n的单链表连接在长度为m的单链表之后,其算法的时间复杂度为()
A.O(1) B.O(m)
C.O(n) D.O(m+n)
4.在带头结点的双向循环链表中插入一个新结点,需要修改的指针域数量是()
A.2个B.3个.
C.4个D.6个
5.假设以数组A[60]存放循环队列的元素,其头指针是front=47,当前队列有50个元素,则队列的尾指针值为()
A.3 B.37
C.50 D.97
6.若栈采用链式存储结构,则下列说法中正确的是()
A.需要判断栈满且需要判断栈空
B.不需要判断栈满但需要判断栈空
C.需要判断栈满但不需要判断栈空
D.不需要判断栈满也不需要判断栈空
7.若串str=”Software”,其子串的数目是()
A.8 B.9
C.36 D.37
8.设有一个10阶的下三角矩阵A,采用行优先压缩存储方式,a ll为第一个元素,其存储地址为1000,每个元素占一个地址单元,则a85的地址为()
A.1012 B.1017
C.1032 D.1039
9.允许结点共享的广义表称为()
A.纯表B.线性表
C.递归表D.再入表
10.下列数据结构中,不属于二叉树的是()
A.B树B.AVL树
C.二叉排序树D.哈夫曼树
11.对下面有向图给出了四种可能的拓扑序列,其中错误
..的是()
A.1,5,2,6,3,4 B.1,5,6,2,3,4
C.5,1,6,3,4,2 D.5,1,2,6,4,3
12.以v1为起始结点对下图进行深度优先遍历,正确的遍历序列是()
A.v1,v2,v3,v4,v5,v6,v7 B.v1,v2,v5,v4,v3,v7,v6
C.v1,v2,v3,v4,v7,v5,v6 D.v1,v2,v5,v6,v7,v3,v4
13.下列排序算法中不稳定的是()
A.快速排序B.归并排序
C.冒泡排序D.直接插入排序
14.一个有序表为(1,3,9,12,32,41,45,62,75,77,82,95,100),当采用折半查找方法查找值32时,查找成功需要的比较次数是()
A.2 B.3
C.4 D.8
15.采用ISAM组织文件的方式属于()
A.链组织B.顺序组织
C.散列组织D.索引组织
二、填空题(本大题共10小题,每小题2分,共20分)
请在每小题的空格中填上正确答案。

错填、不填均无分。

16.数据元素及其关系在计算机存储器内的表示称为_________。

17.长度为n的线性表采用单链表结构存储时,在等概率情况下查找第i个元素的时间复杂度是_________。

18.下面是在顺序栈上实现的一个栈基本操作,该操作的功能是_________。

typedef struct{
DataType data[100];
int top;
}SeqStack;
DataType f18(SeqStack*S)
{ if(StackEmpty(S))
Error(”Stack is empty”);
return S->data[S->top];
}
19.在串匹配中,一般将主串称为目标串,将子串称为_________。

20.已知广义表C=(a(b,c),d),则:tail(head(tail(C)))= _________。

21.用6个权值分别为6、13、18、30、7和16的结点构造一棵哈夫曼(Huffman)树,该树的带权路径长度为_________。

22.已知有向图如下所示,其中顶点A到顶点C的最短路径长度是_________。

23.对序列{55,46,13,05,94,17,42}进行基数排序,第一趟排序后的结果是_________。

24.高度为3的3阶B-树最少的关键字总数是_________。

25.VSAM通常作为大型索引顺序文件的标准组织,其动态索引结构采用的是_________。

三、解答题(本大题共4小题,每小题5分,共20分)
26.假设二叉树的RNL遍历算法定义如下:
若二叉树非空,则依次执行如下操作:
(1)遍历右子树;
(2)访问根节点;
(3)遍历左子树。

已知一棵二叉树如图所示,请给出其RNL遍历的结果序列。

27.已知一个无向图G=(V,E),其中V={A,B,C,D,E,F},邻接矩阵表示如下所示。

请回答下列问题:
(1)请画出对应的图G。

(2)画出图G的邻接表存储结构。

28.已知一组待排记录的关键字序列为(16,12,18,60,15,36,14,18,25,85),用堆排序方法建小根堆,请给出初始建堆后的序列。

29.已知一棵二叉排序树如图所示。

请回答下列问题:
(1)画出插入元素23后的树结构;
(2)请画出在原图中删除元素57后的树结构。

四、算法阅读题(本大题共4小题,每小题5分,共20分)
30.已知下列程序,Ls指向带头结点的单链表。

Typedefstruct node {
DataType data;
struct node * next;
} * LinkList;
void f30( LinkList Ls )
{ LinkList p, q;
q = Ls->next;
if ( q && q->next ) {
Ls->next = q->next;
p=q
while ( p->next )
p = p->next;
p->next = q;
q->next = NULL;
}
}
请回答下列问题:
(1)当Ls指向的链表如下图所示,请画出执行本函数之后的链表的结果。

(2)请简述算法的功能。

31.已知字符串处理函数f31程序如下。

int f31(char*strl,char*str2)
{ while(*strl==*str2&&(*strl!=’\0’)){
strl++;
str2++;
}
return(*strl-*str2 ? l∶0);
}
请回答下列问题:
(1)若调用语句是f31(”abcde”,”abcdf’),则函数的返回值是什么?若调用语句是
f31(”abcde”,”abcde”),则函数的返回值是什么?
(2)简述该函数的功能。

32.数组A[]中存储有n个整数,请阅读下列程序。

void f32(intA[],int n)
{ inti,j,k,x;
k=n-l;
while(k>0){
i=k; k=0;
for(j=O;j<i;j++)
if(A[j]>A[j+1]){
x=A[j];
A[j]=A[j+l];
A[j+1]=x;
k=j;
}//end of if
}//end of while
return;
}
请回答下列问题:
(1)当A[]={10,8,2,4,6,7}时,执行f32(A,6)后,数组A中存储的结果是什么?
(2)说明该算法的功能。

33.下面程序实现二分查找算法。

Typedef struct{
KeyType key;
InfoType otherinfo;
}SeqList[N+1];
int BinSearch(SeqList R, int n,KeyType K)
{ int low=1,high=n;
while( (1) ){
mid=(1ow+high)/2;
if( (2) )
return mid;
if(R[mid].key>K)
high=mid-1;
else
(3) ;
}
return O;
} //BinSearch
请在空白处填写适当内容,使该程序功能完整。

(1)
(2)
(3)
五、算法设计题(本题10分)
34.已知二叉树采用二叉链表存储,其结点结构定义如下:
typedef struct Node{
ElmType data;
struct Node *lchild,*rchild;
}*BiTree;
请编写递归函数SumNodes(BiTree T),返回二叉树T的结点总数。

相关文档
最新文档