数据结构期中试题

合集下载

数据结构试卷(期中考试)

数据结构试卷(期中考试)

第页/共 页 《数据结构》期中考试试卷一、选择题(每题2分,共40分)1.组成数据的基本单位是【 】。

A .数据项B .数据类型C .数据元素D .数据变量 2.线性表采用链式存储时,结点的存储地址【 】。

A .必须是不连续的 B .连续与否均可C .必须是连续的D .和头结点的存储地址相连续3. 有一个含头结点的单链表,头指针为head ,判断其是否为空的条件为【 】。

A .head==NULL B . head->next==NULL C .head->next==head D .head!=NULL 4.算法分析的目的是【 】。

A .辨别数据结构的合理性B .评价算法的效率C .研究算法中输入与输出的关系D .鉴别算法的可读性5.已知指针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 ; 6.若进栈序列为1,2,3,4,5,6,且进栈和出栈可以穿插进行,则可 能出现的出栈序列为【 】。

A .3,2,6,1,4,5B .5,6,4,2,3,1C .1,2,5,3,4,6D .3,4,2,1,6,5 7.一个元素进入队列的时间复杂度是【 】。

A O(1)B O(n)C O(n 2)D O(log 2n) 8.数组A[1..5,1..6]的每个元素占5个单元,将其按行优先次序存储在起始地址为1000的连续的内存单元中,则元素A[5,5]的地址为【 】。

A 1140 B 1145 C 1120 D 1125 9.链表不具有的特点是【 】。

数据结构期中考试题

数据结构期中考试题

数据结构期中考试题一、选择题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. 二叉树二、简答题1. 请简要介绍栈(Stack)和队列(Queue)的特点及应用场景。

2. 请解释树(Tree)和图(Graph)的区别,并给出它们各自的应用场景。

3. 请描述二叉树(Binary Tree)的特点并给出一个示例图。

4. 请简要介绍哈希表(Hash Table)的原理及其在实际应用中的优势。

三、编程题1. 设计一个栈,使得它具有以下功能:- push(val):将元素val压入栈中。

- pop():弹出栈顶元素,并返回弹出的元素。

- getMin():返回栈中最小的元素。

2. 设计一个队列,使得它具有以下功能:- push(val):将元素val插入队列中。

- pop():移除并返回队列头部的元素。

- peek():返回队列头部的元素。

- empty():检查队列是否为空。

四、综合题某公司需要设计一个学生信息管理系统,主要功能包括添加学生信息、查询学生信息、删除学生信息以及修改学生信息。

请使用合适的数据结构和算法来实现该系统,并说明你的选择理由。

总结:通过本次期中考试题,我们从选择题、简答题到编程题,对数据结构的基本知识和应用有了更深入的了解。

数据结构在计算机科学中扮演着重要的角色,合理的选择和运用数据结构可以提高程序的效率和性能。

希望大家能够加强对数据结构的学习和应用,为解决实际问题提供更有效的解决方案。

数据结构期中考试试题及答案

数据结构期中考试试题及答案

一、单项选择题(本题总分 20分,每题 2分)在每小题列出的四个选项中只有 一个选项是符合题目要求的,请将正确选项前的字母。

1.若结点的存储地址与其关键字之间存在某种映射关系,则称这种存储结构为( D ) 。

A.顺序表 B.链表 C.索引表 D.散列表采用排除法,顺序表存储位置表示数据元素的顺序关系,跟关键字无法;链表的地址是动态分配的;索引表是 按数据元素的关键字排序所得,它的数据元素是没有规律的2.在长度为 n 的顺序表的第 i(1≤i ≤n+1)个位置上插入一个元素,元素的移动次数为( A ) 。

A.n -i+1B.n -iC.iD.i -1代入计算法,我们知道在 i=n+1 时不需要移动元素3.若一棵二叉树的先序遍历序列为 a,b,c ,则由 abc 三个结点构成的二叉树个数为( B ) 。

A.4B.5C.6D.74.三维数组 A[4][5][6]按行优先存储方法存储在内存中,若每个元素占 2 个存储单元,且数组中第一个元素的存 储地址为 130,则元素 A[3][4][5]的存储地址为(B A.370B .368C .366) 。

D.372Loc(3,4,5)=loc(0,0,0)+(3*5*6+4*6+5)*2=130+119*2=368;5.高度为 h 的二叉树(仅含根结点的二叉树高度为 1)的结点最少是多少( D) 。

A. h+1B. 2hC. 2h -1D. h二叉树性质 26. 将两个各有 n 个元素的有序表归并成一个有序表,其最多的比较次数是( A. nB.n+1 C. 2n-1D. n-17. 已知一算术表达式的中缀形式为 A +B *C -D/E ,后缀形式为 ABC *+DE/-,其前缀形式为( C) 。

A )。

