数据结构自测题(1)

合集下载

数据结构自测题及答案

数据结构自测题及答案

数据结构自测题及答案**数据结构自测题及答案**一、选择题(每题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;}```以上就是自测题及答案的全部内容。

数据结构第一章自测题及答案

数据结构第一章自测题及答案

《数据结构》课程第一章小测验一、判断题:(每题2分,共4分)1、数据元素是数据的最小单位。

F2、线性表采用链表存储时,结点和结点内部的存储空间可以是不连续的。

F链表的存储中结点之间可以是连续的,也可以是不连续的。

但结点内部是连续的。

答题区二、选择题:(每题2分,共16分)1、线性表是具有n个()的有限序列。

C(A)表元素(B)字符(C)数据元素(D)数据项2、如果数据结构中每个结点都有一个前驱,则该结构属于()。

A(A)图状结构(B)树形结构(C)循环结构(D)线性结构3、如果数据结构中每个结点都没有后继,则该结构属于()。

D(A)独立结构(B)散列结构(C)树形结构(D)非线性结构4、算法的时间复杂度与()有关。

A(A)问题规模(B)计算机硬件性能(C)编译程序质量(D)程序设计语言5、算法的执行时间一般与()无关。

D(A)问题规模的大小(B)计算机的档次(C)程序设计语言的种类或版本(D)算法设计者的水平6、算法分析的主要任务是分析()。

D(A)算法是否具有较好的可读性(B)算法中是否存在语法错误(C)算法的功能是否符合设计要求(D)算法的执行时间和问题规模之间的关系7、某算法的时间复杂度为O(2n),表明该算法的()。

C(A)问题规模是2n(B)执行时间等于2n(C)执行时间与2n成正比(D)问题规模与2n成正比8、在决定选取何种存储结构时,一般不考虑()。

A(A)各结点的值如何(B)结点数目的多少(C)对数据有哪些运算(D)所用编程语言实现这种结构是否方便三、填空题:(每空2分,共14分)1、数据的存储结构可用四种基本的存储方法表示,它们分别是顺序、链式、索引和散列。

2、一个算法的效率可分为时间效率和空间效率。

3、线性表是具有n个数据元素有限序列。

四、简答题:(每题10分,共20分)1.数据结构和数据类型两个概念之间有区别吗?答:简单地说,数据结构定义了一组按某些关系结合在一起的数据元素。

数据结构试题及答案(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编程题:略(以下部分省略)通过以上的题目,您可以对数据结构的知识点进行综合练习和复习。

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

数据结构试卷试题及答案

数据结构试卷试题及答案

数据结构试卷试题及答案一、选择题(每题5分,共40分)1. 数据结构是研究数据元素的()A. 存储结构B. 处理方法C. 逻辑结构D. 所有以上内容答案:D2. 在数据结构中,通常采用()方式来表示数据元素之间的逻辑关系。

A. 顺序存储结构B. 链式存储结构C. 索引存储结构D. 散列存储结构答案:B3. 下面哪一个不是栈的基本操作?()A. 入栈B. 出栈C. 判断栈空D. 获取栈顶元素答案:D4. 下面哪一个不是队列的基本操作?()A. 入队B. 出队C. 判断队列空D. 获取队头元素答案:D5. 下面哪一个不是线性表的特点?()A. 有且只有一个根节点B. 每个节点最多有一个前驱和一个后继C. 数据元素类型相同D. 数据元素类型可以不同答案:D6. 在下列哪种情况中,使用链式存储结构比顺序存储结构更合适?()A. 数据元素经常插入和删除B. 数据元素大小不固定C. 数据元素个数不确定D. 所有以上情况答案:D7. 下面哪一个不是树的遍历方式?()A. 前序遍历B. 中序遍历C. 后序遍历D. 翻转遍历答案:D8. 在下列哪种情况中,使用散列存储结构比其他存储结构更合适?()A. 数据元素个数较少B. 数据元素查找频繁C. 数据元素插入和删除频繁D. 数据元素大小不固定答案:B二、填空题(每题5分,共30分)9. 栈是一种特殊的线性表,它的插入和删除操作都限定在表的一端进行,这一端称为______。

答案:栈顶10. 队列是一种特殊的线性表,它的插入操作在表的一端进行,这一端称为______,而删除操作在另一端进行,这一端称为______。

答案:队尾、队头11. 二叉树中的节点包括______和______。

答案:根节点、子节点12. 在图的存储结构中,邻接矩阵表示法用______个一维数组来表示图中各个顶点之间的关系。

答案:两个13. 散列存储结构中,关键码到存储地址的映射方法称为______。

数据结构自测题答案

数据结构自测题答案

第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、算法的计算量的大小称为计算的()。

A. 效率B. 复杂性C. 现实性D. 难度2、一个算法应该是()。

A.程序B.问题求解步骤的描述C.要满足五个基本特性D.A和C.3、下面说法错误的是()(1)算法原地工作的含义是指不需要任何额外的辅助空间(2)在相同的规模n下,复杂度O(n)的算法在时间上总是优于复杂度O(2n)的算法(3)所谓时间复杂度是指最坏情况下,估算算法执行时间的一个上界(4)同一个算法,实现语言的级别越高,执行效率就越低A.(1) B. (1), (2) C. (1), (4) D. (3)4、在数据结构中,从逻辑上可以将之分为()。

A. 动态结构和静态结构B. 紧凑结构和非紧凑结构C. 内部结构和外部结构D. 线性结构和非线性结构5、计算算法的时间复杂度是属于一种()。

A. 事前统计的方法B. 事前分析估算的方法C. 事后统计的方法D. 事后分析估算的方法6、可以用()定义一个完整的数据结构:A. 数据元素B. 数据对象C. 数据关系D. 抽象数据类型7、算法分析的目的是_______。

A. 找出数据结构的合理性B. 研究算法中的输入和输出的关系C. 分析算法的效率以求改进D. 分析算法的易懂性和文档性8、设计一个“好”的算法应考虑达到的目标有______。

A. 是可行的B. 是健壮的C. 无二义性D. 可读性好线性表1、线性表是具有n个()的有限序列(n>0)。

A.表元素B.字符C.数据元素D.数据项2、若线性表最常用的操作是存取第I个元素及其前驱和后继元素的值,为节省时间应采用的存储方式()。

A.单链表B.双向链表C.单循环链表D.顺序表3、某线性表中最常用的操作是在最后一个元素之后插入一个元素和删除第一个元素,则采用()存储方式最节省运算时间。

A. 单链表B. 仅有头指针的单循环链表C. 双链表D. 仅有尾指针的单循环链表4、设一个链表最常用的操作是在末尾插入结点和删除尾结点,则选用()最节省时间。

数据结构自考试题及答案

数据结构自考试题及答案

数据结构自考试题及答案一、单项选择题(每题1分,共10分)1. 在数据结构中,最基本的数据结构是()。

A. 线性结构B. 非线性结构C. 顺序结构D. 链式结构答案:A2. 线性表的顺序存储结构和链式存储结构相比,其主要优点是()。

A. 存储密度高B. 存储密度低C. 存储空间少D. 插入和删除操作快答案:A3. 在一个长度为n的顺序表中,删除第i个元素(1≤i≤n)时,需要移动的元素个数为()。

A. i-1B. n-iC. n-i+1D. n-1答案:C4. 栈的基本运算中,不包括()。

A. 入栈B. 出栈C. 读栈顶元素D. 判断栈空答案:D5. 队列的特点是()。

A. 先进先出B. 先进后出C. 后进先出D. 后进后出答案:A6. 树的深度为5,其中度为3的结点最多有()个。

A. 3B. 7C. 9D. 15答案:D7. 在二叉树的前序遍历序列、中序遍历序列、后序遍历序列中,唯一与树的形态一一对应的序列是()。

A. 前序遍历序列B. 中序遍历序列C. 后序遍历序列D. 无法确定答案:A8. 在图的遍历过程中,若某结点的入度为0,则该结点()。

A. 一定为起点B. 一定为终点C. 可以为起点或终点D. 既不是起点也不是终点答案:C9. 哈夫曼编码是一种()。

A. 定长编码B. 变长编码C. 唯一编码D. 非唯一编码答案:B10. 用邻接矩阵表示图时,若该图是无向图,则其邻接矩阵一定是()。

A. 对称矩阵B. 非对称矩阵C. 稀疏矩阵D. 密集矩阵答案:A二、填空题(每题2分,共20分)1. 在数据结构中,算法的时间复杂度是指算法执行过程中所需要的基本运算次数与输入数据量之间的关系。

算法的时间复杂度通常用大O符号表示,例如,O(n)表示时间复杂度与输入数据量成______关系。

答案:线性2. 线性表的两种存储结构分别是顺序存储结构和______存储结构。

答案:链式3. 在栈中,栈顶元素是最后被插入的元素,遵循______原则。

数据结构自测题及解答

数据结构自测题及解答

一、概念题(每空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 线性表是具有n 个____的有限序列。

A) 表元素 B) 字符 C) 数据元素 D) 数据项 E)信息项 **2 线性表的静态链表存储结构与顺序存储结构相比优点是_____。

A) 所有的操作算法实现简单 B) 便于随机存储 C) 便于插入和删除 D) 便于利用零散的存储器空间 3 若长度为n 的线性表采用顺序存储结构,在其第i 个位置插入一个新元素算法的时间复杂度为____。

A) O(n ) B ) O(l) C) O(n) D) O(n 2)**4 (1) 静态链表既有顺序存储的优点,又有动态链表的优点。

所以,它存取表中第i 个元素的时间与i 无关;(2) 静态链表中能容纳元素个数的最大数在定义是就确定了,以后不能增加;(3) 静态链表与动态链表在元素的插入,删除上类似,不需做元素的移动.以上错误的是5 将图1.10所示的s 所指结点加到p 所指结点之后,其语句应为____.A) s →next=p+1; p →C) s →next=p →next; p →next=s →next; D) s →next=p →next; p →6 在双向链表存储结构中,删除p 所指的结点时须修改指针______A) p →next →prior=p →prior; p →prior →next=p →next;B) p →next=p →next →next; p →next →prior=p;.C) p →prior →next=p; p →prior=p →prior →prior;D) p →prior=p →next →next; p →next=p →prior →prior;7在双向循环链表中,在p 指针所指的结点后插入一个指针q 所指向的新结点,其修改指针的操作是____.A) p →next=q; q →prior=p; p →next →prior=q; q →next=q;B) p →next=q; p →next →prior=q; q →prior=p; q →next=p →next;C) q →prior=p; q →next=p →next; p →next →prior=q; p →next=q;D) q →next=p →next; q →prior=p; p →next=q; p →next=q;8 将两个各有n 个元素的有序表归并成一个有序表,其最少的比较次数是____. A) n B) 2n-1 C)2n D) n-19 在一个长度为n 的顺序表中,在第i 个元素(l ≤i ≤n+1)之前插入一个新元素时须向后移动___个元素. A) n –1B ).n-i+1 C)n-i-1 D) .i10 线性表L=(a 1 ,a 2,…a n ),下列说法正确的是____.A) 每个元素都有一个直接前驱和一个直接后继 B) 线性表中至少有一个元素C) 表中诸元素的排列顺序必须是由小到大或由大到小D) 除第一个和最后一个元素外,其余每个元素都有一个且仅有一个直接前驱和直接后继11 对单链表表示法,以下说法错误的是_____.A) 数据域用于存储线性表的一个数据元素B) 指针域(或链域)用于存放一个指向本结点所含数据元素的直接后继所在结点的指针C) 所有数据通过指针的链接而组织成单链表D) NULL 称为空指针,它不指向任何结点只起标志作用12 若给定有n 个元素的向量,则建立一个有序单向链表的时间复杂度的量级是____. A) O(l) B) O(n) C)O(n 2) D) O(nlog 2n)13 以下说法正确的是____.A) 顺序存储方式的优点是存储密度大且插入,删除运算效率高B) 链表的每个结点中都恰好包含一个指针C) 线性表的顺序存储结构优于链式存储结构D) 顺序存储结构属于静态结构而链式结构属于动态结构14 以下说法错误的是____.A) 对循环链表来说,从表中任一结点出发都能通过前后移操作扫描整个循环链表B) 对单链表来说,只有从头结点开始才能扫描表中全部结点C) 双链表的特点是找结点的前驱和后继都很容易D)对双链表来说,结点*p的存储位置既存放在其前驱结点的后继指针域中,也存放在它的后继结点的前驱指针中15以下说法错误的是____.A) 求表长,定位这两种运算在采用顺序存储结构时实现的效率不比采用链式存储结构时实现的效率低B) 顺序存储的线性表可以随机存取C) 由于顺序存储要求连续的存储区域,所以在存储管理上不够灵活D) 线性表的链式存储结构优于顺序存储结构**二多选题1 表长为n的顺序存储的线性表,当在任何位置上插入或删除一个元素的概率相等时,插入一个元素所需移动的元素平均个数为____,删除一个元素所需移动的平均个数为____. A) (n-1)/2 B) n C) n+1 D) n-1 E) n/2 F) (n+1)/2 G) (n-2)/22 便于插入和删除操作的是____. A) 静态链表B) 单链表 C) 顺序表 D) 双链表 E)循环链表3 从表中任一结点出发都能扫描整个表的是____. A) 静态链表B) 单链表 C) 顺序表 D) 双链表 E)循环链表三填空题1 在单链表中设置头结点的作用是____.2 设单链表的结点结构为(data,next),next为指针域.已知指针px指向单链表中data为x的结点,指针py指向data为y的新结点,若将结点y插入结点x之后,则需要执行以下语句:________;_________.3 对于双向链表,在两个结点之间插入一个新结点时需修改的指针共有____个,单链表为____个。

数据结构(第二版) 模拟试题自测卷AB卷带答案1

数据结构(第二版) 模拟试题自测卷AB卷带答案1
A. a B. b C.NULL D.x
5.在一个单链表HL中,若要删除由指针q所指向结点的后继结点,则执行________。
A.p=q->next; p->next=q->next;free(p);
B.p=q->next; q->next=p; free(p);
C.p=q->next; q->next=p->next; free(p);
试卷一
一、选择题(本题共30分,每题2分)
1.计算机识别、存储和加工处理的对象被统称为________。
A.数据B.数据元素C.数据结构D.数据类型
2.已知一栈的进栈序列为:1234,则下列哪个序列为不可能的出栈序列________。
A.1234B.4321 C.2143D.4123
3.链表不具有的特点是________。
(1)直接插入排序
(2)基数排序
5.对于下面所示的连通图,写出由Prim算法生成的最小生成树。(5分)
6.将下面的树转化为一棵二叉树,并写出对二叉树进行层序遍历的序列。(7分)
四、算法题(本题共20分)
1.完成中序遍历二叉树。
Typedef struct node
{
Char data;
Struct node *lchild;
3.数据的逻辑结构包括集合、________、________和图状结构四种类型。
4.图的两种遍历方式为:广度优先遍历和_______________。
5.线性表的链式存储结构中的结点包含________域和________域。
6.向一棵二叉搜索树中插入一个元素时,若元素的值小于根结点的值,则应把它插入到根结点的_______上。

数据结构 自测题1-5答案

数据结构 自测题1-5答案

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

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

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

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

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

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

7. 线性表中结点的个数是有限的,结点间的关系是一对一的。

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

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

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

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

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

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

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

14. 线性表、栈和队列都是线性结构,可以在线性表的任何位置插入和删除元素;对于栈只能在栈顶插入和删除元素;对于队列只能在队尾插入和队首删除元素。

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

16. 不包含任何字符(长度为0)的串称为空串;由一个或多个空格(仅由空格符)组成的串称为空白串。

17. 设S=“A;/document/Mary.doc”,则strlen(s)= 20 , “/”的字符定位的位置为3。

数据结构的试题及答案

数据结构的试题及答案

数据结构的试题及答案一、选择题(每题2分,共10分)1. 在数据结构中,()是数据元素之间的相互关系的集合。

A. 数据B. 结构C. 存储结构D. 逻辑结构答案:D2. 线性表的顺序存储结构中,存储元素的物理位置是()。

A. 连续的B. 离散的C. 任意的D. 无关的答案:A3. 在二叉树的遍历方法中,先访问根节点,然后遍历左子树,最后遍历右子树的遍历方式是()。

A. 前序遍历B. 中序遍历C. 后序遍历D. 层序遍历答案:A4. 哈希表的冲突解决方法中,()是将所有发生冲突的元素存储在同一个链表中。

A. 线性探测B. 链地址法C. 再散列D. 双散列答案:B5. 在图的遍历算法中,深度优先搜索(DFS)算法使用的辅助数据结构是()。

A. 栈B. 队列C. 链表D. 数组答案:A二、填空题(每题2分,共10分)1. 在数据结构中,算法的时间复杂度通常用()表示。

答案:O(n)2. 一个栈的初始状态为空,依次执行了Push(1), Push(2), Pop(), Push(3), Pop()操作后,栈顶元素是()。

答案:13. 在二叉搜索树中,对于任意节点,其左子树中的所有值都()该节点的值。

答案:小于4. 哈希表的装载因子是表中已填入的元素个数与哈希表的()之比。

答案:总容量5. 图的邻接矩阵表示法中,如果两个顶点之间有边相连,则对应的矩阵元素值为()。

答案:1三、简答题(每题5分,共20分)1. 请简述什么是递归,并给出一个递归算法的例子。

答案:递归是一种算法设计技巧,它允许一个函数直接或间接地调用自身。

递归算法的例子是计算阶乘:n! = n * (n-1)!,其中n! = 1当n=0时。

2. 请解释什么是堆排序,并简述其基本步骤。

答案:堆排序是一种基于堆数据结构的比较排序算法。

基本步骤包括构建最大堆,然后重复移除堆顶元素并调整剩余元素以保持最大堆属性。

3. 请描述什么是图的广度优先搜索(BFS)算法,并给出其算法步骤。

数据结构试卷试题及答案

数据结构试卷试题及答案

数据结构试卷试题及答案一、选择题(每题4分,共40分)1. 下列关于线性表的说法错误的是:A. 线性表可以是空表B. 线性表中的元素必须具有相同的数据类型C. 线性表中元素的顺序可以改变D. 线性表中的元素必须是整数答案:D2. 在单链表中,要删除第i个元素,需要:A. 找到第i个元素,然后删除B. 找到第i-1个元素,然后删除第i个元素C. 找到第i+1个元素,然后删除第i个元素D. 找到第i个元素,然后修改指针答案:B3. 下列关于栈的说法正确的是:A. 栈是一种先进先出的数据结构B. 栈是一种后进先出的数据结构C. 栈中元素只能在一端插入和删除D. 栈中元素只能在两端插入和删除答案:B4. 下列关于队列的说法错误的是:A. 队列是一种先进先出的数据结构B. 队列是一种后进先出的数据结构C. 队列中元素只能在队尾插入D. 队列中元素只能在队头删除答案:B5. 二分查找算法的时间复杂度为:A. O(1)B. O(n)C. O(logn)D. O(nlogn)答案:C6. 在二叉树中,度为0的节点数n0与度为2的节点数n2的关系是:A. n0 = n2 + 1B. n0 = n2 - 1C. n0 = n2D. n0 = n2 + 2答案:A7. 下列关于图的说法错误的是:A. 图是一种复杂的数据结构B. 图中顶点之间的关系可以是多对多的C. 图中顶点之间的关系可以是单向的D. 图中顶点之间的关系不能是双向的答案:D8. 下列排序算法中,时间复杂度最低的是:A. 冒泡排序B. 选择排序C. 快速排序D. 堆排序答案:D9. 下列关于哈希表的说法正确的是:A. 哈希表的查找时间复杂度为O(n)B. 哈希表的插入时间复杂度为O(n)C. 哈希表的查找时间复杂度为O(1)D. 哈希表的插入时间复杂度为O(1)答案:C10. 下列关于动态规划的说法错误的是:A. 动态规划是一种解决组合问题的方法B. 动态规划可以用于求解最优化问题C. 动态规划的基本思想是递归D. 动态规划的基本思想是记忆化搜索答案:C二、填空题(每题5分,共30分)1. 在单链表中,插入操作的时间复杂度是______。

数据结构试卷,自测题

数据结构试卷,自测题

一.判断题1.堆排序是一种选择排序,堆实质上是一颗完全二叉树结点的层次序列。

………()2.串是多个字符组成的有限序列,其一般形式为S=“a1a2…….an”。

……………()3.二维数组的两种存储方式列序和行序。

………………………………………()4.数据结构是指相互之间存在一种或多种特定关系的数据元素的集合。

………()5.逻辑结构有线性结构,树形结构,图状结构三种。

…………………………()二.填空题1. 串的长度是指_____________________2. 串是一种特殊的线性表,其特殊性体现在3. 栈是___ __________的线性表,其运算遵循________ ________的原则。

4. 数组是一种______数据结构,数组中的元素属于同一数据类型,一维数组可以看成向量,多维数组是向量的_____。

5. 二叉树是有3个基本单元组成____、______、______6. 深度为k的二叉树最多有____个结点(k≥1)三.选择题1. 从逻辑上可以把数据结构分为()两大类。

A.动态结构、静态结构B.顺序结构、链式结构C.线性结构、非线性结构D.初等结构、构造型结构2. 连续储存设计时,储存单元的地址()A.一定连续B.一定不连续C.不一定连续D.部分连续,部分不连续3. 一个栈的输出序列为1,2,3,…….,n,若输出序列的第一个元素是n,输出第i(1<=i<=n)个元素是()A.不确定 B. n-i+1 C. i D. n-i4. 执行完下列语句段后,i值为:()。

int f(int x){return ((x>0) ? x* f(x-1):2); }int i;I = f(f(1));A . 2B . 4C . 8D . 无限递归5. 下面关于串的叙述中,哪一个是不正确的?()A.串是字符的有限序列B.空串即是空白串C.模式匹配是串的一种重要运算D.串既可以采用顺序存储,也可以采用链式存储6. 若串S=”abbdded”,其子串的数目是多少()A.8B.28C.9D.297.假定有K个关键字互为同义词,若用线性探测法吧这K个关键字存入散列表中,至少要进行多少次探测()A.K-1次 B. K次C.K+1次D.K(K+1)/21.8.下面四种排序方法中,不稳定的排序法是()。

数据结构模拟试题(含答案)

数据结构模拟试题(含答案)

数据结构模拟试题(含答案)一、单选题(共100题,每题1分,共100分)1、在一棵度为3的树中,度为3的结点数为2个,度为2的结点数为1个,度为1的结点数为2个,则度为0的结点数为()个。

A、5B、6C、7D、4正确答案:B2、假设在一棵二叉树中,双分支结点数为15,单分支结点数为30个,则叶子结点数为()个。

A、15B、47C、16D、17正确答案:C3、设某哈夫曼树中有199个结点,则该哈夫曼树中有()个叶子结点。

A、100B、99C、102D、101正确答案:A4、一棵含18个结点的二叉树的高度至少为( )A、5B、4C、6D、3正确答案:A5、有关栈的描述,正确的是()A、栈是一种先进先出的特殊的线性表B、只能从栈顶执行插入、删除操作C、只能从栈顶执行插入、栈底执行删除D、栈顶和栈底均可执行插入、删除操作正确答案:B6、若采用孩子兄弟链表作为树的存储结构,则树的后序遍历应采用二叉树的()A、中序遍历算法B、前序遍历算法C、后序遍历算法D、层次遍历算法正确答案:A7、若要在单链表中的结点*p之后插入一个结点*s,则应执行的语句是( ) typedef struct node { char data[8]; struct node *next; } LinkStrNode;A、s->next=p; p->next=s->next;B、s->next=p->next; p->next=s;C、p->next=s->next; s->next=p;D、p->next=s; s->next=p->next;正确答案:B8、在一个长度为n的顺序表的任一位置插入一个新元素的渐进时间复杂度为( )。

A、O(n)B、O(1)C、O(n2)D、O(n/2)正确答案:A9、执行一趟快速排序能够得到的序列是()。

A、[45,34,12,41] 55 [72,63,27]B、[63,12,34,45,27] 55 [41,72]C、[12,27,45,41] 55 [34,63,72]D、[41,12,34,45,27] 55 [72,63]正确答案:D10、带权有向图G用邻接矩阵A存储,则顶点i 的入度等于A中()。

数据结构试题及答案

数据结构试题及答案

数据结构试题及答案一、选择题题目1:以下哪一项不是线性结构的基本特征?A. 有且只有一个根节点B. 每个节点最多有一个前驱和一个后继C. 有且只有一个叶子节点D. 适用于顺序存储和链式存储答案:C解析:线性结构的基本特征包括有且只有一个根节点,每个节点最多有一个前驱和一个后继,适用于顺序存储和链式存储。

而叶子节点数量的多少并不是线性结构的特征。

题目2:以下哪种排序算法的时间复杂度是O(nlogn)?A. 冒泡排序B. 选择排序C. 快速排序D. 插入排序答案:C解析:快速排序的平均时间复杂度为O(nlogn),在最坏情况下为O(n^2)。

冒泡排序、选择排序和插入排序的时间复杂度均为O(n^2)。

题目3:以下哪个数据结构的存储方式是顺序存储?A. 栈B. 队列C. 树D. 图答案:A解析:栈和队列通常采用顺序存储方式,树和图的存储方式通常是链式存储。

二、填空题题目4:在一个长度为n的线性表中,删除一个元素的时间复杂度是______。

答案:O(n)解析:删除一个元素需要移动删除元素后面的所有元素,因此时间复杂度为O(n)。

题目5:对于一个具有100个元素的数组,其堆排序的时间复杂度是______。

答案:O(nlogn)解析:堆排序的时间复杂度为O(nlogn),其中n为元素数量。

三、判断题题目6:二分查找适用于有序的顺序存储结构。

答案:正确解析:二分查找的基本思想是将待查找的键值与有序序列的中间元素进行比较,根据比较结果缩小查找范围,直至找到或确定不存在该键值。

因此,二分查找适用于有序的顺序存储结构。

题目7:双向链表相较于单向链表,具有更好的删除和插入性能。

答案:错误解析:双向链表和单向链表在删除和插入操作的性能上基本相同,都是O(1)。

双向链表的优势在于可以同时向前和向后遍历,但在删除和插入操作上并没有性能优势。

四、应用题题目8:请设计一个算法,实现单链表的逆序存储。

答案:```pythonclass ListNode:def __init__(self, value=0, next=None):self.value = valueself.next = nextdef reverse_linked_list(head):prev = Nonecurrent = headwhile current:next_node = current.nextcurrent.next = prevprev = currentcurrent = next_nodereturn prev# 测试代码if __name__ == "__main__":# 创建链表:1 -> 2 -> 3 -> 4 -> 5head = ListNode(1, ListNode(2, ListNode(3, ListNode(4, ListNode(5)))))# 逆序链表reversed_head = reverse_linked_list(head)# 打印逆序后的链表current = reversed_headwhile current:print(current.value, end=" -> ")current = current.nextprint("None")```解析:通过迭代的方式,将链表中的每个节点的next指针指向前一个节点,即可实现链表的逆序存储。

