数据结构自测题及答案复习资料

合集下载

数据结构考试题及答案

数据结构考试题及答案

数据结构考试题及答案一、选择题(每题2分,共20分)1. 以下哪个不是线性数据结构?A. 数组B. 链表C. 树D. 图2. 在一个单链表中,删除一个节点的操作需要知道该节点的:A. 地址B. 值C. 索引D. 前驱节点的引用3. 栈(Stack)是一种:A. 线性表B. 树状结构C. 图结构D. 散列表4. 哈希表解决冲突最常用的方法是:A. 排序B. 链地址法C. 再散列D. 除留余数法5. 以下哪个排序算法是稳定的?A. 快速排序B. 冒泡排序C. 选择排序D. 堆排序二、简答题(每题10分,共30分)1. 简述数组和链表的区别。

2. 解释二叉搜索树的基本概念及其优势。

3. 什么是递归?请给出一个简单的递归算法例子。

三、计算题(每题25分,共50分)1. 给定一个无序数组,请写出一个时间复杂度为O(n log n)的排序算法,并说明其工作原理。

2. 描述如何使用队列来实现一个简单的文本编辑器的撤销和重做功能。

四、编程题(共30分)编写一个函数,该函数接受一个整数数组作为参数,返回数组中所有元素的和。

如果数组为空,返回0。

答案一、选择题1. 答案:C(树和图都是非线性结构)2. 答案:D(需要前驱节点的引用来删除节点)3. 答案:A(栈是一种后进先出的特殊线性表)4. 答案:B(链地址法是解决哈希冲突的常用方法)5. 答案:B(冒泡排序是稳定的排序算法)二、简答题1. 数组和链表的区别:- 数组是连续的内存空间,链表是非连续的。

- 数组的索引访问速度快,链表需要遍历。

- 数组的大小固定,链表动态可变。

2. 二叉搜索树的基本概念及其优势:- 二叉搜索树是一种特殊的二叉树,左子树上所有节点的值小于它的根节点的值,右子树上所有节点的值大于它的根节点的值。

- 优势:支持快速的查找、插入和删除操作。

3. 递归是函数自己调用自己的过程。

例如,计算n的阶乘的递归算法: ```cint factorial(int n) {if (n <= 1) return 1;return n * factorial(n - 1);}```三、计算题1. 快速排序算法:- 选择一个元素作为“基准”(pivot)。

数据结构自测题及答案

数据结构自测题及答案

数据结构自测题及答案**数据结构自测题及答案**一、选择题(每题2分,共10分)1. 数据结构是一种用于组织和管理数据的方式,它主要关注的是:A. 数据的存储和表示方式B. 数据的输入和输出方式C. 算法和数据的交互方式D. 数据处理的速度和效率2. 在数据结构中,数组是一种:A. 线性结构B. 树形结构C. 图形结构D. 集合结构3. 下列哪种数据结构是先进先出(FIFO)的:A. 栈B. 队列C. 链表D. 哈希表4. 在二叉树中,每个节点最多有几个子节点:A. 0B. 1C. 2D. 35. 下列哪种数据结构适合用于实现图的存储:A. 数组B. 链表C. 堆D. 散列表二、填空题(每题2分,共10分)1. 在栈中,最后一个进入栈的元素最先出栈,这种特点叫做**后进先出**。

2. 哈希表一般是通过**散列函数**将键映射到存储位置上。

3. 图中节点之间的关系可以用**边**来表示。

4. 在二叉搜索树中,左子树的值都小于根节点的值,右子树的值都大于根节点的值,这种特点叫做**二叉搜索树的性质**。

5. 在链表中,每个节点都包含一个指向下一个节点的**指针**。

三、判断题(每题2分,共10分)1. 队列是一种先进先出(FIFO)的数据结构。

(正确)2. 图是一种非线性的数据结构。

(正确)3. 二叉树是一种树形数据结构,每个节点最多有两个子节点。

(正确)4. 栈可以用数组和链表两种方式实现。

(正确)5. 哈希表的插入和查询操作的时间复杂度都为O(1)。

(错误)四、程序设计题(总分20分)请编写一个程序,实现以下功能:1. 定义一个结构体,用于表示学生信息,包含姓名、年龄和成绩三个字段。

2. 动态创建一个长度为5的数组,用于存储学生信息。

3. 通过键盘输入,依次为每个学生的姓名、年龄和成绩赋值,并存储到数组中。

4. 分别计算学生的平均年龄和平均成绩,并输出结果。

代码示例(C语言):```c#include<stdio.h>#include<stdlib.h>struct Student {char name[20];int age;float score;};int main() {struct Student* students = (struct Student*)malloc(5 * sizeof(struct Student));for (int i = 0; i < 5; i++) {printf("请输入第 %d 个学生的姓名:", i + 1);scanf("%s", students[i].name);printf("请输入第 %d 个学生的年龄:", i + 1);scanf("%d", &students[i].age);printf("请输入第 %d 个学生的成绩:", i + 1);scanf("%f", &students[i].score);printf("\n");}int totalAge = 0;float totalScore = 0.0;for (int i = 0; i < 5; i++) {totalAge += students[i].age;totalScore += students[i].score;}float avgAge = totalAge / 5.0;float avgScore = totalScore / 5.0;printf("平均年龄: %.2f\n", avgAge);printf("平均成绩: %.2f\n", avgScore);free(students);return 0;}```以上就是自测题及答案的全部内容。

数据结构复习题及答案5篇

数据结构复习题及答案5篇

数据结构复习题及答案5篇第一篇:数据结构复习题及答案、数据结构复习题及答案中南大学现代远程教育课程考试(专科)复习题及参考答案数据结构一、判断题:1.数组是一种复杂的数据结构,数组元素之间的关系既不是线性的也不是树形的。

()2.链式存储在插人和删除时需要保持物理存储空间的顺序分配,不需要保持数据元素之间的逻辑顺序。

()3.在只有度为0和度为k的结点的k叉树中,设度为0的结点有n0个,度为k的结点有nk个,则有n0=nk+1。

()4.折半搜索只适用于有序表,包括有序的顺序表和有序的链表。

()5.如果两个串含有相同的字符,则这两个串相等。

()6.数组可以看成线性结构的一种推广,因此可以对它进行插入、删除等运算。

()7.在用循环单链表表示的链式队列中,可以不设队头指针,仅在链尾设置队尾指针。

()8.通常递归的算法简单、易懂、容易编写,而且执行的效率也高。

()9.一个广义表的表尾总是一个广义表。