A. -+A*BC/DE C. -+*ABC/DEB. –A+B*CD/E D. –A+B*C/DE根据中缀和后缀表达式可画出表达树如下:- + /A* D EBC故前缀表达式为:-+A*BC/DE数据结构期中考试8.下面图示的顺序存储结构表示的二叉树是( A )。

数据结构期中试卷

数据结构期中试卷

《数据结构》期中试卷专业________ 学号_________ 姓名________ 成绩_______一、选择题(本大题共50小题,每小题2分,共100分)1. 若广义表K满足head(K)=tail(K),则K为 ( )A.( )B.( ( ) )C. ( () ),( () )D.( (),(),() )2.若要求尽可能快地对实数数组进行稳定的排序,则应选( )A.快速排序B.堆排序C.归并排序D.基数排序3. 请指出在顺序表{2、5、7、10、14、15、18、23、35、41、52}中,用二分法查找关键码12需做()次关键码比较。

A.2B.3C.4D.54.对包含N个元素的散列表进行查找,平均查找长度( )A.为 O(log2N)B.为O(N)C.不直接依赖于ND.上述三者都不是5.一个栈的输入序列为1,2,3,4,下面哪一个序列不可能是这个栈的输出序列()A. 1,3,2,4B. 2,3,4,1C. 4,3,1,2D. 3,4,2,16.下面关于图的存储的叙述中,哪一个是正确的。

()A.用相邻矩阵法存储图,占用的存储空间数只与图中结点个数有关,而与边数无关B.用相邻矩阵法存储图,占用的存储空间数只与图中边数有关,而与结点个数无关C.用邻接表法存储图,占用的存储空间数只与图中结点个数有关,而与边数无关D.用邻接表法存储图,占用的存储空间数只与图中边数有关,而与结点个数无关7. 首先访问结点的左子树,然后访问该结点,最后访问结点的右子树,这种遍历称为( )A.前序遍历B.后序遍历C.中序遍历D.层次遍历8.对一棵查找树根结点而言,左子树中所有结点与右子树中所有结点的关键字大小关系是( )A.小于B.大于C.等于D.不小于9.下面关于B-树和B+树的叙述中,不正确的是 ( )A. B-树和B+树都是平衡的多分树B. B-树和B+树都是可用于文件的索引结构C. B-树和B+树都能有效地支持顺序检索D. B-树和B+树都能有效地支持随机检索10. 给定下列有向图和初始结点V1,按深度优先遍历的结点序列为( )A.V1,V2,V4,V5,V3B.V1,V3,V4,V5,V2C.V1,V2,V5,V3,V4D.V1,V2,V3,V4,V511. 在数据结构中,从逻辑上可以把数据结构分成()。

数据结构期中试题

数据结构期中试题

