2013福建省数据结构考试题库
- 格式:docx
- 大小:16.83 KB
- 文档页数:2
1、已知栈的最大容量为4。
若进栈序列为1,2,3,4,5,6,且进栈和出栈可以穿插进行,则可能出现的出栈序列为( C )。
A) 5,4,3,2,1,6 B) 2,3,5,6,1,4C) 3,2,5,4,1,6 D) 1,4,6,5,2,32、( C )在进行插入操作时,常产生假溢出现象。
A)顺序栈 B)循环队列C)顺序队列 D)链队列3、用一维数组A进行顺序存储时,若起始地址为loc(A1),元素长度为c,则A的第i个数组单元在存放地址loc(Ai),等于( B )。
A)loc(A1)+i*c B)loc(A1)+(i-1)*cC)loc(A1)+i*c+1 D)loc(A1)+(i+1)*c4、已知栈的最大容量为4。
若进栈序列为1,2,3,4,5,6,且进栈和出栈可以穿插进行,则可能出现的出栈序列为( C )。
A) 5,4,3,2,1,6 B) 2,3,5,6,1,4C) 3,2,5,4,1,6 D) 1,4,6,5,2,35、有一个有序表{1,4,6,10,18,35,42,53,67,71,78,84,92,99}。
当用二分查找法查找键值为84的结点时,经( B )比较后查找成功。
A) 4 B)3 C)2 D)126、广义表A=(A,B,(C,D),(E,(F,G))),则head(tail(head(tail(tail(A)))))=( D )。
A) (G) B) (D) C) C D) D7、链式存储的存储结构所占存储空间( A )。
A)分两部分,一部分存放结点值,另一部分存放表示结点间关系的指针B)只有一部分,存放结点值C)只有一部分,存储表示结点间关系的指针D)分两部分,一部分存放结点值,另一部分存放结点所占单元数8、数据结构研究的内容是( D )。
A)数据的逻辑结构 B)数据的存储结构C)建立在相应逻辑结构和存储结构上的算法 D)包括以上三个方面9、如果结点A有3个兄弟,而且B为A的双亲,则B的度为( B )。
要求:所有的题目的解答均写在答题纸上,需写清楚题目的序号。
每张答题纸都要写上姓名和学号。
一、单项选择题(每小题2分,共20小题,共计40分)1.某算法的空间复杂度为0(1),则。
A.该算法执行不需要任何辅助空间B.该算法执行所需辅助空间大小与问题规模n无关C.该算法执行不需要任何空间D.该算法执行所需全部空间大小与问题规模n无关2.在长度为n的顺序表中插入一个元素,对应算法的时间复杂度为。
A.0(1)B.O(log2n)C.0(n)D.0(n2)3.设线性表中有n个元素,以下运算中,在单链表上实现要比在顺序表上实现效率更高。
A.删除指定位置元素的后一个元素B.在最后一个元素的后面插入一个新元素C.顺序输出前k个元素D.交换第i个元素和第n-i+1个元素的值(i=1, 2,…,n)4.以下数据结构中元素之间为非线性关系的是。
A.栈B.队列C.线性表D.以上都不是5.若一个栈用数组data[1..n]存储,初始栈顶指针top为n+1,则以下元素x进栈的正确操作是。
A.top++;data[top]=x;B.data[top]=x;top++;C.top-- ;data[top]=x;D.data[top]=x;top --;6.若某循环队列有队首指针front和队尾指针rear,在队不满时进队操作仅会改变。
A.frontB.rearC.front 和rearD.以上都不队7.设循环队列中数组的下标是0〜N-1,其队头、队尾指针分别为f和r(f指向队首元素的前一位置,r指向队尾元素),则其元素个数为。
A.r-fB.r-f-1C.(r-f)%N+1D.(r-f+N)%N8.设树T的度为4,其中度为1、2、3、4的结点个数分别为4、2、1、1,则T中的叶子结点个数是。
A.5B.6C.7D.89. 一棵哈夫曼树中共有199个结点,它用于多少个字符的编码。
A.99B.100C.101D.19910.设森林F中有4棵树,第1、2、3、4棵树的结点个数分别为a、b、c、d,将森林F转换为一颗二叉树B,则二叉树B根结点的左子树上的结点个数是。
绝密★考试结束前全国2013年10月高等教育自学考试数据结构试题课程代码:02331请考生按规定用笔将所有试题的答案涂、写在答题纸上。
选择题部分注意事项:1. 答题前,考生务必将自己的考试课程名称、姓名、准考证号用黑色字迹的签字笔或钢笔填写在答题纸规定的位置上。
2. 每小题选出答案后,用2B铅笔把答题纸上对应题目的答案标号涂黑。
如需改动,用橡皮擦干净后,再选涂其他答案标号。
不能答在试题卷上。
一、单项选择题(本大题共15小题,每小题2分,共30分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其选出并将“答题纸”的相应代码涂黑。
错涂、多涂或未涂均无分。
1.算法的时间复杂度表征的是A.算法的可读性B.算法的难易程度C.执行算法所耗费的时间D.执行算法所耗费的存储空间2.对需要频繁插入和删除结点的线性表,适合的存储方式是A.顺序储存B.链式存储C.索引存储D.散列存储3.在头指针为head的循环链表中,判断指针变量P指向尾结点的条件是A.p->next->next==head B.p->next==headC.p->next->next==NULL D.p->next==NULL4.迪杰斯特拉(Dijkstra)算法的功能是A.求图中某顶点到其他顶点的最短路径B.求图中所有顶点之间的最短路径C.求图的最小生成树D.求图的拓扑排序序列5.若栈的进栈序列为1,2,3,4,5,则经过出入栈操作不可能...获得的出栈序列是A.4,5,3,2,1 B.4,3,5,1,2C.1,2,3,4,5 D.5,4,3,2,16.A是7×4的二维数组,按行优先方式顺序存储,元素A[0][0]的存储地址为1 000,若每个元素占2个字节,则元素A[3][3]的存储地址为A.1015 B.1016C.1028 D.10307.深度为4的完全二叉树的结点数至少为A.4 B.8C.13 D.158.若采用邻接矩阵A存储有向图G,则结点k的入度等于A中A.结点k对应行元素之和B.结点k对应列元素之和C.结点k对应行和列元素之和D.非零元素之和9.无向图G的邻接矩阵一定是A.对称矩阵B.对角矩阵C.三角矩阵D.单位矩阵10.下列关于有向带权图G的叙述中,错误..的是A.图G的任何一棵生成树都不含有回路B.图G生成树所含的边数等于顶点数减1C.图G含有回路时无法得到拓扑序列D.图G的最小生成树总是唯一的11.在下列排序算法中,关键字比较次数与初始排列次序无关的是A.冒泡排序B.希尔排序C.直接插入排序D.直接选择排序1 2.对下图进行拓扑排序,可以得到的拓扑序列是A.a b c d e B.b a c d eC.b c a d e D.a b d c e13.下列线性表中,能使用二分查找的是A.顺序存储(2,12,5,6,9,3,89,34,25) B.链式存储(2,12,5,6,9,3,89,34,25) C.顺序存储(2,3,5,6,9,12,25,34,89) D.链式存储(2,3,5,6,9,12,25,34,89) 14.在下列查找方法中,平均查找长度与结点数量无直接关系的是A.顺序查找B.分块查找C.散列查找D.基于B树的查找15.下列排序算法中,时间复杂度为O(nlog2 n)的算法是A.快速排序B.冒泡排序C.直接选择排序D.直接插入排序非选择题部分注意事项:用黑色字迹的签字笔或钢笔将答案写在答题纸上,不能答在试题卷上。
数据结构期末考试试题及答案一、选择题1. 评价一个算法时间性能的主要标准是( ).A、算法易于调试B、算法易于理解C、算法的稳定性和正确性D、算法的时间复杂度2. 计算机算法具备有输入、输出、()等五个特性.A、可行性、可移植性和可扩充性B、可行性、确定性和有穷性C、确定性、有穷性和稳定性D、易读性、稳定性和安全性3。
带头结点的单链表head为空的判定条件是().A、head==NULLB、head-〉next==NULLC、head-〉next==headD、head!=NULL4。
以下关于线性表的说法不正确的是()。
A、线性表中的数据元素可以是数字、字符、记录等不同类型。
B、线性表中包含的数据元素个数不是任意的。
C、线性表中的每个结点都有且只有一个直接前趋和直接后继。
D、存在这样的线性表:表中各结点都没有直接前趋和直接后继。
5。
在顺序表中,只要知道( ),就可在相同时间内求出任一结点的存储地址。
A、基地址B、结点大小C、向量大小D、基地址和结点大小6。
( )运算中,使用顺序表比链表好。
A、插入B、删除C、根据序号查找D、根据元素值查找7. 一个长度为n的顺序表中,向第i个元素之前插入一个新元素时,需要向后移动()个元素A、n—iB、n-i+1C、n-i—18。
( )适合作为经常在首尾两端操作线性表的存储结构。
A、顺序表B、单链表C、循环链表D、双向链表9. 栈和队列的共同点是()A、都是先进后出B、都是先进先出C、只允许在端点处插入和删除元素D、没有共同点10。
一个队列的入列序列是1 2 3 4,则队列的输出序列是( ).A、4 3 2 1B、1 2 3 4C、1 4 3 2D、3 2 4 111。
队列与一般的线性表的区别在于( )。
A、数据元素的类型不同B、运算是否受限制C、数据元素的个数不同D、逻辑结构不同12。
“假上溢”现象会出现在( )中。
A、循环队列B、队列C、链队列D、顺序队列1.数据的逻辑结构被分为集合、线性结构、树形结构和图结构。
数据结构c语言期末考试题库及详解答案数据结构C语言期末考试题库及详解答案一、选择题1. 在数据结构中,线性表的顺序存储结构被称为:A. 链式存储结构B. 栈C. 队列D. 数组答案:D2. 下列关于栈的描述,错误的是:A. 栈是一种特殊的线性表B. 栈的特点是后进先出C. 栈顶元素是最后插入的元素D. 栈的插入和删除操作都发生在栈顶答案:C二、填空题1. 在C语言中,定义一个具有10个元素的整型数组可以使用语句:________。
答案:int arr[10];2. 链表与数组相比,其优点是________。
答案:动态内存分配,不需要预先知道数据规模三、简答题1. 简述二叉树的遍历方法有哪些,并说明它们的特点。
答案:二叉树的遍历方法主要有前序遍历、中序遍历和后序遍历三种。
前序遍历首先访问根节点,然后递归地遍历左子树和右子树;中序遍历首先遍历左子树,然后访问根节点,最后遍历右子树;后序遍历首先遍历左子树和右子树,最后访问根节点。
每种遍历方法都可以用来对二叉树进行不同的操作和分析。
2. 什么是哈希表?它在实际应用中有哪些优点?答案:哈希表是一种通过哈希函数将键映射到表中一个位置来访问记录的数据结构。
它的优点包括:快速的数据访问速度,因为哈希表通常在常数时间内完成查找;动态的内存分配,可以根据需要调整存储空间;以及灵活的键值对存储方式。
四、编程题1. 编写一个C语言函数,实现单链表的逆序输出。
答案:```c#include <stdio.h>#include <stdlib.h>typedef struct Node {int data;struct Node *next;} Node;void reversePrint(Node *head) {if (head == NULL) return;reversePrint(head->next);printf("%d ", head->data);}int main() {Node *head = (Node *)malloc(sizeof(Node));head->data = 1;head->next = NULL;// 假设链表已经构建完毕reversePrint(head);return 0;}```2. 请实现一个C语言函数,用于计算一个字符串中不同字符的数量。
2013年1月高等教育自学考试全国统一命题考试数据结构试题课程代码:02331考生答题注意事项:1.本卷所有试卷必须在答题卡上作答。
答在试卷和草稿纸上的无效。
2.第一部分为选择题。
必须对应试卷上的题号使用2B铅笔将“答题卡”的相应代码涂黑。
3.第二部分为非选择题。
必须注明大、小题号,使用0.5毫米黑色字迹笔作答。
4.合理安排答题空间,超出答题区域无效。
选择题部分一、单项选择题(本大题共15小题,每小题2分,共30分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其选出并将“答题纸”的相应代码涂黑。
错涂、多涂或未涂均无分。
1.数据的逻辑结构可以分为A.动态结构和静态结构 B.顺序结构和链式结构C.线性结构和非线性结构 D.简单结构和构造结构2.线性表是一个有限序列,组成线性表的基本单位是A.数据项 B.数据元素C.数据域 D.字符3.栈中有a、b和c三个元素,a是栈底元素,c是栈顶元素,元素d等待进栈,则不可..能.的出栈序列是A.dcba B.cbdaC.cadb D.cdba4.稀疏矩阵的三元组表是A.顺序存储结构 B.链式存储结构C.索引存储结构 D.散列表存储结构5.已知广义表G,head(G)与tail(G)的深度均为6,则G的深度是A.5 B.6C.7 D.86.下列编码集合中,属于前缀编码的一组是A.{11,10,001,101,0001}B.{00,010,0110,1000}C.{11,01,001,0101,0001}D.{0,10,110,1011}7.如题7图所示二叉树的中序序列为A.ACDBB.DCBAC.CDBAD.ABCD题7图8.有向图中所有顶点入度之和与所有顶点出度之和的比是A.1/2 B.1C.2 D.49.含有n个顶点和e条边的有向图的邻接矩阵中,零元素的个数是A.eB.2eC.n2-2eD.n2-e10.n个顶点的无向连通图,其生成树的边数为A.n-lB.nC.n+lD.nlogn11.用自底向上的冒泡排序方法对序列(8,13,26,55,29,44)从大到小排序,第一趟排序需进行交换的次数为A.2 B.3C.4 D.512.对序列(8,13,26,55,29,44)从小到大进行基数排序,第一趟排序的结果是A.(13,44,55,26,8,29)B.(13,26,55,44,8,29)C.(8,13,26,29,44,55)D.(29,26,8,44,55,13)13.采用分块查找时,要求数据A.块内有序 B.分块有序C.分块无序 D.每块中数据个数必须相同14.下列关于散列函数的说法正确的是A.散列函数越复杂越好B.散列函数越简单越好C.用除余法构造的散列函数是最好的D.在冲突尽可能少的情况下,散列函数越简单越好15.下列关于m阶B树的叙述中,错误..的是A.每个结点至多有m棵子树B.每个结点至多有m-1个关键字 C .所有的叶结点均在同一层上 D.根结点至少有/2m ⎡⎤⎢⎥棵子树非选择题部分注意事项:用黑色字迹的签字笔或钢笔将答案写在答题纸上,不能答在试题卷上。
数据结构期末考试试题及答案一、选择题1. 以下哪种数据结构是线性存储结构?A. 树B. 图C. 链表D. 哈希表答案:C2. 在二叉搜索树中,若删除一个节点,则需要进行以下哪些操作?A. 仅删除操作B. 删除操作和调整树结构操作C. 插入操作D. 忽略操作答案:B3. 快速排序算法的时间复杂度在最坏情况下是:A. O(log n)B. O(n)C. O(n log n)D. O(n^2)答案:D4. 下面哪个排序算法适用于大数据量的排序?A. 冒泡排序B. 快速排序C. 插入排序D. 归并排序答案:D5. 哈夫曼树是一种特殊的:A. 二叉树B. 多叉树C. 哈希表D. 图答案:A二、填空题1. 链表的基本操作包括__________、__________、__________和__________。
答案:创建、插入、删除、查找2. 栈是一种后进先出(LIFO)的数据结构,其添加元素的操作称为__________,移除元素的操作称为__________。
答案:push、pop3. 在图的遍历算法中,按照遍历方向的不同,可以分为__________和__________。
答案:深度优先遍历、广度优先遍历4. 红黑树是一种自平衡的__________。
答案:二叉搜索树4. 散列表(哈希表)的主要优点是__________。
答案:查找速度快三、简答题1. 请简述数组和链表的区别及各自的优缺点。
答案:数组是一种顺序存储结构,通过索引直接访问元素,访问速度快,但是插入和删除操作需要移动大量元素,效率较低。
链表是一种非顺序存储结构,通过指针连接元素,插入和删除操作只需要改变指针,效率较高,但是访问元素需要从头开始遍历,速度较慢。
2. 请解释二分查找法的工作原理及其适用条件。
答案:二分查找法是一种在有序数组中查找特定元素的算法。
工作原理是将数组分为两部分,判断目标值与中间元素的大小关系,然后在相应的一半中继续查找,重复此过程,直到找到目标值或范围缩小到无法再分。
第 1 页/共 4 页考试类别[学生填写](□正考 □补考 □重修 □补修 □缓考 □其它)1、以下属于逻辑结构的是( )A )顺序表B )散列表C )有序表D )单链表 2、以下算法的时间复杂度为( ) void fun(int n){ int i=1; while(i<=n) i=i*2; }A )O(n)B )O(n 2) C )O(nlog 2 n) D )O(log 2 n)3、若线性表最常用的操作是存取第i 个元素及其前驱和后继元素的值,为了提高效率,应采用( )的存储方式。
A )单链表B )双向链表C )单循环链表D )顺序表 4、设线性表中有2n 个元素,( )算法,在单链表上实现要比在顺序表上实现效率更高。
A )删除所有值为x 的元素B )在最后一个元素的后面插入一个新元素C )顺序输出前k 个元素D )交换第i 个元素和第2n – i – 1个元素的值(i=0,…,n-1) 5、栈和队列的主要区别在于( )A )它们的逻辑结构不一样B )它们的存储结构不一样C )所包含的元素不一样D )插入、删除操作的限定不一样 6、设有一个10阶的对称矩阵A[10][10], 采用压缩存储方式按行优先将矩阵中下三角部分的元素存入一维数组B 中,A[0][0]存入B[0]中,则A[8][5]在B 中的位置是( ) A )32 B )33 C )41 D )65 7、树最适合用来表示( )的数据。
A )有序B )无序C )任意元素之间具有多种联系D )元素之间具有分支层次关系8、高度为h 的完全二叉树最少有( )个结点。
A )2hB )2h +1C )2h-1D )2h -19、假设一个有n 个顶点和e 条边的有向图用邻接表表示,则删除与某个顶点v i 相关的所有边的时间复杂度为( )A )O(n)B )O(e)C )O(n+e)D )O(ne) 10、无向图G=(V, E),其中V={a ,b ,c ,d ,e ,f},E={(a ,b ),(a ,e ),(a ,c ),(b ,e ),(c ,f ),(f ,d ),(e ,d )},对该图进行深度优先遍历,得到的顶点序列正确的是( )A )a ,b ,e ,c ,d ,fB )a ,c ,f ,e ,b ,dC )a ,e ,b ,c ,f ,dD )a ,e ,d ,f ,c ,b 11、对于顺序存储的有序表(5, 12, 20, 26, 37, 42, 46, 50, 64),若采用折半查找,则查找元素26的查找长度为( )A )2B )3C )4D )512、采用开放定址法解决冲突的散列查找中,发生聚集的原因主要是( ) A )数据元素过多 B )装载因子过大 C )散列函数选择不当 D )解决冲突的方法选择不当13、若要求排序是稳定的,且关键字为实数,则在下列排序方法中应选( ) A )直接插入排序 B )选择排序 C )基数排序 D )快速排序14、对以下数据序列利用快速排序进行排序,速度最快的是( )A ){21,25,5,17,9,23,30}B ){25,23,30,17,21,5,9}C ){21,9,17,30,25,23,5}D ){5,9,17,21,23,25,30} 15、堆是一种有用的数据结构,下列排序码中序列中,( )不是一个堆。
1、n个顶点的图的最小生成树必定( D ),是不正确的描述。
A)不唯一 B)权的总和唯一
C)不含回路 D)有n条边
2、n个顶点的图的最小生成树必定( D ),是不正确的描述。
A)不唯一 B)权的总和唯一
C)不含回路 D)有n条边
3、广义表A=(A,B,(C,D),(E,(F,G))),则head(tail(head(tail(tail(A)))))=( D )。
A) (G) B) (D) C) C D) D
4、用一维数组A进行顺序存储时,若起始地址为loc(A1),元素长度为c,则A的第i个数组单元在存放地址loc(Ai),等于( B )。
A)loc(A1)+i*c B)loc(A1)+(i-1)*c
C)loc(A1)+i*c+1 D)loc(A1)+(i+1)*c
5、在一个单链表中,已知q结点是p结点的前趋结点,若在q和p之间插入s结点,则须执行( A )。
A)q->next=s; s->next=p; B)s->next=p->next; p->next=s;
C)p->next=s->next; s->next=p D)p->next=s; s->next=q;
6、n个顶点,e条边的有向图的邻接矩阵中非零元素有( C )个。
A)n B)2e C)e D) n+e
7、下列各种数据结构中属于线性结构的有( A )。
A)栈 B) 二叉树
C) 广义表 D) 图
8、以下属于顺序存储结构优点的是( A )。
A) 存储密度大B) 插入运算方便
C)删除运算方便D)可方便地用于各种逻辑结构的存储表示
9、n个顶点,e条边的有向图的邻接矩阵中非零元素有( C )个。
A)n B)2e C)e D) n+e
10、在数据结构中,从逻辑上可以把数据结构分为( C )。
A)动态结构和静态结构 B)紧凑结构和非紧凑结构
C)线性结构和非线性结构 D)内部结构和外部结构
11、设单链表中指针p指向结点m,若要删除m之后的结点(若存在),则需修改指针的操作为( A )。
A)p->next=p->next->next; B) p=p->next;
C)p=p->next->next; D) p->next=p;
12、数据结构中,在逻辑上可以把数据结构分成( B )。
A)动态结构和静态结构
B)线性结构和非线性结构
C)紧凑结构和非紧凑结构
D)内部结构和外部结构。