十套数据结构试题及答案

十套数据结构试题及答案

数据构造试卷〔一〕一、单项选择题〔每题 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(含答案)

《数据结构》单元测试1(含答案)

《数据结构》单元测试1一、选择题(每题2分,共40分)1.数据的最小单位是( A)。

(A) 数据项(B) 数据类型(C) 数据元素(D) 数据变量2. 栈和队列的共同特点是( A )。

(A)只允许在端点处插入和删除元素(B)都是先进后出(C)都是先进先出(D)没有共同点3. 用链接方式存储的队列,在进行插入运算时( D )。

(A)仅修改头指针(B)头、尾指针都要修改(C)仅修改尾指针 (D)头、尾指针可能都要修改4. 以下数据结构中哪一个是非线性结构?( D )(A)队列(B)栈(C)线性表(D)二叉树5.函数substr(“DATASTRUCTURE”,5,9)的返回值为( A )。

(A) “STRUCTURE”(B) “DATA”(C) “ASTRUCTUR”(D) “DATASTRUCTURE”6.设一个有序的单链表中有n个结点,现要求插入一个新结点后使得单链表仍然保持有序,则该操作的时间复杂度为( D)。

(A) O(log2n) (B) O(1) (C) O(n2) (D) O(n)7.设一棵m叉树中度数为0的结点数为N0,度数为1的结点数为Nl,……,度数为m的结点数为Nm,则N0=( B)。