一、单项选择题(本题共15小题,每小题2分,共30分。

答案必须写在答题栏内,答在其他处不得分。

)1、组成数据的基本单位是CA、数据项B、数据类型C、数据元素D、数据变量2、算法指的是DA.计算机程序B.解决问题的计算方法C.排序算法D.解决问题的有限运算序列3、设输入序列为1、2、3、4、5、6,则通过栈的作用后可以得到的输出序列为BA、5,3,4,6,1,2B、3,2,5,6,4,1C、3,1,2,5,4,6D、1,5,4,6,2,34、栈和队列的共同特点是AA、只允许在端点处插入和删除元素B、都是先进后出C、都是先进先出D、没有共同点5、用链接方式存储的队列,在进行插入运算时 DA、仅修改头指针B、头、尾指针都要修改C、仅修改尾指针D、头、尾指针可能都要修改6、栈的插入和删除操作在什么位置进行AA、栈顶B、栈底C、任意位置D、指定位置7、如下陈述中正确的是 AA、串是一种特殊的线性表B、串的长度必须大于零C、串中元素只能是字母D、空串就是空白串8、设指针变量p指向单链表结点A,则删除结点A的后继结点B需要的操作为AA、p->next=p->next->nextB、p=p->nextC、p=p->next->nextD、p->next=p9、下面关于线性表的叙述错误的是 DA、线性表采用顺序存储必须占用一片连续的存储空间B、线性表采用链式存储不必占用一片连续的存储空间C、线性表采用链式存储便于插入和删除操作的实现D、线性表采用顺序存储便于插入和删除操作的实现10、下面程序的时间复杂度为 Bfor(i=1,s=0;i<=n;i++){t=1;for(j=1;j<=i;j++) t=t*j;s=s+t;}A、O(n)B、O(n2)C、O(n3)D、O(n4)11、函数SubString(“DATASTRUCTURE”,5,9)的返回值为 AA、“STRUCTURE”B、“DATA”C、“ASTRUCTUR”D、“DATASTRUCTURE”12、设指针变量front表示链式队列的队头指针,指针变量rear表示链式队列的队尾指针,指针变量s指向将要入队列的结点X,则入队列的操作序列为 CA、front->next=s;front=s;B、s->next=rear;rear=s;C、rear->next=s;rear=s;D、s->next=front;front=s;13、字符串的长度是指 CA、串中不同字符的个数B、串中不同字母的个数C、串中所含字符的个数D、串中不同数字的个数14、队列是一种什么的线性表AA、先进先出B、先进后出C、只能插入D、只能删除15、设指针变量p指向双向链表中结点A,指针变量s指向被插入的结点X,则在结点A的后面插入结点X的操作序列为 DA、p->next=s;s-> prior =p;p-> next -> prior =s;s-> next =p-> next;B、s-> prior =p;s-> next =p-> next;p-> next =s;p-> next -> prior =s;C、p-> next =s;p-> next -> prior =s;s-> prior =p;s-> next =p-> next;D、s->prior=p;s-> next =p-> next;p-> next -> prior =s;p-> next =s;二、单项选择题(本题共15空,每空1分,共15分。

数据结构期中测试题

数据结构期中测试题

数据结构期中测试题一、选择(共30题,共60分)1.下面关于线性表的叙述中,错误的是哪一个?()A.线性表采用顺序存储,必须占用一片连续的存储单元。

B.线性表采用顺序存储,便于进行插入和删除操作。

C.线性表采用链接存储,不必占用一片连续的存储单元。

D.线性表采用链接存储,便于插入和删除操作。

2.链表不具有的特点是:A.可随机访问任一个元素B.插入删除不需要移动元素C.不必事先估计存储空间D.所需空间与线性表长度成正比3.设一个链表最常用的操作是在末尾插入结点和删除尾结点,则选用( )最节省时间。

A. 单链表B.单循环链表C. 带尾指针的单循环链表D.带头结点的双循环链表4.在单链表指针为p的结点之后插入指针为s的结点,正确的操作是:()。

A.p->next=s;s->next=p->next; B. s->next=p->next;p->next=s;C.p->next=s;p->next=s->next; D. p->next=s->next;p->next=s;5.完成在双循环链表结点p之后插入s的操作是();A. p->next=s ; s->prior=p; p->next->prior=s ; s->next=p->next;B. p->next->prior=s; p->next=s; s->prior=p; s->next=p->next;C. s->prior=p; s->next=p->next; p->next=s; p->next->prior=s ;D. s->prior=p; s->next=p->next; p->next->prior=s ; p->next=s;6.栈和队列的共同点是()。

数据结构_期中试卷(含答案)

数据结构_期中试卷(含答案)

一、选择题(每小题 1分,共10分)1、队列是插入和删除受限的线性表,其删除操作是在线性表的(1)进行。

A.表头 B.表尾 C.任意位置 D.指定位置2、下述哪一条是顺序存储结构的优点(2)。

A.存储密度大 B.插入运算方便C.删除运算方便 D.可方便地用于各种逻辑结构的存储表示3、设有一个栈,元素的进栈次序为A, B, C, D, E,下列哪个是不可能的出栈序列(3)。

A.A, B, C, D, E B.B, C, D, E, AC.E, A, B, C, D D.E, D, C, B, A4、若二叉树的根结点所在的层次为第1层,则该二叉树的第k层上至多有(4)个结点。

2k B.2k C.2k-1 D.2k+1A. 15、设单链表中指针p指向结点m,若要删除m的后继结点(假设该后继结点存在),则需修改指针的操作为(5)。

A.p->next=p->next->next; B.p=p->next;C.p=p->next->next; D.p->next=p;6、下面程序段的时间复杂度为(6)。

for(int i=0; i<m; i++)for(int j=0; j<n; j++) a[i][j] = i*j;A.O(m2) B.O(n2) C.O(m+n) D. O(m*n)7、非空的循环单链表head的尾结点指针p满足(7)。

A.p==NULL B.p== head C.p->next==head D.p->next==NULL8、已知二维数组A[0..9,0..9]中,元素a[2][0]的地址为560,每个元素占4个字节,则元素a[1][0]的地址为(8)。

A. 518B. 520C. 522D. 5249、在具有n个单元的顺序存储的循环队列中,假定front和rear分别为队头指针和队尾指针,则判断队满的条件为(9)。

A.rear%n= = front B.(front+l)%n= = rearC.rear%n -1= = front D.(rear+l)%n= = front10、假设在一棵二叉树中,度为2的结点数为15,度为1的结点数为10个,则该二叉树的分支总数为(10)个。

数据结构期中考试

数据结构期中考试
typedef struct node {
DataType data;
Structnode *next;
} LinkNode,* LinkList;
1.编写算法,通过遍历一趟,将链表中所有结点的链接方向逆转,仍利用原表的存储空间。
2.编写算法,在一个头指针为head且带头结点的单链表中,删除所有结点数据域值为x的结点。函数原型为:LinkList delnode (LinkList head,DataType x)
1.阅读下列算法,并回答问题:
(1)假设L=(3,7,7,11,20,20,20,51,51),写出执行函数f1(&L)后的L;
(2)简述f1的功能。
void f1(SeqList*L)
{∥L为非空的有序表
int i=1,k=0;
while(i<L->length)

if(L->data[i]!=L->data[k])
9.已知三对角矩阵A[10][10]的每个元素占2个单元,现将其三条对角线上的元素逐行存储在起始地址为1000的连续的内存单元中,则元素A[6][7]的地址为______。
10.已知广义表A=(x,((a,b),c,)),函数head(head(tail(A)))的运算结果是______。
三、算法阅读题(本大题共3小题,每小题10分,共30分)
typedeBiblioteka structnode{char data[NodeSize];
struct node*next;
}LinkStrNode;
如果每个字符占1个字节,指针占2个字节,该链串的存储密度为()
A.1/3B.1/2
C.2/3D.3/4
9.若一个栈以向量V[1..n]存储,初始栈顶指针top为n+l,则x进栈的正确操作是()

数据结构_期中试卷(含答案)

数据结构_期中试卷(含答案)

一、选择题(每小题 1分,共10分)1、队列是插入和删除受限的线性表,其删除操作是在线性表的(1)进行。

A.表头B.表尾C.任意位置D.指定位置2、下述哪一条是顺序存储结构的优点?(2)。

A.存储密度大B.插入运算方便C.删除运算方便D.可方便地用于各种逻辑结构的存储表示3、设有一个栈,元素的进栈次序为A, B, C, D, E,下列哪个是不可能的出栈序列(3)。

A.A, B, C, D, E B.B, C, D, E, AC.E, A, B, C, D D.E, D, C, B, A4、若二叉树的根结点所在的层次为第1层,则该二叉树的第k层上至多有(4)个结点。

2k B.2k C.2k-1 D.2k+1A. 15、设单链表中指针p指向结点m,若要删除m的后继结点(假设该后继结点存在),则需修改指针的操作为(5)。

A.p->next=p->next->next; B.p=p->next;C.p=p->next->next; D.p->next=p;6、下面程序段的时间复杂度为(6)。

for(int i=0; i<m; i++)for(int j=0; j<n; j++) a[i][j] = i*j;A.O(m2) B.O(n2) C.O(m+n) D.O(m*n)7、非空的循环单链表head的尾结点指针p满足(7)。

A.p==NULL B.p== head C.p->next==head D.p->next==NULL8、已知二维数组A[0..9,0..9]中,元素a[2][0]的地址为560,每个元素占4个字节,则元素a[1][0]的地址为(8)。

A. 518B. 520C. 522D. 5249、在具有n个单元的顺序存储的循环队列中,假定front和rear分别为队头指针和队尾指针,则判断队满的条件为(9)。

A.rear%n= = front B.(front+l)%n= = rearC.rear%n -1= = front D.(rear+l)%n= = front10、假设在一棵二叉树中,度为2的结点数为15,度为1的结点数为10个,则该二叉树的分支总数为(10)个。

数据结构(期中测试)

数据结构(期中测试)
数据结构(期中测试 数据结构 期中测试) 期中测试
填空: 一.填空 填空 1.数据逻辑结构包括① , ②和③三种类型 数据逻辑结构包括① 数据逻辑结构包括 2.在线性结构中,第一个结点①前驱结点,其余 在线性结构中,第一个结点①前驱结点, 在线性结构中 每个结点有且只有②个前驱结点; 每个结点有且只有②个前驱结点;最后一个结点 ③后续结点,其余每个结点有且只有④个后续结 后续结点,其余每个结点有且只有④ 点. 3.向量,栈和队列都是①结构,可以在向量的② 向量, 向量 栈和队列都是①结构,可以在向量的② 位置插入和删除元素;对于栈只能在③ 位置插入和删除元素;对于栈只能在③插入和删 除元素;对于队列只能在④插入元素和⑤ 除元素;对于队列只能在④插入元素和⑤删除元 素.
若按图所示铁道进行车厢调度(注意:两侧铁道均为 若按图所示铁道进行车厢调度(注意: 单向行驶道),则请回答: ),则请回答 单向行驶道),则请回答: (1)如果进站的车厢序列为 )如果进站的车厢序列为123,则可能得到的 , 出站车厢序列是什么? 出站车厢序列是什么? (2)如果进站的车厢序列为 )如果进站的车厢序列为123456,则能否得到 , 435612和135426的出站序列,并请说明为什么不 的出站序列, 和 的出站序列 能得到或者如何得到(即写出以'S'表示进栈和以 表示进栈和以'X' 能得到或者如何得到(即写出以 表示进栈和以 表示出栈的栈操作序列). 表示出栈的栈操作序列).
三.综合 综合 1.一个稀疏矩阵如图所示,则对应的三元组表示为①. 一个稀疏矩阵如图所示,则对应的三元组表示为① 一个稀疏矩阵如图所示 0 0 2 0 3 0 0 0 0 0 -1 5 0 0 0 0 2.下面程序段的时间复杂度是①. 下面程序段的时间复杂度是① 下面程序段的时间复杂度是 i=1; while(i<=n) i=i * 3;