()10.当从一个小根堆(最小堆)中删除一个元素时,需要把堆尾元素填补到堆顶位置,然后再按条件把它逐层向下调整,直到调整到合适位置为止。

()11.对于一棵具有n个结点,其高度为h的二叉树,进行任一种次序遍历的时间复杂度为O(h)。

()12.存储图的邻接矩阵中,邻接矩阵的大小不但与图的顶点个数有关,而且与图的边数也有关。

()13.直接选择排序是一种稳定的排序方法。

()14.闭散列法通常比开散列法时间效率更高。

()15.有n个结点的不同的二叉树有n!棵。

()16.直接选择排序是一种不稳定的排序方法。

()17.在2048个互不相同的关键码中选择最小的5个关键码,用堆排序比用锦标赛排序更快。

()18.当3阶B_树中有255个关键码时,其最大高度(包括失败结点层)不超过8。

()19.一棵3阶B_树是平衡的3路搜索树,反之,一棵平衡的3路搜索树是3阶非B_树。

()20.在用散列表存储关键码集合时,可以用双散列法寻找下一个空桶。

数据结构试题及答案(十套)

数据结构试题及答案(十套)

一、单选题(每题 2 分,共20分)1.对一个算法的评价,不包括如下(B )方面的内容。

A.健壮性和可读性B.并行性C.正确性D.时空复杂度2.在带有头结点的单链表HL中,要向表头插入一个由指针p指向的结点,则执行( )。

A. p->next=HL->next; HL->next=p;B. p->next=HL; HL=p;C. p->next=HL; p=HL;D. HL=p; p->next=HL;3.对线性表,在下列哪种情况下应当采用链表表示?( )A.经常需要随机地存取元素B.经常需要进行插入和删除操作C.表中元素需要占据一片连续的存储空间D.表中元素的个数不变4.一个栈的输入序列为1 2 3,则下列序列中不可能是栈的输出序列的是( C )A. 2 3 1B. 3 2 1C. 3 1 2D. 1 2 35.AOV网是一种()。

A.有向图B.无向图C.无向无环图D.有向无环图6.采用开放定址法处理散列表的冲突时,其平均查找长度()。

A.低于链接法处理冲突 B. 高于链接法处理冲突C.与链接法处理冲突相同D.高于二分查找7.若需要利用形参直接访问实参时,应将形参变量说明为()参数。

A.值B.函数C.指针D.引用8.在稀疏矩阵的带行指针向量的链接存储中,每个单链表中的结点都具有相同的()。

A.行号B.列号C.元素值D.非零元素个数9.快速排序在最坏情况下的时间复杂度为()。

A.O(log2n) B.O(nlog2n)C.0(n) D.0(n2)10.从二叉搜索树中查找一个元素时,其时间复杂度大致为( )。

A. O(n)B. O(1)C. O(log2n)D. O(n2)二、运算题(每题 6 分,共24分)1.数据结构是指数据及其相互之间的______________。

当结点之间存在M对N (M:N)的联系时,称这种结构为_____________________。

数据结构复习题及参考答案

数据结构复习题及参考答案

数据结构复习题及参考答案《数据结构》课程复习资料一、填空题:1.设需要对5个不同的记录关键字进行排序,则至少需要比较________次,至多需要比较__________次。

2.设二叉排序树的高度为h,则在该树中查找关键字key最多需要比较_________次。

3.设在长度为20的有序表中进行二分查找,则比较一次查找成功的结点数有_________个,比较两次查找成功有结点数有_________个。

4.数据结构从逻辑上划分为三种基本类型:___________、__________和___________。

5.在一个具有n个顶点的无向完全图中,包含有________条边,在一个具有n个顶点的有向完全图中,包含有________条边。

6.向一棵B_树插入元素的过程中,若最终引起树根结点的分裂,则新树比原树的高度___________。

7.在堆排序的过程中,对任一分支结点进行筛运算的时间复杂度为________,整个堆排序过程的时间复杂度为________。

8.在快速排序、堆排序、归并排序中,_________排序是稳定的。

9.在有n个叶子结点的哈夫曼树中,总结点数是_______。

10.一棵树T采用二叉链表存储,如果树T中某结点为叶子结点,则在二叉链表BT中所对应的结点一定_______。

11.3.已知数组A[10][10]为对称矩阵,其中每个元素占5个单元。

现将其下三角部分按行优先次序存储在起始地址为1000的连续的内存单元中,则元素A[5,6]对应的地址是_______。

12.在有n个结点的无向图中,其边数最多为_______。

13.取出广义表A=(x,(a,b,c,d))中原子x的函数是_______。

14.对矩阵采用压缩存储是为了___ ____。

15.带头结点的双循环链表L为空表的条件是_______。

16.设线性表中元素的类型是实型,其首地址为1024,则线性表中第6个元素的存储位置是。

数据结构复习题及答案

数据结构复习题及答案

数据结构复习题及答案一、选择题1. 在数据结构中,以下哪种数据结构允许在任何位置进行插入和删除操作?A. 栈B. 队列C. 链表D. 数组答案:C2. 以下哪个选项是二叉搜索树的特性?A. 所有左子树的节点值小于根节点值B. 所有右子树的节点值大于根节点值C. 所有左子树的节点值大于根节点值D. 所有右子树的节点值小于根节点值答案:A3. 在图的遍历中,深度优先搜索(DFS)使用的是哪种数据结构?A. 栈B. 队列C. 链表D. 数组答案:A二、填空题1. 在一个有n个节点的完全二叉树中,如果节点按层次从上到下、从左到右编号为1, 2, 3, ..., n,则第i个节点的左孩子节点的编号为____。

答案:2i2. 哈希表解决冲突的一种方法是使用链地址法,其中每个哈希表项是一个____。

答案:链表3. 在图的表示方法中,邻接矩阵适合表示____图,邻接表适合表示____图。

答案:稠密;稀疏三、简答题1. 描述什么是递归,并给出一个简单的递归算法的例子。

答案:递归是一种在算法中调用自身的方法,用于解决可以分解为相似子问题的问题。

一个简单的递归算法例子是计算阶乘:n! = n * (n-1)!,其中基本情况是0! = 1。

2. 解释什么是图的广度优先搜索(BFS)算法,并说明其在哪些情况下适用。

答案:广度优先搜索(BFS)是一种遍历或搜索树或图的算法,它从根节点开始,逐层遍历节点。

BFS适用于寻找最短路径或在层次结构中按层次顺序访问节点的情况。

四、编程题1. 给定一个单链表,请编写一个函数来反转该链表。