(A) Nl+N2+……+Nm(B) 1+N2+2N3+3N4+……+(m-1)Nm(C) N2+2N3+3N4+……+(m-1)Nm (D) 2Nl+3N2+……+(m+1)Nm 8.设有序表中有1000个元素,则用二分查找查找元素X最多需要比较( B)次。

(A) 25 (B) 10 (C) 7 (D) 19. 二叉树的第k层的结点数最多为( D )。

(A)2k-1 (B) 2K+1 (C) 2K-1 (D)2k-110. 树最适合用来表示( C )。

(A)有序数据元素(B)无序数据元素(C)元素之间具有分支层次关系的数据 (D)元素之间无联系的数据11.n个权构成一棵Huffman树,其节点总数为( A )。

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

第十一章文件一、选择题1. 散列文件使用散列函数将记录的关键字值计算转化为记录的存放地址,因为散列函数是一对一的关系,则选择好的()方法是散列文件的关键。

【哈尔滨工业大学 2001二、5 (2分)】A. 散列函数B. 除余法中的质数C. 冲突处理D. 散列函数和冲突处理2. 顺序文件采用顺序结构实现文件的存储,对大型的顺序文件的少量修改,要求重新复制整个文件,代价很高,采用()的方法可降低所需的代价。

【北京邮电大学 2000 二、8 (20/8分)】A. 附加文件B. 按关键字大小排序C. 按记录输入先后排序D. 连续排序3. 用ISAM组织文件适合于()。