数据结构期中测试

数据结构期中测试

数据结构期中测试1.定义了一个结构体类型的普通变量,要使用其成员,则应该在变量和成员之间加()。

A:.(正确答案)B:>C:<D:&2.在定义结构体时会有一对{},在{}后不能省略的符号是下列哪一项()。

A:;(分号)(正确答案)B:,(逗号)C:""(双引号)D::(冒号)3.下列选项中关于什么是结构体描述正确的是()。

A:结构体是高级语言中的一种构造类型(正确答案)B:结构体是汇编语言中的一种指针类型C:结构体是高级语言中的一种指针类型D:结构体是C语言中的基本类型4.struct的作用是()。

A:定义整型变量B:定义结构体类型(正确答案)C:定义浮点型变量D:定义字符型变量5.定义了一个学生结构体,其中一个成员变量是年龄,应该使用()类型。

A:int(正确答案)B:floatC:小数D:浮点数6.p是一个结构体指针变量,它有一个成员变量叫sex,则使用格式正确的是()。

A:p->sex(正确答案)B:p%sexC:p#sexD:p&sex7.下列选项中是用来定义结构体的关键字是()。

A:struct(正确答案)B:functionC:staticD:stack8.数据分为原子类型(基本类型)和结构类型(构造类型),结构体属于()。