答案:(此处省略具体代码实现,只提供解题思路)要反转一个单链表,可以创建一个新的链表头节点,然后遍历原链表,将每个节点的next指针指向前一个节点,直到链表末尾。

最后,将新链表的头节点设置为原链表的最后一个节点的前驱节点。

数据结构试题及答案(10套)

数据结构试题及答案(10套)

数据结构试题及答案(10套)数据结构试题及答案(10套)根据您的需求,我为您准备了10套数据结构试题及答案。

每套试题包含以下几个部分:选择题、填空题、编程题及答案解析。

下面是试题的具体内容:第一套试题:选择题:1. 在数据结构中,什么是栈?A. 先进先出(FIFO)的数据结构B. 后进先出(LIFO)的数据结构C. 随机访问的数据结构D. 无序排列的数据结构2. 以下哪种操作与队列的特性不相符?A. 入队操作B. 出队操作C. 查找操作D. 获取队首元素填空题:1. ______ 是一种动态集合,支持插入、删除和查找等操作。

2. 在二叉搜索树中,中序遍历的结果是________。

编程题:实现一个栈的数据结构,并包含以下操作:- push(x):将元素 x 压入栈中- pop():删除栈顶的元素并返回该元素- top():获取栈顶元素的值- empty():检查栈是否为空答案解析:选择题:B、C填空题:1. 集合 2. 升序序列编程题:略第二套试题:选择题:1. 以下哪个数据结构是一种广度优先搜索的应用?A. 栈B. 队列C. 堆D. 链表2. 在链表中,如果要删除一个节点,只给出该节点的指针,那么需要通过什么方式完成删除操作?A. 直接删除该节点B. 指向该节点的前一个节点的指针C. 指向该节点的后一个节点的指针D. 无法完成删除操作填空题:1. 树是一种________的数据结构。

2. 二叉树每个节点最多有______个子节点。

编程题:实现一个队列的数据结构,并包含以下操作:- enqueue(x):将元素 x 入队- dequeue():删除队首的元素并返回该元素- peek():获取队首元素的值- is_empty():检查队列是否为空答案解析:选择题:B、B填空题:1. 分层组织 2. 2编程题:略(以下部分省略)通过以上的题目,您可以对数据结构的知识点进行综合练习和复习。

每套试题包含了不同难度和类型的题目,能够帮助您全面了解和掌握数据结构的概念和操作。

数据结构自测题答案

数据结构自测题答案

第1章绪论二、填空题1. 4种基本结构是:集合、线性结构、树形结构、图状结构。

2. 树形结构中元素的关系是一对多,图形结构中元素的关系是多对多。

3. 顺序存储结构中数据元素的存储位置与其逻辑顺序是对应的。

4. 算法效率的度量方法有:事后统计方法和事前分析估算方法。

5. 好算法应达到的目标:正确性、可读性、健壮性、执行时间短、存储量低。

6. 抽象数据类型可细分为3种:原子类型、固定聚合类型和可变聚合类型。

7. 抽象数据类型的定义包括:数据对象的定义、数据关系的定义、基本操作的定义。

三、判断题五、应用题1. 按增长率从小到大的顺序排列下列各函数:(2/3)n ,nlog,n ,n2 ,n!22. 写出以下各函数的功能,并求出其时间复杂度。

(1) 功能是判断n是否为素数,时间复杂度为O(√n ) 。

(2) 功能是计算1!+2!+…+n! ,时间复杂度为O(n ) 。

(3) 功能是计算1!+2!+…+n! ,时间复杂度为O(n2 ) 。

六、算法题1. 编写算法计算1!+2!+…+n!,并使算法的时间复杂度为O(n)。

算法思想:用循环实现阶乘的累加求和,注意在求n!时,使用前一次循环中已经求出的(n-1)!的结果。

double factorial(int n){ int i;double p=1, sum=0;for( i=1; i<=n; i++){ p=p*i;sum=sum+p;}return(sum);}2. 编写算法计算2i (i=0,1,2,…,n),并将计算结果存入数组a中,设计算机中允许的最大整数值为MAXINT,则当2k >MAXINT(0≤k≤n)时,应进行出错处理。

算法思想:先判断n的取值是否合法,若非法则直接退出程序,若n 合法则继续计算2i,在计算2i时,需要判断2i的值是否大于MAXINT/2,这个条件其实就是判断2i+1的值是否大于MAXINT#define arrsize 100#define MAXINT 65535void calculate(int a[ ], int n){ int i;if(n<=0 || n>arrsize){ printf("n error!\n");exit(-1);}a[0]=1;printf("a[0]=%d\n", a[0]);for(i=1; i<n; i++){ a[i]=a[i-1]*2;printf("a[%d]=%d\n", i, a[i]);if( a[i]>MAXINT/2 ){ printf(“i=%d, ERROR!\n”, i+1);break;}}}第2章线性结构一、选择题二、填空题1. 需向后移动__n-i+1____个元素。

数据结构复习题(附答案)

数据结构复习题(附答案)

数据结构复习题(附答案)数据结构复习题(附答案)数据结构是计算机科学中非常重要的一门课程,其涉及到对数据的组织、存储和管理方法的研究。

在学习数据结构的过程中,我们通常需要进行大量的练习和复习以加深对各种数据结构和算法的理解。

本文将为大家提供一些数据结构的复习题,并附有详细的答案解析。

一、栈和队列1. 给定一个字符串,判断其中的括号序列是否合法。

例如,"{([])}"是合法的括号序列,而"{[)]}"则是非法的。

答案:使用栈的数据结构可以很方便地解决这个问题。

遍历字符串,遇到左括号就将其入栈,遇到右括号就判断对应的左括号是否与栈顶元素相匹配,如果匹配则将栈顶元素出栈,继续比较下一个字符。

最后,栈为空则表示括号序列合法。

2. 设计一个队列,实现队列的基本操作:入队、出队、获取队头元素和判断队列是否为空。

答案:可以使用一个数组来实现队列,使用两个指针front和rear分别指示队头和队尾的位置。

入队操作时,将元素添加到rear指向的位置,并将rear后移一位;出队操作时,将front后移一位;获取队头元素时,返回front指向的位置的元素;判断队列是否为空可以通过比较front和rear来确定。

3. 反转一个单链表。

答案:使用三个指针prev、curr和next来实现链表的反转。

初始时,将prev指向null,curr指向头节点,next指向curr的下一个节点。

然后,将curr的next指向prev,将prev指向curr,将curr指向next,再将next指向next的下一个节点。

重复这个操作,直到链表反转完成。

4. 判断一个单链表中是否存在环。