【中科院软件所 1998】A.磁带B.磁盘4.下述文件中适合于磁带存储的是()。

【中科院计算所2000 一、7(2分)】A. 顺序文件B. 索引文件C. 散列文件D. 多关键字文件5. 用ISAM和VSAM组织文件属于()。

A. 顺序文件B. 索引文件C. 散列文件【中国科技大学 1998 二、5(2分)中科院计算所 1998 二、5(2分)】6. ISAM文件和VASM文件属于()。

【山东大学 2001 二、5 (1分)】A. 索引非顺序文件B. 索引顺序文件C. 顺序文件D. 散列文件7. B+树应用在()文件系统中。

【北京邮电大学 2001 一、1(2分)】A. ISAMB. VSAM二、判断题1. 文件是记录的集合,每个记录由一个或多个数据项组成,因而一个文件可看作由多个记录组成的数据结构。

【长沙铁道学院 1998一、5 (1分)】2. 倒排文件是对次关键字建立索引。

【南京航空航天大学 1997 一、10(1分)】3. 倒排序文件的优点是维护简单。

【南京航空航天大学 1995 五、10(1分)】【西安交通大学 1996 二、6 (3分)】4. 倒排文件与多重表文件的次关键字索引结构是不同的。

5. Hash表与Hash文件的唯一区别是Hash文件引入了‘桶’的概念。