A:原子类型(基本类型)B:结构类型(构造类型)(正确答案)C:无类型D:以上都不对9.结构体定义会有一对{},在{}后不能省略的是()。

A:;(正确答案)B:.C:/D:>10.product属于结构体类型,要定义这种类型的变量pro定义正确的是()。

A:structproductpro;(正确答案)B:proproduct;C:structpro;D:以上都不对11.数据结构里,树形关系是()。

A:一对一关系B:一对多关系(正确答案)C:多对多关系D:没有关系12.数据结构里,线性结构是()。

A:一对一关系(正确答案)B:一对多关系C:多对多关系D:没有关系13.数据结构里,顺序存储是指()。

数据结构期中试题库及答案

数据结构期中试题库及答案

-、判1、我11表的也辑顾序与物理陨障总是一致的。

()2、线性表的顺序存储表示优于飪氏存储表示。

()3、找性表若采用箍式存储表示时所有给点之间的存昭单元地址可连续可不连续。

()4、二维数组是貝数组元素为线性表的线性表。

()5、每种数据结枸都应具备三种基本运算:捕人、删除和搜索。

()6、数齬给构炭念包括数齬之间的逆瑕结构,数据在廿算机中的存储方氏和数据的运算三个方而。

()7、线性表中的每彳、结点最多只有一彳、痢驱和一个后继。

()8、我性的数据结枸可£1顺疥存储,也可決存储。

非找ft的数摒结构只能存储。

()9、枝和从艸逻辑上胡是线性表。

()10、单箍表从任何一个结点出发,邵能诉冋到所有结点()11、删除二叉HI If ffl中一个给点,再車新捕人上去,一定能得到原来的二叉UUffflo ()12、快速排床是孙Jf算法中最快的一种。

()13、多维数组是向量的推广。

()14. -filfflft二叉树的结点数目制可以力0。

()15、有接选tHlf是一种不稳定的排序方法。

()16、98、对一个堆按层次遍历,不一定能得到一个有序序列。

()17、在只有度为0和度为k的给点的k叉树中,设度为0的结点有nO个,度力k的结点有nk 个,则有n0=nk+1o ()18、折半搜索只适用与有序表,色括有序的颇序表相有序的85表。

()19、堆枝在数稠中的存储原剧是先进先出。

()20、臥列在数需中的存昭原II是后进先出。

()21、用皿邻矩阵表示图两用的存储空间大小与图的ii数成正比。

()22、略夫曼喲一定是满二叉讯。

()23、程序是用廿算机语言表述的算进。

()24、线徃表的顺Jf存储结构是通ilfiS元索的存储地址胃接反映数摒元索的廻辑关系。