答案:使用快慢指针的方法可以判断一个单链表中是否存在环。

如果存在环,那么快指针最终会追上慢指针;如果不存在环,那么快指针最终会达到链表的末尾。

三、树和图5. 给定一个二叉树,编写一个算法来判断它是否是平衡二叉树。

答案:平衡二叉树的定义是指二叉树的每个节点的左子树和右子树的高度差不超过1。

数据结构考试题及答案

数据结构考试题及答案

数据结构考试题及答案一、选择题1. 以下哪种数据结构在实现栈时最为高效?A. 链表B. 数组C. 树D. 图答案:B2. 快速排序算法的时间复杂度在最坏情况下是多少?A. O(n)B. O(nlogn)C. O(n^2)D. O(n^3)答案:C3. 在二叉搜索树中,若要查找给定值的节点,应该按照以下哪种方式进行?A. 从根节点开始,向左或向右子树交替进行B. 从根节点开始,始终向左子树进行C. 从根节点开始,始终向右子树进行D. 从最底层节点开始向上进行答案:A4. 哈希表的主要优点是什么?A. 有序存储数据B. 高效的查找、插入和删除操作C. 动态扩容D. 消耗内存小答案:B5. 下面哪种数据结构通常用于实现高效的多对一映射?A. 数组B. 链表C. 哈希表D. 树答案:C二、填空题1. 在平衡树中,AVL树通过_________来保持树的平衡。

答案:旋转2. 堆数据结构通常用来实现_________等优先队列。

答案:最大/最小3. 拓扑排序是针对有向无环图(DAG)的一种排序算法,它能够反映出任务间的_________关系。

答案:依赖4. 广度优先搜索(BFS)算法使用_________数据结构来实现。

答案:队列5. 斐波那契数列可以通过递归算法、动态规划以及_________等方法来计算。

答案:矩阵快速幂三、简答题1. 请简述链表和数组的区别及各自的优缺点。

答案:链表由一系列节点组成,每个节点包含数据和指向下一个节点的指针。

它的优点是能够在常数时间内在任意位置插入或删除元素,但随机访问效率较低。

数组是一段连续的内存空间,可以存储一系列相同类型的元素。

它的优点是支持高效的随机访问,但插入和删除操作通常需要移动大量元素,且大小固定或调整大小成本较高。

2. 描述二分查找的工作原理及其适用条件。

答案:二分查找是一种在有序数组中查找特定元素的算法。

它的工作原理是将数组分为两半,比较中间元素与目标值,如果相等则查找结束;如果目标值较小,则在左半部分继续查找;如果目标值较大,则在右半部分继续查找。

数据结构自测题及解答

数据结构自测题及解答

一、概念题(每空0.5分,共28分)1.树(及一切树形结构)是一种“________”结构。

在树上,________结点没有直接前趋。

对树上任一结点X来说,X是它的任一子树的根结点惟一的________。

2.由3个结点所构成的二叉树有种形态。

3.一棵深度为6的满二叉树有个分支结点和个叶子。

4.一棵具有257个结点的完全二叉树,它的深度为。

5.二叉树第i(i>=1)层上至多有______个结点;深度为k(k>=1)的二叉树至多有______个结点。

6.对任何二叉树,若度为2的节点数为n2,则叶子数n0=______。

7.满二叉树上各层的节点数已达到了二叉树可以容纳的______。

满二叉树也是______二叉树,但反之不然。

8.设一棵完全二叉树有700个结点,则共有个叶子结点。

9.设一棵完全二叉树具有1000个结点,则此完全二叉树有个叶子结点,有个度为2的结点,有个结点只有非空左子树,有个结点只有非空右子树。

10.一棵含有n个结点的k叉树,可能达到的最大深度为,最小深度为。

11.二叉树的基本组成部分是:根(N)、左子树(L)和右子树(R)。

因而二叉树的遍历次序有六种。

最常用的是三种:前序法(即按N L R次序),后序法(即按次序)和中序法(也称对称序法,即按L N R次序)。

这三种方法相互之间有关联。

若已知一棵二叉树的前序序列是BEFCGDH,中序序列是FEBGCHD,则它的后序序列必是。

12.中序遍历的递归算法平均空间复杂度为。

13.二叉树通常有______存储结构和______存储结构两类存储结构。

14.如果将一棵有n个结点的完全二叉树按层编号,则对任一编号为i(1<=i<=n)的结点X有:(1)若i=1,则结点X是______;若i〉1,则X的双亲PARENT(X)的编号为______。

(2)若2i>n,则结点X无______且无______;否则,X的左孩子LCHILD(X)的编号为______。

数据结构复习参考题与参考答案

数据结构复习参考题与参考答案

第一章概论自测题答案一、填空题1. 数据结构是一门研究非数值计算的程序设计问题中计算机的操作对象以及它们之间的关系和运算等的学科。

2. 数据结构被形式地定义为(D, R),其中D是数据元素的有限集合,R是D上的关系有限集合。

3. 数据结构包括数据的逻辑结构、数据的存储结构和数据的运算这三个方面的内容。

4. 数据结构按逻辑结构可分为两大类,它们分别是线性结构和非线性结构。

5. 线性结构中元素之间存在一对一关系,树形结构中元素之间存在一对多关系,图形结构中元素之间存在多对多关系。

6.在线性结构中,第一个结点没有前驱结点,其余每个结点有且只有 1个前驱结点;最后一个结点没有后续结点,其余每个结点有且只有1个后续结点。

7. 在树形结构中,树根结点没有前驱结点,其余每个结点有且只有1个前驱结点;叶子结点没有后续结点,其余每个结点的后续结点数可以任意多个。

8. 在图形结构中,每个结点的前驱结点数和后续结点数可以任意多个。

9.数据的存储结构可用四种基本的存储方法表示,它们分别是顺序、链式、索引和散列。

10. 数据的运算最常用的有5种,它们分别是插入、删除、修改、查找、排序。

11. 一个算法的效率可分为时间效率和空间效率。

二、单项选择题(B)1. 非线性结构是数据元素之间存在一种:A)一对多关系 B)多对多关系C)多对一关系 D)一对一关系( C )2. 数据结构中,与所使用的计算机无关的是数据的结构;A) 存储 B) 物理C) 逻辑 D) 物理和存储(C)3. 算法分析的目的是:A) 找出数据结构的合理性B) 研究算法中的输入和输出的关系C) 分析算法的效率以求改进D) 分析算法的易懂性和文档性(A)4. 算法分析的两个主要方面是:A) 空间复杂性和时间复杂性B) 正确性和简明性C) 可读性和文档性D) 数据复杂性和程序复杂性(C )5. 计算机算法指的是:A) 计算方法B) 排序方法C) 解决问题的有限运算序列D) 调度方法(B)6. 计算机算法必须具备输入、输出和等5个特性。