【南京航空航天大学1996六10(1分)】6. 文件系统采用索引结构是为了节省存储空间。

【北京邮电大学 2000 一、10 (1分)】7. 对处理大量数据的外存介质而言,索引顺序存取方法是一种方便的文件组织方法。

【东南大学 2001 一、1-10 (1分)】8. 对磁带机而言,ISAM是一种方便的稳健组织方法。

【中科院软件所1997 一、10(1分)】9. 直接访问文件也能顺序访问,只是一般效率不高。

【北京邮电大学 2002 一、10(1分)】10. 存放在磁盘,磁带上的文件,即可以是顺序文件,也可以是索引结构或其他结构类型的文件。

【山东大学 2001 一、7 (1分)】11. 检索出文件中的关键码值落在某个连续的范围内的全部记录,这种操作称为范围检索。

对经常需要做范围检索的文件进行组织,采用散列法优于顺序检索法。

【中山大学 1994 一、5 (2分)】三、填空题1. 文件可按其记录的类型不同而分成两类,即______和______文件。

【西安电子科技大学1998 二、6(3分)】2. 数据库文件按记录中关键字的多少可分成______和______两种文件。

【燕山大学 1998 一、10 (2分)】3. 从用户的观点看,文件的逻辑结构通常可以区分为两类:一类是如 dBASE 中数据库文件那样的文件组织结构,称为_(1)_文件;另一种是诸如用各种文字处理软件编辑成的文本文件,称为__(2)_文件。