(25、用一组地址连续的存昭单元存笊的元索一定构成找性表。

()26、堆枝、臥列和数组的逆辑结构邵是线性表结构。

()27、给定一组权值,可以唯一构危出一棵盼夫Ifflo ()28、只有在初始数据力逆序时,冒泡排序所执行的比较次数E^o ()29、希尔孙序在较率上较頁接接人松序有较大的ttiSo E是不稳定的。

数据结构期中复习题--完整版!

数据结构期中复习题--完整版!
(1)用最少时间在表中查找数值为x的元素;
(2)若找到将其与后继元中并使表中元素仍递增有序
3.已知一个带有头结点的单链表,假设该链表只给出了头指针L,在不改变链表的前提下,
请设计一个尽可能高效的算法,查找链表中倒数第k个位置上的结点(k为正整数),若查找成功,算法输出该结点的data域的值,并返回0。要求:
A.O(1) B.O(n) C.O(m) D.O(m+n)
12.将两个各有n1个n2个元素的有序表(递增)归并成一个有序表,仍保持其递增顺序,则最少的比较次数是()。
A.n1 B.n2 C.n1+n2-1 D.min(n1,n2)
13.已知L是带头结点的单链表,结点p既不是首结点(第一个结点),也不是尾结点,删除p结点的直接后继结点的语句序列是()
10.已知L1、L2分别为两个单循环链表的头结点指针,m、n分别为L1、L2表中数据结点个数。要求设计一个算法,用最快速度将两表合并成一个带头结点的单循环链表。
11.已知不带头结点的线性表list,链表中结点构造为(data,next),其中data为数据域,next为指针域。请写一算法,将该链表按结点数据域的值的大小从小到大重新链接。要求链接过程中不得使用除该链表以外的任何链接点空间。
2.【答案】D
本题程序中每次循环将y的值增加1,然后比较n与y+1的平方大小,所以总共要进行根号n次比较。
3.【答案】D
在线性表的第1至第n个位置插入一个数据元素显然是允许的,紧挨在线性表最后那个数据元素后面插入一个数据元素也是允许的,因此,i的合法值应该是1≦i≦n+1。
4.【答案】C
只有删除非空线性表的第1至第n个数据元素才是可能的,因此,i的合法值应1≦i≦n。

《数据结构》期中题库及答案

《数据结构》期中题库及答案

一、判断题:1、线性表的逻辑顺序与物理顺序总是一致的。

( )2、线性表的顺序存储表示优于链式存储表示。

( )3、线性表若采用链式存储表示时所有结点之间的存储单元地址可连续可不连续。

( )4、二维数组是其数组元素为线性表的线性表。

( )5、每种数据结构都应具备三种基本运算:插入、删除和搜索。

( )6、数据结构概念包括数据之间的逻辑结构,数据在计算机中的存储方式和数据的运算三个方面。

( )7、线性表中的每个结点最多只有一个前驱和一个后继。

()8、线性的数据结构可以顺序存储,也可以链接存储。

非线性的数据结构只能链接存储。

()9、栈和队列逻辑上都是线性表。

()10、单链表从任何一个结点出发,都能访问到所有结点()11、删除二叉排序树中一个结点,再重新插入上去,一定能得到原来的二叉排序树。

()12、快速排序是排序算法中最快的一种。

()13、多维数组是向量的推广。

()14、一般树和二叉树的结点数目都可以为0。

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

()16、98、对一个堆按层次遍历,不一定能得到一个有序序列。

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

()18、折半搜索只适用与有序表,包括有序的顺序表和有序的链表。

()19、堆栈在数据中的存储原则是先进先出。

()20、队列在数据中的存储原则是后进先出。

()21、用相邻矩阵表示图所用的存储空间大小与图的边数成正比。

()22、哈夫曼树一定是满二叉树。

()23、程序是用计算机语言表述的算法。

()24、线性表的顺序存储结构是通过数据元素的存储地址直接反映数据元素的逻辑关系。

()25、用一组地址连续的存储单元存放的元素一定构成线性表。

()26、堆栈、队列和数组的逻辑结构都是线性表结构。

()27、给定一组权值,可以唯一构造出一棵哈夫曼树。

()28、只有在初始数据为逆序时,冒泡排序所执行的比较次数最多。

数据结构期中试题库及答案

数据结构期中试题库及答案

一、判断题:1、线性表的逻辑顺序与物理顺序总是一致的。

()2、线性表的顺序存储表示优于链式存储表示。

()3、线性表若采用链式存储表示时所有结点之间的存储单元地址可连续可不连续。

()4、二维数组是其数组元素为线性表的线性表。

()5、每种数据结构都应具备三种基本运算:插入、删除和搜索。

()6、数据结构概念包括数据之间的逻辑结构,数据在计算机中的存储方式和数据的运算三个方面。

()7、线性表中的每个结点最多只有一个前驱和一个后继。

()8、线性的数据结构可以顺序存储,也可以链接存储。

非线性的数据结构只能链接存储。

()9、栈和队列逻辑上都是线性表。

()10、单链表从任何一个结点出发,都能访问到所有结点()11、删除二叉排序树中一个结点,再重新插入上去,一定能得到原来的二叉排序树。

()12、快速排序是排序算法中最快的一种。

()13、多维数组是向量的推广。

()14、一般树和二叉树的结点数目都可以为0。

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

()16、98、对一个堆按层次遍历,不一定能得到一个有序序列。

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

()18、折半搜索只适用与有序表,包括有序的顺序表和有序的链表。

()19、堆栈在数据中的存储原则是先进先出。

()20、队列在数据中的存储原则是后进先出。

()21、用相邻矩阵表示图所用的存储空间大小与图的边数成正比。

()22、哈夫曼树一定是满二叉树。

()23、程序是用计算机语言表述的算法。

()24、线性表的顺序存储结构是通过数据元素的存储地址直接反映数据元素的逻辑关系。

()25、用一组地址连续的存储单元存放的元素一定构成线性表。

()26、堆栈、队列和数组的逻辑结构都是线性表结构。

()27、给定一组权值,可以唯一构造出一棵哈夫曼树。

()28、只有在初始数据为逆序时,冒泡排序所执行的比较次数最多。

()29、希尔排序在较率上较直接接入排序有较大的改进。

数据结构期中题库及答案

数据结构期中题库及答案

一、判断题:1、线性表的逻辑顺序与物理顺序总是一致的。

( )2、线性表的顺序存储表示优于链式存储表示。

( )3、线性表若采用链式存储表示时所有结点之间的存储单元地址可连续可不连续。

( )4、二维数组是其数组元素为线性表的线性表。

( )5、每种数据结构都应具备三种基本运算:插入、删除和搜索。

( )6、数据结构概念包括数据之间的逻辑结构,数据在计算机中的存储方式和数据的运算三个方面。

( )7、线性表中的每个结点最多只有一个前驱和一个后继。

()8、线性的数据结构可以顺序存储,也可以链接存储。

非线性的数据结构只能链接存储。

()9、栈和队列逻辑上都是线性表。

()10、单链表从任何一个结点出发,都能访问到所有结点()11、删除二叉排序树中一个结点,再重新插入上去,一定能得到原来的二叉排序树。

()12、快速排序是排序算法中最快的一种。

()13、多维数组是向量的推广。

()14、一般树和二叉树的结点数目都可以为0。

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

()16、98、对一个堆按层次遍历,不一定能得到一个有序序列。

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

()18、折半搜索只适用与有序表,包括有序的顺序表和有序的链表。

()19、堆栈在数据中的存储原则是先进先出。

()20、队列在数据中的存储原则是后进先出。

()21、用相邻矩阵表示图所用的存储空间大小与图的边数成正比。

()22、哈夫曼树一定是满二叉树。

()23、程序是用计算机语言表述的算法。

()24、线性表的顺序存储结构是通过数据元素的存储地址直接反映数据元素的逻辑关系。

()25、用一组地址连续的存储单元存放的元素一定构成线性表。

()26、堆栈、队列和数组的逻辑结构都是线性表结构。

()27、给定一组权值,可以唯一构造出一棵哈夫曼树。

()28、只有在初始数据为逆序时,冒泡排序所执行的比较次数最多。

数据结构期中题库及答案

数据结构期中题库及答案

一、判断题:1、线性表的逻辑顺序与物理顺序总是一致的。

()2、线性表的顺序存储表示优于链式存储表示。

()3、线性表若采用链式存储表示时所有结点之间的存储单元地址可连续可不连续。

()4、二维数组是其数组元素为线性表的线性表。

()5、每种数据结构都应具备三种基本运算:插入、删除和搜索。

()6、数据结构概念包括数据之间的逻辑结构,数据在计算机中的存储方式和数据的运算三个方面。

()7、线性表中的每个结点最多只有一个前驱和一个后继。

()8、线性的数据结构可以顺序存储,也可以链接存储。

非线性的数据结构只能链接存储。

()9、栈和队列逻辑上都是线性表。

()10、单链表从任何一个结点出发,都能访问到所有结点()11、删除二叉排序树中一个结点,再重新插入上去,一定能得到原来的二叉排序树。

()12、快速排序是排序算法中最快的一种。

()13、多维数组是向量的推广。

()14、一般树和二叉树的结点数目都可以为0。

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

()16、98、对一个堆按层次遍历,不一定能得到一个有序序列。

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

()18、折半搜索只适用与有序表,包括有序的顺序表和有序的链表。

()19、堆栈在数据中的存储原则是先进先出。

()20、队列在数据中的存储原则是后进先出。

()21、用相邻矩阵表示图所用的存储空间大小与图的边数成正比。

()22、哈夫曼树一定是满二叉树。

()23、程序是用计算机语言表述的算法。

()24、线性表的顺序存储结构是通过数据元素的存储地址直接反映数据元素的逻辑关系。

()25、用一组地址连续的存储单元存放的元素一定构成线性表。

()26、堆栈、队列和数组的逻辑结构都是线性表结构。

()27、给定一组权值,可以唯一构造出一棵哈夫曼树。

()28、只有在初始数据为逆序时,冒泡排序所执行的比较次数最多。

()29、希尔排序在较率上较直接接入排序有较大的改进。

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

2011级数据结构期中考试
一、选择题(每题2分,共30分)
1.线性表是具有n个的有限序列。

A.表元素
B.字符
C.数据元素
D.数据项
E.信息项
2.若长度为n的线性表采用顺序存储结构,在其第i个位置插入一个新元素算法的时间复
杂度是。

A.O(n)
B.O(1)
C.O(n)
D.O(n2)
3.已知p结点不是链表的尾结点,则将s所指的结点加到p所指结点之后,其语句应为
A.s->next=p+1;p->next=s;
B.(*b).next=s; (*s).next=(*p).next;
C.s->next=p->next; p->next=s->next;
D.s->next=p->next; p->next=s;
4.在双向循环链表中,在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;
5.在一个长度为n的顺序表中,在第i个元素(1<=i<=n+1)之前插入一个新元素时须向
后移动个元素。

A.n-i
B.n-i+1
C.n-i-1
D.i
6.若给定有n个元素的向量,则建立一个有序单向链表的时间复杂性的量级是
A.O(1)
B.O(n)
C.(n2)
D.O(nlog2n)
7.以下说法正确的是
A.顺序存储方式的优点是存储密度大且插入删除运算效率高
B.链表的每个结点中都恰好包含一个指针
C.线性表的顺序存储结构优于链式存储结构
D.顺序存储结构属于静态结构而链式结构属于属于动态结构
8.以下说法错误的是
A.求表长、定位这两种运算在采用顺序存储结构时实现的效率不比采用链式存储结构时
实现的效率低
B.顺序存储的线性表可以随机存取
C.由于顺序存储要求连续的存储区域,所以在存储管理上不够灵活
D.线性表的链式存储结构优于顺序存储结构
9.若用单链表来表示队列,则应该选用
A.带尾指针的非循环链表
B.带尾指针的循环链表
C.带头指针的非循环链表
D.带头指针的循环链表
10.设栈的输入序列为1、2、3、…、n,输出序列为a1、a2、…、a n,若存在1<=k<=n使
得a k=n,则当k<=i<=n时,a i为
A.n-i+1
B.n-(i-k)
C.不确定
11.设栈的输入序列是(1,2,3,4),则不可能是其出栈序列。

A.1243
B.2134
C.1432
D.4312
E.3214
12.一般情况下,将递归算法转换成等价的非递归算法应该设置
A.堆栈
B.队列
C.堆栈或队列
D.数组
13.如图2.10所示的循环队列中元素数目是,其中tail=32指向队尾元素,
head=15指向队头元素的前一个空位置,队列空间m=60。

A.42
B.16
C.17
D.41
14.假定一个循环队列存储于数组A[n]中,其队首和队尾指针分别用front和rear表示,则
判断队列满的条件是
A.(rear-1)%n==front
B.(rear+1)%n==front
C.rear==(front-1)%n
D.rear==(front+1)%n
15.若串S=’software’,其子串的数目是
A.8
B.37
C.36
D.9
二、填空题(每空一分,共10分)
1.在单链表中设置头结点的作用是
2.对于双向链表,在两个结点之间插入一个新结点时需要修改的指针共有个,
而对于单链表,为个。

3.单链表表示法的基本思想是用表示结点间的逻辑关系。

4.用S表示入栈操作,X表示出栈操作,若元素入栈顺序为1234,为了得到1342出栈顺
序,相应的S和X操作串为
5.用下标0开始的N元数组实现循环队列时,为实现下标变量m加1后在数组有效下标
范围内循环,可以采用的表达式是m= 。

6.用数组Q(其下标在0..n-1中,共有n个元素)表示一个环形队列,f为当前队头元素
的前一位置,r为队尾元素的位置。

假定队列元素个数总小于n,求队列中元素个数的公式是
7.队列是特殊的线性表,其特殊性表现在
8.一个字符串中称为该串的子串。

9.空串与空格串的区别在于:
三、写算法(40分)
已知一个带有附加头结点L的单链表,链表中的数据元素非严格递增有序排列,现在需要从单链表L中查找是否存在给定的一个数据元素x,如果存在该元素,请返回该元素的位序。

如果不存在该元素,请将该元素插入到有序表的相应位置。

请写出以上算法。

四、写算法(20分)
顺序结构的循环队列Q具有两个指针,分别是队头指针Q.front和队尾指针Q.rear,其中队头指针指向队列中的首元素,队尾指针指向队列中的最后一个元素的下一个位置。

队列用牺牲一个元素空间的方式来指示队列是满还是空的状态。

现在从队列中删除一个数据元素,用e带回该元素的值。

请写出算法来实现。

相关文档
最新文档