(完整版)数据结构复习题目及答案

(完整版)数据结构复习题目及答案

(完整版)数据结构复习题目及答案数据结构 -C 语言版》第一章绪论单项选择题1.在数据结构中,数据的基本单位是 ________2.数据结构中数据元素之间的逻辑关系被称为__ ___ 。

A. 数据的存储结构B. 数据的基本操作C. 程序的算法3.在数据结构中,与所使用计算机无关的是数据的________ ___。

A. 存储结构B. 逻辑和物理结构C. 逻辑结构4.在链式存储结构中,数据之间的关系是通过 _______ ___ 体现的。

A. 数据在内存的相对位置B. 指示数据元素的指针C. 数据的存储地址D. 指针5.计算算法的时间复杂度是属于一种 ______ ___。

A. 事前统计的方法B. 事前分析估算的方法C. 事后统计的方法D. 事后分析估算的方法6.在对算法的时间复杂度进行估计的时候,下列最佳的时间复杂度是A. n 2B. nlognC. nD. logn 7.设使用某算法对 n 个元素进行处理,所需的时间是T(n)=100nlog 2n+200n+2000,则该算法的渐近时间复杂度为 _____ ___。

A. 数据项B. 数据类型C. 数据元素D. 数据变量D. 数据的逻辑结构D. 物理结构A. O(1)B. O(n)C. O(200n)D. O(nlog2n)CDCBBDD第二章线性表单项选择题1 ?链表不具有的特点是 __________ 。

A.可随机访问任一元素B.插入和删除时不需要移动元素C.不必事先估计存储空间D.所需空间与线性表的长度正比2.设顺序表的每个元素占 8个存储单元。

第1个单元的存储地址是100,则第6个元素占用的最后一个存储单元的地址为 ______________ 。

3 ?在线性链表存储结构下,插入操作算法_______________ B. p_>next = p_>n ext;D. p = p->n ext; p->n ext = p->n ext- >n ext;5 .将长度为n 的单链表接在长度为 m 的单链表之后的算法时间复杂度为 __________________ A. 0( n)B. 0(1)C. 0(m)D. 0(m+n)6 ?需要预分较大空间,插入和删除不需要移动元素的线性表,其存储结构是 ________A.单链表B.静态链表C.线性链表D.顺序存储方式ACCABB 填空题1 ?在带表头结点的单链表中,当删除某一指定结点时,必须找到该结点的 ____ 结点。

数据结构考试题及答案

数据结构考试题及答案

数据结构考试题及答案一、单项选择题(每题2分,共20分)1. 在数据结构中,线性结构和非线性结构的区别在于()。

A. 结构中元素的个数B. 结构中元素之间是否有一对一的对应关系C. 结构中元素之间是否有层次关系D. 结构中元素之间是否是线性排列答案:C2. 一个栈的入栈序列为1,2,3,4,5,那么可能的出栈序列为()。

A. 54321B. 12345C. 34521D. 54123答案:C3. 在二叉树中,度为2的结点数为n,度为1的结点数为m,度为0的结点数为p,则m和p之间的关系是()。

A. m = n + 1B. p = n + 1C. m = n - 1D. p = n - 1答案:A4. 哈希表的冲突解决方法中,开放定址法和链地址法的主要区别在于()。

A. 是否使用链表B. 是否使用数组C. 是否使用循环探测D. 是否使用二次探测5. 快速排序算法的时间复杂度在最好、最坏和平均情况下分别是()。

A. O(n), O(n^2), O(nlogn)B. O(nlogn), O(n^2), O(nlogn)C. O(n), O(nlogn), O(n^2)D. O(n^2), O(nlogn), O(n)答案:B6. 在图的遍历算法中,深度优先搜索(DFS)和广度优先搜索(BFS)的主要区别在于()。

A. 是否使用栈B. 是否使用队列C. 是否使用递归D. 是否使用图的邻接表表示7. 一个长度为n的有序数组,使用二分查找法查找一个元素的最好、最坏和平均时间复杂度分别是()。

A. O(1), O(n), O(n)B. O(logn), O(n), O(logn)C. O(n), O(1), O(logn)D. O(1), O(logn), O(n)答案:B8. 在下列排序算法中,时间复杂度为O(n)的是()。

A. 冒泡排序B. 快速排序C. 归并排序D. 桶排序答案:D9. 一个图的邻接矩阵表示中,若该图是无向图,则矩阵一定是()。

数据结构考试题库与参考答案

数据结构考试题库与参考答案

数据结构考试题库与参考答案一、选择题1.1 单选题题目: 下列哪种数据结构是线性结构?A. 树B. 图C. 栈D. 队列参考答案: C解析: 栈和队列都是线性结构,而树和图是非线性结构。

1.2 多选题题目: 下列哪些操作的时间复杂度是 O(1)?A. 在数组中插入一个元素B. 在链表中删除一个元素C. 访问链表中的一个元素D. 在树中删除一个节点参考答案: B, C解析: 在链表中删除和访问元素的时间复杂度是 O(1),因为这两个操作只需要遍历链表一次。

在数组中插入或删除元素的时间复杂度是 O(n),因为在数组中移动元素需要遍历整个数组。

在树中删除一个节点的时间复杂度取决于树的形状,最坏情况下是 O(n)。

二、填空题题目: 栈是一种后进先出(LIFO)的数据结构,它是一种特殊的线性表,它的特点是只能在表的_____进行插入和删除操作。

参考答案: 尾部解析: 栈是一种只能在表的一端进行插入和删除操作的线性表,这一端被称为栈顶。

三、判断题题目: 链表比数组更适合进行频繁的插入和删除操作。

参考答案: 正确解析: 链表的每个节点只存储数据和一个指向下一个节点的指针,因此在链表中插入或删除元素只需要改变节点的指针,不需要移动其他元素,时间复杂度是 O(1)。

而数组需要移动其他元素,时间复杂度是 O(n)。

四、简答题题目: 请简要介绍队列的特点和应用场景。

参考答案: 队列是一种先进先出(FIFO)的数据结构,它的特点是插入操作在队列的一端进行,删除操作在队列的另一端进行。

队列的应用场景包括: 1) 实现打印队列; 2) 实现消息队列; 3) 实现缓冲区。