从文件在存储器上的存放方式来看,文件的物理结构往往可区分为三类,即_(3)_,_(4)_和_(5)_。

B+ 树适用于组织_(6)_的索引结构,m 阶B+ 树每个结点至多有_(7)_个儿子,除根结点外每个结点至少有 (8) 个儿子,根结点至少有_(9)_个儿子,有k 个儿子的结点必有_(10) 个关键码。

【山东工业大学 1996 一、4(5分)】4. 文件由______组成;记录由______组成。

【大连海事大学 1996 (2分)】【燕山大学 1998 一、11 (1 5. 物理记录之间的次序由指针相链表示的顺序文件称为 ______。

分)】6. 顺序文件中,要存取第I个记录,必须先存取______个记录。

【哈尔滨工业大学 2001 一、4 (2分)】7. 索引顺序文件既可以顺序存取,也可以______存取。

【武汉大学2000一、10】8. 建立索引文件的目的是______。

【中山大学 1998 一、12 (1分)】9. 索引顺序文件是最常用的文件组织之一,通常用____结构来组织索引。

【长沙铁道学院1998二、6(2分)】10. 倒排序文件的主要优点在于______。

【山东工业大学1995一、3(1分)】11. 检索是为了在文件中寻找满足一定条件的记录而设置的操作。

检索可以按______检索,也可以按______检索;按______检索又可以有_________检索和_________检索。

【山东大学1999 一、1 (5分)】12. 散列检索技术的关键是______和 ______。

【山东工业大学 1995 一、2 (2分)】13. VSAM系统是由______、______、______构成的。

【北京科技大学 1997 一、9】14. VSAM(虚拟存储存取方法)文件的优点是:动态地______,不需要文件进行______,并能较快地______进行查找。

【山东大学 2001 三、4 (2分)】四、应用题1. 文件【山东工业大学 1998 一、1-1(2分)】2. 文件存储结构的基本形式有哪些?一个文件采用何种存储结构应考虑哪些因素?【燕山大学 1999 二、4(4分)】3.名词解释:索引文件【哈尔滨工业大学 2000 一、4 (3分)】4. 什么是索引顺序文件?【哈尔滨工业大学2001三、5(3分)】【山东工业大学1998一、1-2(2分)】5.索引顺序存取方法(ISAM)中,主文件已按关键字排序,为何还需要主关键字索引?【东南大学 1995 四(6分)】6.分析ISAM文件(INDEXED SEQUENTIALACCESS METHORD)和VSAM文件(VIRTUALSTORAGE ACCESS METHORD)的应用场合、优缺点等。

【华南理工大学 2001 一、4 (4分)】7. 一个ISAM文件除了主索引外,还包括哪两级索引?【北京科技大学 1999 一、8(2分)】8. 倒排文件【山东工业大学 1998 一、1-3(2分)】9. 为什么在倒排文件(inverted files)组织中,实际记录中的关键字域(key fields)可删除以节约空间?而在多表(multilists)结构中这样做为什么要牺牲性能?【东南大学 1997 一、4 (8分)】10. 简单比较文件的多重表和倒排表组织方式各自特点。