解析: 队列的特点和应用场景是数据结构中的基本概念,需要掌握。

五、编程题题目: 实现一个栈类,包括 push 和 pop 操作。

参考答案:class Stack:def __init__(self):self.items = []def push(self, item):self.items.append(item)def pop(self):if not self.is_empty():return self.items.pop()else:raise IndexError("pop from empty stack")def is_empty(self):return len(self.items) == 0解析: 栈是一种只能在表的一端进行插入和删除操作的线性表,这一端被称为栈顶。

数据结构试题及答案(十套)

数据结构试题及答案(十套)

数据结构试题及答案(十套)数据结构试题及答案(十套)一、选择题1. 数据结构是指()。

A. 存储数据的方式B. 数据的逻辑结构和物理结构C. 数据的存储结构和存储方式D. 数据的逻辑结构、存储结构和存储方式答案:D2. 在数据结构中,线性表的存储方式包括()。

A. 顺序存储和链式存储B. 数组存储和链表存储C. 顺序存储、链表存储和索引存储D. 顺序存储、链表存储和树形存储答案:A3. 栈是一种()的数据结构。

A. 先进先出B. 先进后出C. 后进先出D. 后进后出答案:C4. 队列是一种()的数据结构。

A. 先进先出B. 先进后出C. 后进先出D. 后进后出答案:A5. 二叉树中,度为0的节点称为()。

A. 叶子节点B. 根节点C. 中间节点D. 子节点答案:A6. 以下哪个排序算法是稳定的?A. 快速排序B. 选择排序C. 插入排序D. 希尔排序答案:C7. 图中表示顶点之间关系的边的数量称为()。

A. 顶点度数B. 边数C. 路径数D. 网络答案:B8. 哈希表通过()来实现高效的查找操作。

A. 散列函数B. 排序算法C. 遍历操作D. 顺序存储答案:A9. 平衡二叉树是一种具有左右子树高度差不超过()的二叉树。

A. 0B. 1C. 2D. 3答案:B10. 在链表中,删除节点的操作时间复杂度是()。

A. O(1)B. O(logn)C. O(n)D. O(nlogn)答案:A二、填空题1. 在顺序存储结构中,元素之间的逻辑关系由()表示。

答案:下标2. 二叉查找树的中序遍历结果是一个()序列。

答案:递增3. 哈希表通过散列函数将关键字映射到()上。

答案:地址4. 图的邻接表中,每个顶点的所有邻接点链接成一个()。

答案:链表5. 位运算符中的左移和右移运算都是对二进制数进行()操作。

答案:移位三、解答题1. 简要介绍顺序存储和链式存储这两种线性表的存储方式,并比较它们的优缺点。

答案:顺序存储是将元素按照逻辑顺序依次存储在一块连续的存储空间中,通过元素的下标可以直接访问到元素。

十套数据结构试题及答案

十套数据结构试题及答案

数据构造试卷〔一〕一、单项选择题〔每题 2 分,共20分〕1.栈和队列的共同特点是( a )。

A.只允许在端点处插入和删除元素B.都是先进后出C.都是先进先出D.没有共同点2.用链接方式存储的队列,在进展插入运算时( d ).A. 仅修改头指针B. 头、尾指针都要修改C. 仅修改尾指针D.头、尾指针可能都要修改3.以下数据构造中哪一个是非线性构造?( d )A. 队列B. 栈C. 线性表D. 二叉树4.设有一个二维数组A[m][n],假设A[0][0]存放位置在644(10),A[2][2]存放位置在676(10),每个元素占一个空间,问A[3][3](10)存放在什么位置?脚注(10)表示用10进制表示。

cA.688 B.678 C.692 D.6965.树最适合用来表示( c )。

A.有序数据元素B.无序数据元素C.元素之间具有分支层次关系的数据D.元素之间无联系的数据6.二叉树的第k层的结点数最多为( d ).A.2k-1 B.2K+1 C.2K-1 D. 2k-17.假设有18个元素的有序表存放在一维数组A[19]中,第一个元素放A[1]中,现进展二分查找,那么查找A[3]的比拟序列的下标依次为( c d)A. 1,2,3B. 9,5,2,3C. 9,5,3D. 9,4,2,38.对n个记录的文件进展快速排序,所需要的辅助存储空间大致为 cA. O〔1〕B. O〔n〕C. O〔1og2n〕D. O〔n2〕9.对于线性表〔7,34,55,25,64,46,20,10〕进展散列存储时,假设选用H〔K〕=K %9作为散列函数,那么散列地址为1的元素有〔 c d〕个,A.1 B.2 C.3 D.410.设有6个结点的无向图,该图至少应有( a )条边才能确保是一个连通图。

二、填空题〔每空1分,共26分〕1.通常从四个方面评价算法的质量:____时间正确性_____、____占用内存_易读性____、____复杂度__强壮性___和_____准确度_ 高效率___。

数据结构自测试题及答案

数据结构自测试题及答案

数据结构自测题1一、单项选择题1.线性表若采用链表存储结构时,要求内存中可用存储单元的地址( D ).A.必须是连续的B.部分地址必须是连续的C.一定是不连续的D.连续不连续都可以2。

在单链表中,增加头结点的目的是为了( C )A.使单链表至少有一个结点B.表示表结点中首结点的位置C.方便运算的实现D.说明单链表是线性表的链式存储实现3。

设栈S和队列Q的初始状态为空,元素e1、e2、e3、e4、e5和e6依次通过栈S,一个元素出栈后即进入队列Q,若6个元素出队的顺序是e2、e4、e3、e6、e5、e1,则栈S的容量至少应是( B )A.2 B.3 C.4 D.54。

树结构中,前驱结点与后继结点之间存在( B )关系。

A.一对一B.一对多C.多对一D.多对多5.堆栈的特性描述是( B ).A.FIFO B.FILO C.FIFO和FILO D.FIFO或FILO6.队列的特性描述是( A )。

A.FIFO B.FILO C.FIFO和FILO D.FIFO或FILO 7。

下列数据结构中,是非线性结构的是( A )A.树B.堆栈C.队列D.循环队列8.设某个初始为空的容纳int型数据的堆栈进行了如下操作(每一步均未发生溢出):push (1)、push(3)、pop()、push(6)、push(1)、pop()、push(3)、push(8) 后,该堆栈中从栈顶到栈底的元素依次为( D )A.8 1 8 3 B.1 3 1 8 C.1 6 3 8 D.8 3 6 1二、判断题1.二叉树可以为空树。

(√)2.顺序表和链表都是线性表.(√)3。

线性表的长度是线性表占用的存储空间的大小.(√)4。

队列只能采用链式存储方式.(×)5。

由二叉树的先序序列和中序序列能唯一确定一棵二叉树。

(√)6。

存在有偶数个结点的满二叉树。

(×)三、填空题1。

数据结构是数据在计算机内的组成形式和相互关系。

数据结构-复习题-答案

数据结构-复习题-答案

数据结构-复习题-答案一、选择题1. 数据结构是指()。

A. 一组数据的存储结构B. 一组数据的算法C. 一组数据的完整性D. 一组数据的遍历方式答案:A2. 数组是一种()数据结构。

A. 线性B. 非线性C. 树形D. 图形答案:A3. 链表是一种()数据结构。

A. 线性B. 非线性D. 图形答案:A4. 栈是一种()数据结构。

A. 线性B. 非线性C. 树形D. 图形答案:A5. 队列是一种()数据结构。

A. 线性B. 非线性C. 树形D. 图形答案:A6. 树是一种()数据结构。

A. 线性C. 树形D. 图形答案:B7. 图是一种()数据结构。

A. 线性B. 非线性C. 树形D. 图形答案:D8. 哈希表是一种()数据结构。

A. 线性B. 非线性C. 树形D. 图形答案:A9. 排序算法中,选择排序的时间复杂度是()。

B. O(logn)C. O(n)D. O(n^2)答案:D10. 排序算法中,快速排序的时间复杂度是()。

A. O(1)B. O(logn)C. O(n)D. O(n^2)答案:D二、填空题1. 在数组中,下标表示()。

答案:元素在数组中的位置2. 链表的结构中,节点包含()。

答案:数据元素和指向下一个节点的指针3. 树的根节点位于()。

答案:最顶层4. 图的节点间的关系可以用()表示。

答案:边5. 哈希表通过()进行快速的数据查找。

答案:哈希函数三、简答题1. 数据结构是什么,它的作用是什么?答:数据结构是一种组织和存储数据的方式,它的作用是使数据能够高效地进行操作和处理。

通过选择合适的数据结构,我们可以提高算法的效率,减少资源的浪费。

2. 数组和链表的区别是什么?答:数组是一种连续存储的数据结构,它的元素在内存中占用连续的空间。

链表则是一种离散存储的数据结构,它的元素在内存中可以分布在任意的位置。

数组的插入和删除操作比较耗时,而链表则可以快速进行插入和删除操作。

3. 栈和队列的特点及各自的应用场景是什么?答:栈是一种后进先出(LIFO)的数据结构,常用于实现递归调用、表达式求值等场景。

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

1hea d1. 数据结构是一门研究非数值计算的程序设计问题中计算机的 操作对象 以及它们之间的 关系 和运算等的学科。

2. 数据结构被形式地定义为(D, R ),其中D 是 数据元素 的有限集合,R 是D 上的 关系 有限集合。

3. 数据结构包括数据的 逻辑结构 、数据的 存储结构 和数据的 运算 这三个方面的内容。

4. 数据结构按逻辑结构可分为两大类,它们分别是 线性结构 和 非线性结构 。

5. 线性结构中元素之间存在一对一关系,树形结构中元素之间存在一对多关系,图形结构中元素之间存在多对多关系。

6. 在线性结构中,第一个结点 没有 前驱结点,其余每个结点有且只有 1个前驱结点;最后一个结点 没有 后续结点,其余每个结点有且只有1个后续结点。

7. 在树形结构中,树根结点没有 前驱 结点,其余每个结点有且只有 1 个前驱结点;叶子结点没有 后续 结点,其余每个结点的后续结点数可以任意多个 。

8. 在图形结构中,每个结点的前驱结点数和后续结点数可以 任意多个 。

9.数据的存储结构可用四种基本的存储方法表示,它们分别是顺序 、 链式 、 索引 和 散列 。

10. 数据的运算最常用的有5入 、 删除、修改、 查找 、排序。

11. 一个算法的效率可分为 时间空间 效率。

二、单项选择题( B )1. 非线性结构( B )多对多关系(C )2. 数据结构中,与所使用的; C) 逻辑( C )3. 算法分析的目的是:( A )4. 算法分析的两个主要方面是:A) 空间复杂性和时间复杂性:C) 解决问题的有限运算序列( B )6. 计算机算法必须具备输入、输出和 等5个特性。

B) 可行性、确定性和有穷性第2章 自测卷答案一、填空1.在顺序表中插入或删除一个元素,需要平均移动 表中一半元素,具体移动的元素个数与 表长和该元素在表中的位置 有关。

2. 线性表中结点的集合是 有限 的,结点间的关系是 一对一 的。

3. 向一个长度为n 的向量的第i 个元素(1≤i ≤n+1)之前插入一个元素时,需向后移动 n-i+1个元素。

4. 向一个长度为n 的向量中删除第i 个元素(1≤i ≤n)时,需向前移动 n-i 个元素。

5. 在顺序表中访问任意一结点的时间复杂度均为 O(1) ,因此,顺序表也称为 随机存取 的数据结构。

6.顺序表中逻辑上相邻的元素的物理位置 必定相邻。

单链表中逻辑上相邻的元素的物理位置不一定 相邻。

7.在单链表中,除了首元结点外,任一结点的存储位置由 其直接前驱结点的链域的值 指示。

8. 在n 个结点的单链表中要删除已知结点*p ,需找到它的前驱结点的地址,其时间复杂度为O(n )。

二、判断正误(在正确的说法后面打勾,反之打叉)( × )1. 链表的每个结点中都恰好包含一个指针。

答:错误。

( × )2. 链表的物理存储结构( × )3. 链表的删除算法很简单( × )4.线性表的每个结点只能是一个简单类型,而链表的每个结点可以是一个复杂( × )5. 顺序表结构适宜于进行顺序存取( × )6. 顺序存储方式的优点是存储密( × )7. 线性表在物理存储空间中也一定是连续的。

( × )8. 线性表在顺序存储时,逻辑上相邻的元素未必在存( × )9. 顺序存储方式只能用于存储线性结构。

( × )10. 线性表的逻辑顺序与存储顺序总是一致的。

三、单项选择题 ( C )1.数据在计算机存储器内表示时物理地址与逻辑地址 (C )顺序存储结构 ( B )2.一个向量第一个元素的存储地址是100 (B )108( A )3. 在n 个结点的顺序表中,( B )4. 向一个有127个元素的顺序表中插入一个新元素并(A )8 ( A )5. 链接存储的存储结构所占存储空间:分两部分,一部分存放结点值( B )6. 链表是一种采用 存储结构存储的线性表;(B )链式( D )7. 线性表若采用链式存储结构时,要求内存中可用存储单元的地址: (D )连续或不连续都可以( B )8. 线性表L在 情况下适用于使用链式结构实现。