【东南大学 2000 一、2 (6分)】11. 组织待检索文件的倒排表的优点是什么?【北京科技大学 2001 一、10 (2分)】12. 为什么文件的倒排表比多重表组织方式节省空间?【东南大学 2001 一、2 (1分)】13. 试比较顺序文件,索引非顺序文件,索引顺序文件,散列文件的存储代价,检索,插入,删除记录时的优点和缺点。

【西北工业大学 1999 四 (8分)】14. 已知两个各包含N和M个记录的排好序的文件能在O(N+M)时间内合并为一个包含N+M 个记录的排好序的文件。

当有多于两个排好序的文件要被合并在一起时,只需重复成对地合并便可完成。

合并的步骤不同,所需花费的记录移动次数也不同。

现有文件F1,F2,F3,F4,F5,各有记录数为20,30,10,5和30,试找出记录移动次数最少的合并步骤。

【重庆大学 2000 二、3】15.已知职工文件中包括职工号、职工姓名、职务和职称4个数据项(见下表)。

职务有校长、系主任、室主任和教员;校长领导所有系主任,系主任领导他所在系的所有室主任,室主任领导他所在室的全体教员;职称有教授、副教授和讲师3种。

请在职工文件的数据结构中设置若干指针和索引,以满足下列两种查找的需要:(1)能够检索出全体职工间领导与被领导的情况;(2)能够分别检索出全体教授、全体副教授、全体讲师。

要求指针数量尽可能少,给出各指针项索引的名称及含义即可。

表职工文件职工号职工姓名职务职称001 002 003 004 005 006 007 008 009 010 …张军沈灵叶明张莲叶宏周芳刘光黄兵李民赵松…教员系主任校长室主任系主任教员系主任教员室主任教员…讲师教授教授副教授教授教授教授讲师教授副教授…【北京航空航天大学 1996】参考文献[1]严蔚敏等。

数据结构。

北京:清华大学出版社,1997.4[2]殷人昆。

数据结构。

北京:清华大学出版社,2001.3[3]范策等。

算法与数据结构。

北京:机械工业出版社,2004.?[4]胡学刚。

数据结构算法设计指导。

北京:清华大学出版社,1999.2[5]黄水松等。

数据结构与算法习题解析。

北京:电子工业出版社,1996.8[6]蒋盛益等。

《数据结构》学习指导与训练。

北京:中国水利水电出版社,2003.8[7]前沿考试研究室。

计算机专业研究生入学考试全真题解----数据结构与程序设计分册。

北京:人民邮电出版社,2003.6[8]何军等。

数据结构500题。

北京:人民邮电出版社,2003.4[9]何军等。

数据结构课程辅导与习题解析。

北京:人民邮电出版社,2003.3[10]徐孝凯。

数据结构辅导与提高。

北京:清华大学出版社,2003.12[11]薛晓燕等。

数据结构习题集与解题指导。

北京:科学技术文献出版社,1995.7。

相关文档
最新文档