(B)需不断对L进行删除插入( C )9. 单链表的存储密度 (C)小于1; ( B )10. 设a1、a2、a3为3个结点,整数P0,3,4代表地 P0 3 4 P0 →→ → (B)单链表 第3章 栈和队列 自测卷答案 1.向量、栈和队列都是 线性 结构,可以在向量的 任何 位置插入和删除元素;对于栈只能在 栈顶 插入和删除元素;对于队列只能在 队尾 插入和 队首 删除元素。

2. 栈是一种特殊的线性表,允许插入和删除运算的一端称为 栈顶 。

不允许插入和删除运算的一端称为 栈底 。

3. 队列 是被限定为只能在表的一端进行插入运算,在表的另一端进行删除运算的线性表。

4. 在一个循环队列中,队首指针指向队首元素的 前一个 位置。

5. 在具有n 个单元的循环队列中,队满时共有 n-1 个元素。

6. 向栈中压入元素的操作是先 移动栈顶指针 ,后 存入元素 。

7. 从循环队列中删除一个元素时,其操作是 先 移动队首指针 ,后 取出元素 。

8. 〖00年统考题〗带表头结点的空循环双向链表的长度等于 0 。

解:( × )1. 线性表的每个结点只能是一个简单类型, ( × )2. 在表结构中最常用的是线性表,栈和队列不太常用。

( √ )3. 栈是一种对所有插入、删除操作限于在 ( √ )4. 对于不同的使用者,一个表( × )5. 栈和链表是两种不同的数据结构。

( × )6. 栈和队列是一种非线性数据 ( √ )7. 栈和队列的存储方式既可是顺序方式, ( √ )8. 两个栈共享一片连续内存空间时 ( × )9. 队是一种插入与删除操作分别在表的两端进行的线性表( × )10. 一个栈的输入序列是12345,则栈的输出序列不可能是12345。

三、单项选择题(每小题1分,共20分) ( B )1.栈中元素的进出原则是 B.后进先出 ( C )2.若已知一个栈的入栈序列是1,2,3,…,n ,其输出序列为p1,p2,p3,…,pn ,若p1=n ,则pi 为 C.n-i+1 ( B )3.判定一个栈ST (最多元素为m0)为空的条件是C.ST->top<>m0 ( A )4.判定一个队列QU (最多元素为m0)为满队列的条件是 A.QU->rear - QU->front = = m0 ( D )5.数组Q[n]用来表示一个循环队列 (D)(n +r -f )% n 6.设有4个数据元素a1、a2、a3和a4,对他们分别进行栈操作或队操作。

在进栈或进队操作时,按a1、a2、a3、a4次序每次进入一个元素。

假设栈或队的初始状态都是空。

答:ABCDE =2, 4, 1, 2, 27. 栈是一种线性表,它的特点是 A 。

设用一维数组A[1,…,n]来表示一个栈,A[n]为栈底,用整型变量T 指示当前栈顶位置,A[T]为栈顶元素。

往栈 答案:ABCDE=2, 2, 1, 6, 4 8.在做进栈运算时,应先判别栈是否 A ;在做退栈运算时,应先判别栈是否 B 。

当栈中元素为n 个,做进栈运算时发生上溢,则说明该栈的最大容量为 C 。

答案:ABCDE =2, 1, 2, 4, 3一、填空题(每空1分,共20分) 1. 不包含任何字符(长度为0)的串 称为空串; 由一个或多个空格(仅由空格符)组成的串 称为空白串。

2. 设S=“A;/document/Mary.doc ”,则strlen(s)= 20 , “/”的字符定位的位置为 3. 4. 子串的定位运算称为串的模式匹配; 被匹配的主串 称为目标串, 子串 称为模式。

5. 设目标T=”abccdcdccbaa”,模式P=“cdcc ”, 则串的古典(朴数为 (n-m+1)*m 。

7. 假设有二维数组A6×8,每个元素用相邻的6个字节存储,存储器按字节编址。

已知A 的起始存储位置(基地址)为1000,则数组A 的体积(存储量)为 288 B ;末尾元素A57的第一个字节地址为 1282 ;若按行存储时,元素A14的第一个字节地址为 (8+4)×6+1000=1072 ;若按列存储时,元素A47的第一个字节地址为 (6×7+4)×6+1000)=1276 。

8.设数组a[1…60, 1…70]的基地址为2048,每个元素占2个存储单元,若以列序为主序顺序存储,则元素a[32,58]的存储地址为 8950 。

9. 三元素组表中的每个结点对应于稀疏矩阵的一个非零元素,它包含有三个数据项,分别表示该元素 的 行下标 、 列下标 和 元素值 。

10.求下列广义表操作的结果: (1) GetHead 【((a,b),(c,d))】=== (a, b) ; //头元素不必加括号 (2) GetHead 【GetTail 【((a,b),(c,d))】】=== (c,d) ; (3) GetHead 【GetTail 【GetHead 【((a,b),(c,d))】】】=== b ; (4) GetTail 【GetHead 【GetTail 【((a,b),(c,d))】】】=== (d ) ; 二、单选题(每小题1分,共15分) ( B )1.串是一种特殊的线性表,其特殊性体现在: B.数据元素是一个字符 ( B )2.设有两个串p 和q ,求q 在p 中首次出现的位置的运算称作: B.模式匹配 ( D )3.设串s1=’ABCDEFG’,s2=’PQRST’, D.BCDEFEF ( A )4.假设有60行70列的二维数组a[1…60, 1…70]以列序为主序顺序存储, A.16902 ( B )5. 设矩阵A 是一个对称矩阵,为了节省存储,将其下 B.i(i-1)/2+j6. 有一个二维数组A ,行下标的范围是0到8,列下标的范围是1到5,每个数组元素用相邻的4个字节存储。

存 答案:ABCDE=8, 3, 5, 1, 6 7. 有一个二维数组A ,行下标的范围是1到6,列下标的范围是0到7, 答案:ABCD=12, 10, 3, 9 第6章 树和二叉树 ( √ )1. 若二叉树用二叉链表作存贮结构,。

( × )2.二叉树中每个结点的两棵子树的高度2差等于1。

( √ )3.二叉树中每个结点的两棵子树是有序的。

( × )4.二叉树中每个结点有两棵非空子树或有两棵空子树。

相关文档
最新文档