数据结构期中考试模试卷
数据结构期中考卷A(others)

一.单项选择题(每小题3分,共24分)1. 数据在计算机存储器内表示时,逻辑上相邻的数据元素在物理上也相邻,数据间的逻辑关系表现在数据元素的存储位置关系上,这种结构称之为( C )。
A.随机存储结构B.逻辑结构C.顺序存储结构 D.链式存储结构2. 算法指的是( C )。
A. 计算方法B. 排序方法C. 解决问题的有限运算序列D. 调度方法3.已知栈的最大容量为4。
若进栈序列为a,b,c,d,e,f,且进栈和出栈可以穿插进行, 则可能出现的出栈序列为(C)A. e,d,b,c,a,fB. b,c,e,f,a,dC. c,b,e,d,a,fD. a,d,f,e,b,c4. .假设带头结点的单向循环链表的头指针为head, 则该链表为空的判定条件是(D)A. head= =NULLB. head–>next= =NULLC. head!=NULLD. head–>next= =head5. 在n个结点的顺序表中,算法的时间复杂度是O(1)的操作是(A )。
A.访问第i个结点(1≤i≤n)和求第i个结点的直接前驱(2≤i≤n)B.在第i个结点后插入一个新结点(1≤i≤n)C.删除第i个结点(1≤i≤n)D.将n个结点从小到大排序6. 下面程序段的时间复杂度为( B )i=1;while (i<n) i=i*2;A. O(n3)B. O(logn)C.O(n)D.O(n2)7. 假设以数组A[m]存放循环队列的元素。
已知队列的长度为length,指针rear指向队尾元素的下一个存储位置,则队头元素所在的存储位置为( B )A.(rear-length+m+1)%mB.(rear-length+m)%mC.(rear-length+m-1)%mD.(rear-length)%m8. 设串s1=’ABCDEFG’,s2=’PQRST’,函数con(x,y)返回x和y串的连接串,subs(s, i, j)返回串s的从序号i开始的j个字符组成的子串,len(s)返回串s的长度,则con(subs(s1, 2, len(s2)), subs(s1, len(s2), 2))的结果串是:DA.BCDEF B.BCDEFG C.BCPQRSTD.BCDEFEF二.填空题(每空2分,共16分)1. 为了避免“假溢出”,顺序队列通常采用结构。
数据结构期中考试试卷

数据结构期中考试试卷一、选择题(每题2分,共20分)1. 在数据结构中,线性结构的特点是什么?A. 元素之间存在一对一关系B. 元素之间存在一对多关系C. 元素之间存在多对多关系D. 元素之间存在一对一或多对多关系2. 以下哪个算法不是排序算法?A. 快速排序B. 归并排序C. 深度优先搜索D. 堆排序3. 在二叉树中,度为2的节点最多有多少个子节点?A. 1B. 2C. 3D. 44. 哈希表解决冲突的方法不包括以下哪一项?A. 分离链接法B. 开放寻址法C. 链地址法D. 树形结构法5. 以下哪个不是图的遍历算法?A. 深度优先搜索B. 广度优先搜索C. 动态规划D. 克鲁斯卡尔算法6. 栈的特点是?A. 后进先出B. 先进后出C. 先进先出D. 后进后出7. 以下哪个不是二叉搜索树的性质?A. 左子树上所有节点的值小于它的根节点的值B. 右子树上所有节点的值大于它的根节点的值C. 左子树和右子树都是二叉搜索树D. 所有节点的值都相等8. 在数据库中,索引的作用是什么?A. 增加数据存储空间B. 提高数据检索效率C. 降低数据插入速度D. 减少数据存储量9. 以下哪个不是图的存储结构?A. 邻接矩阵B. 邻接表C. 树形结构D. 边列表10. 递归算法的基本思想是什么?A. 将问题分解为更小的子问题B. 重复执行相同的操作C. 将问题转化为非递归形式D. 避免使用循环结构二、填空题(每题2分,共20分)1. 在数据结构中,______是一种特殊的线性表,只允许在一端进行插入和删除操作。
2. 排序算法中,______排序的时间复杂度为O(n^2),适用于小规模数据的排序。
3. 在图的表示中,______矩阵可以有效地表示稠密图。
4. 哈希表中,______是指两个关键字通过哈希函数得到同一个哈希地址。
5. 栈和队列的主要区别在于,栈是______,而队列是先进先出。
6. 二叉树的遍历方式包括前序遍历、中序遍历和______遍历。
数据结构试卷(期中考试)

第页/共 页 《数据结构》期中考试试卷一、选择题(每题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.链表不具有的特点是【 】。
数据结构期中考试试题及答案

一、单项选择题(本题总分 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 )。
数据结构期中小考试

数据结构期中小考试1.在数据结构中,数据的基本单位是()A.数据项B.数据元素(正确答案)C.数据对象D.数据文件2.数据结构是()A.一种数据类型B.数据的存储结构C.一组性质相同的数据元素的集合D.相互之间存在一种或多种特定关系的数据元素的集合(正确答案)3.在数据结构的讨论中把数据结构从逻辑上分为()A.内部结构与外部结构B.静态结构与动态结构C.线性结构与非线性结构(正确答案)D.紧凑结构与非紧凑结构。
4.算法指的是()。
A.计算机程序B.解决问题的计算方法C.排序算法D.解决问题的有限运算序列(正确答案)5.算法分析的目的是()A.辨别数据结构的合理性B.评价算法的效率(正确答案)C.研究算法中输入与输出的关系D.鉴别算法的可读性6.某程序的时间复杂度为3n+nlog2n+n^2+8,其数量级表示为()A.O(n)B.O(nlog2n)C.O(n^2)(正确答案)D.O(log2n)7.以下数据结构中哪一个是非线性结构?()A.队列B.栈C.线性表D.二叉树(正确答案)8.设顺序表有9个元素,则在第3个元素前插入一个元素所需移动元素的个数为()A.5B.6C.7(正确答案)D.99.线性表采用链式存储结构时,要求内存中可用存储单元的地址()A.必须是连续的B.必须是部分连续的C.一定是不连续的D.连续和不连续都可以(正确答案)10.线性表是具有相同数据类型的n个()的有限序列A.数据项B.数据元素(正确答案)C.表元素D.字符11.在一个具有n个结点的有序单链表中插入一个新结点并仍然保持有序的时间复杂度是()A.O(1)B.O(n)(正确答案)C.O(n^2)D.O(nlog2n)12.用链接方式存储的队列,在进行插入运算时()A.仅修改头指针B.头、尾指针都要修改C.仅修改尾指针(正确答案)D.头、尾指针可能都要修改13.在长度为n的顺序表中删除第i个元素(1≤i≤n)时,元素移动的次数为()A.n-i+1B.iC.i+1D.n-i(正确答案)14.若带头结点的单链表的头指针为head,则该链表为空的判定条件是()A.head==NULLB.head->next==NULL(正确答案)C.head!=NULLD.head->next==head15.已知栈的最大容量为4。
数据结构期中考试试卷

数据结构期中考试试卷一、选择题(每题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. 树的节点可以有左子节点和右子节点6. 什么是二叉搜索树(BST)?A. 所有左子节点的值小于根节点的值B. 所有右子节点的值大于根节点的值C. 所有左子节点的值大于根节点的值D. A和B都正确7. 图的邻接矩阵表示法适用于哪种类型的图?A. 稠密图B. 稀疏图C. 有向图D. 无向图8. 排序算法的时间复杂度为O(n^2)的算法有哪些?A. 选择排序B. 冒泡排序C. 插入排序D. 所有以上9. 什么是递归?A. 函数调用自身B. 函数调用其他函数C. 循环结构D. 条件语句10. 动态规划主要用于解决什么问题?A. 排序问题B. 查找问题C. 优化问题D. 数据存储问题二、简答题(每题5分,共20分)1. 请简述链表和数组的区别。
2. 解释什么是图的深度优先搜索(DFS)。
3. 什么是二叉堆?请简述其性质。
4. 描述快速排序算法的基本思想。
三、编程题(每题15分,共30分)1. 编写一个函数,实现单链表的反转。
2. 编写一个函数,实现二叉树的前序遍历。
四、算法设计题(每题15分,共30分)1. 设计一个算法,用于在无序数组中找到第k小的元素。
2. 设计一个算法,实现最小生成树的克鲁斯卡尔算法。
五、综合应用题(10分)假设你正在开发一个在线图书管理系统,请设计一个数据结构来存储书籍信息,并实现以下功能:- 添加新书- 删除书籍- 查找特定书籍- 列出所有书籍请提供数据结构的设计思路和相应的伪代码。
数据结构期中试卷 (1)
西北民族大学计算机科学与信息工程学院期中考试数据结构试卷( A 卷)专业: 课程代码:学号: 姓名:一、选择题(在每小题的四个备选答案中,选出一个正确的答Array案,并将其代码填入题干后的括号内。
每小题 2 分,共 40 分)1.从逻辑上可以把数据结构分为( C )。
A.动态结构和静态结构B.紧凑结构和非紧凑结构C.结性结构和非线性结构D.内部结构和外部结构2. 下面程序的时间复杂度为( C )。
For (i=0; i<m; i++)For (j=0; j<n; j++)A[i][j]=i*j;A. O(m2)B. O(n2)C. O(m×n)D.O(m+n)3.带头结点的单链表head为空的判断条件是( B )。
A.head=NULLB.head->next=NULLC.head->next=D.head!=NULL4.若某线性表中最常用的操作是在最后一个元素之后插入一个元素和删除第一个元素,则采用(D)存储方式最节省运算时间。
A.单链表B.仅有头指针的单循环链表C.又链表D.仅有尾指针的单循环链表5.线性表的静态链表存储结构与顺序存储结构优点是(B)。
A.所有的操作算法简单B.便于插入和删除C.便于利用零散的存储器空间D.便于随机存取6.将两个各有n个元素的有序表归并成一个有序表,其最少的比较次数是(A)。
A. nB. 2n-1C. 2nD. n-1数据结构试卷第1页(共6页)7.在双循环链表p所指结点之后插入s所指结点的操作是(D)。
A. p->next=s; s->prior=p; p->next->prior=s; s->prior=p->next;B. p->next=s; p->next->prior=s; s->prior=p; s->next=p->next;C. s->prior=s; 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;8.若长度为n的线性表采用顺序存储结构,在其第i个位置插入一个新元素算法的时间复杂度为(C)。
《数据结构》期中试卷
《数据结构》期中试卷班级姓名学号成绩一、选择题(每个空只有一个正确答案,将其找出来,打上√)[每题1分,共20分]1、数据结构是一门研究非数值计算的程序设计问题中计算机的①以及它们之间的②和运算的学科。
①A.操作对象 B.计算方法 C.逻辑存储 D.数据映象②A.结构 B.关系 C.运算 D.算法2、数据结构被形式地定义为(D,S),其中D是①的有限集,S是D上②的有限集。
①A.算法 B.数据元素 C.数据操作 D.逻辑结构②A.操作 B.映象 C.存储 D.关系3、在数据结构中,从逻辑上可以把数据结构分为①。
A.动态结构和静态结构B.紧凑结构和非紧凑结构C.线性结构和非线性结构D.内部结构和外部结构4、线性表的顺序存储结构是一种①的存储结构,线性表的链式存储结构是一种②的存储结构。
A.随机存取B.顺序存取C.索引存取D.HASH存取5、算法分析的目的是①,算法分析的两个主要方面是②。
①A.找出数据结构的合理性B.研究算法中的输入和输出关系C.分析算法的效率以求改进D.分析算法的易懂性和文档性②A.空间复杂性和时间复杂性B.正确性和简明性C.可读性和文档性D.数据复杂性和程序复杂性6、计算机算法指的是①,它必具备输入、输出和②等五个特性。
①A.计算方法 B.排序方法C.解决某一问题的有限运算序列D.调度方法②A.可执行性、可移植性和可扩充性 B.可执行性、确定性和有穷性C.确定性、有穷性和稳定性D.易读性、稳定性和安全性7、线性表的逻辑顺序与存储顺序总是一致的,这种说法①。
A.正确B.不正确8、线性表若采用链表存储结构时,要求内存中可用存储单元的地址①。
A.必须是连续的B.部分地址必须是连续的C.一定是不连续的D.连续不连续都可以9、在以下的叙述中,正确的是①。
A.线性表的线性存储结构优于链表存储结构B.二维数组是它的每个数据元素为一个线性表的线性表C.栈的操作方式是先进先出D.队列的操作方式是先进后出10、一个栈的入栈序列是a,b,c,d,e,则栈的不可能的输出序列是①。
级数据结构期中试卷(打印)
得分一、选择题(每小题2分,共30分)1.下面程序段的时间复杂度是( )。
for(i=0;i<2*n;i++) for(j=1;j<3*n;j++) A[i][j]=0;A .O(n); B. O(5n); C .O(6n 2); D. O(n 2).2.在存储数据时,通常不仅要存储各数据元素的值,而且要有存储( )。
A .数据的处理方法; B. 数据元素的类型; C .数据元素之间的关系; D. 数据的存储方式.3. 若某线性表最常用的操作是存取任意指定序号的元素和在最后进行插入和删除操作,则利用哪种存储方式最节省时间( )。
A .顺序表; B. 双链表; C .带头结点的双循环链表; D. 单循环链表. 4. 设单链表的长度为n ,则删除第i (1≤i ≤n )个结点的算法的时间复杂度为( )。
A .O(1); B. O(i); C .O(n); D. O(n+i).5. 有n 个结点的线性表采用顺序表作为存储结构,要在第i (1≤i ≤n+1)个位置插入一个新结点时,需要移动的结点个数为( )。
A .i ; B. n-i ; C .i-n ; D. n-i+1.6. 对于一个头指针为head 的带头结点的单链表,判断该表为空的条件是( )。
A .head==NULL ; B. head ->next==NULL ; C .head ->next==head ; D. head!=NULL.7. 在头指针为head 且表长大于1的单循环链表中,指针p 指向表中某个结点,若p->next->next=head ,则( )。
A .p 指向头结点; B. p 指向尾结点;C .*p 的直接后继是头结点; D. *p 的直接后继是尾结点. 8. 执行如下语句后,*(xp+2)的值为 int x[ ]={2,5,6,8},*xp; xp=x;A .2 ; B. 5 ; C .6 ; D. 8.9. 删除双链表中间某个结点,需要修改( )个指针域。
数据结构期中试卷及答案
一、选择题(每小题2分,共30分)1. 数据结构是( D )。
A.一种数据类型 B.数据的存储结构C.一组性质相同的数据元素的集合D.相互之间存在一种或多种特定关系的数据元素的集合2.以下与数据的存储结构无关的术语是( D )。
A.链队列 B. 链表 C. 顺序表 D. 栈3.以下数据结构中,( A )是非线性数据结构A.树 B.字符串 C.队 D.栈4.一个顺序存储线性表的第一个元素的存储地址是90,每个元素的长度是2,则第6个元素的存储地址是(B)。
A.98 B.100 C.102 D.1065.在线性表的下列运算中,不改变数据元素之间结构关系的运算是(D )。
A.插入 B.删除 C.排序 D.查找6.线性表采用链式存储时,其地址(D )。
A.必须是连续的 B.一定是不连续的C.部分地址必须连续 D.连续与否均可以7.线性表是(A )。
A.一个有限序列,可以为空 B.一个有限序列,不可以为空C.一个无限序列,可以为空 D.一个无限序列,不可以为空8.若进栈序列为1,2,3,4,5,6,且进栈和出栈可以穿插进行,则可能出现的出栈序列为( B )。
A.3,2,6,1,4,5 B.3,4,2,1,6,5C.1,2,5,3,4,6 D.5,6,4,2,3,19. 若一个栈的输人序列是1,2,3,…,n,输出序列的第一个元素是n,则第k个输出元素是(C )。
A.k B.n-k-1 C.n-k+1 D.不确定10.对于队列操作数据的原则是( A )。
A. 先进先出B. 后进先出C. 先进后出D. 不分顺序11. 栈和队列的共同点是( C )。
A. 都是先进先出B. 都是先进后出C. 只允许在端点处插入和删除元素D. 没有共同点12.在一个链队列中,假定front和rear分别为头指针和尾指针,删除一个结点的操作是( A )。
A.front=front->next B.rear=rear->nextC.rear->next=front D.front->next=rear13. 空串与空格串( B )。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据结构模拟试卷
一. 单选题(每题1分,共14分)
1.数据结构所讨论的基本数据单位是(B)。
A、数据对象
B、数据元素
C、数据项
D、数据类
2. 在数据结构的讨论中把数据结构从逻辑上分为(C)两大类。
A.内部结构与外部结构
B.静态结构与动态结构
C.线性结构与非线性结构
D.紧凑结构与非紧凑结构。
3.若一个算法的时间复杂度用T(n)表示,其中n的含义是( A )A.问题规模B.指令条数
C.循环层数D.函数数量
4. 算法分析的目的是(C)。
A. 研究算法的输入与输出之间的关系
B. 找出数据结构的合理性
C. 分析算法的效率以求改进算法
D. 分析算法的可读性与可移植性
5、采用线性链表表示一个向量时,要求占用的存储空间地址(D)
A.必须是连续的
B.部分地址必须是连续
C. 一定是不连续的
D. 可连续可不连续
6. 在一个当前长度为n的顺序表中向第j个元素(1<j<=n)之前插入一个新元素时,需向后移动(B)个元素
A、n-j
B、n-j+1
C、n-j-1
D、j
7、带头结点的单链表为空的判定条件可以是:(B)
A、head==NULL
B、head一>next==NULL
C、head一>next= = head
D、head!=NULL
8、设单链表中指针P指向结点A,若要删除A之后的结点(若存在),则需要修改指针的操作为(A)
A、p→next=p→next→next
B、p=p→next
C、p=p→next→next
D、p→next=p
9、若有一个最大长度为size,且设有队首指针front和队尾指针rear的顺序循环队列,试问判断队列满的条件应是下列哪一个语句(D)
A、front==rear
B、front- rear==size
C、front+rear==size;
D、front==(rear+1)%size
10. 设一个栈的入栈序列为1,2,3,4,5,6,则出栈序列不可能的是(B)。
A、3,2,5,6,4,1
B、1,5,4,6,2,3
C、2,4,3,5,1,6
D、4,5,3,6,2,1
11、数据结构从总体上可分为两大类,串的逻辑结构与(D)的逻辑结构不属于同一类。
A线性表B、栈C、队列D、树
12、对一非空广义表,其表尾是指(C)
A、广义表的最后一个元素
B、广义表的最后一个单个元素
C、广义表的最后一个子表元素
D、除第一个元素外的所有其余元素
13. 广义表A=(( ),(a),(b,(c,d)))的长度为(B)
A、2
B、3
C、4
D、5
14. 每种数据结构都具备的三种最基本运算是(A)
A、插入、删除、遍历
B、输入、输出、删除
C、初始化、创建、销毁
D、输入、输出、遍历
二、填空题(每小题2分,共28分)
1、数据结构学科讨论的是__非数值计算_________问题的数学模型及其涉及的基本操作在计算机中的表示与实现。
2、数据的物理结构是数据的逻辑结构在计算机存储器中的映象,它需要解决的主要问题是____数据元素之间的关系如何映象____________。
3、抽象数据类型(ADT)是编程语言提供的用户可自定义的一种数据类型,它主要由______数据_____和______操作_____两大部分组成。
4. 当算法中所有语句的频度之和T(n)与求解问题的规模无关时,那么该算法的时间复杂度为_O(1)__________阶。
5、线性结构反映数据元素间的逻辑关系是___一对一________的,图形结构中的数据元素之间的关系是___多对多________的,而树形结构中数据元素间的关系则是____一对多_______的。
6.以数组A[60]存放顺序循环队列的元素。
假设当前队列有50个元素,且头指针front的值是47,则队列的尾指针rear的值应是_____37______。
6. 在双向循环链表中,设指针p指向待删除的结点,则删除结点p需执行的语
句为_q->next = p->next;
______p->next->prior = q
7. 先进先出队列与优先级队列与队列的不同,主要是在于___入队_______操作的处理。
8. 矩阵中的非0元素与矩阵的规模之比称为稀疏因子δ,如果δ的值不大于________0.05___,则称矩阵为稀疏矩阵。
9. 对于一个n×n的对称矩阵可以只用一个有____n(n+1)/2______个存储单元的一维数组来存储。
10、广义表表达式中()的__最大嵌套层数_________称为广义表的深度。
三.判断题(每小题1分,共8分)
1. 一个完整算法可以没有输入,但必须有输出。
T
2. 线性的数据结构可以顺序存储,也可以链接存储。
而非线性的数据结构只能链接存储。
F
3.线性表的链式存储结构一定优于顺序存储结构。
F
4. 非空线性表中任意一个数据元素都有且仅有一个直接前驱元素。
F
5、双循环链表中,任一结点的前驱指针均为不空。
T
6. 空串就是空格串。
F
7. 两个串相等的充要条件是两个串的长度相等且对应位置的字符相等。
T
8. 栈和队列都是限制数据元素存取点的线性结构。
T
四、算法或程序设计题(共50分)
1. 设计一个算法,计算数列2-4+6-8+10……±m的∑值并返回,该数列存放在一个
整型数组中。
要求时间复杂度为O(1)。
(本题10分)
status fun(a[ ],n) //a为存放数列的数组,n是数组的长度
{
}
2、阅读下面算法,指出其功能并给出其时间复杂度。
(8分)
status fun(LinkList &LA, LinkList &LB)
{
n=LB.Length();
for( i=1; i<=n; i++){
LB.Read(e, i );
if (LA.Search( e )==FALSE )
LA.Add( e );
}
return;
}
Locate操作的功能是查询在表中是否存在指定元素e,若存在返回TRUE,否则返回FALSE。
Add操作的功能是将元素插入在链表尾端。
其时间复杂度为O(n2)或O(n×m)
3、阅读下列算法.填空以完善该算法(8分)
功能:在带有头结点的单链表中读取指定元素e的前驱
starus ReadPrior(e, &x)
{
pp=head;
cp=pp->next;
while(__cp!=NULL&&cp->data!=e______________){
pp=cp;
cp=cp->next;
}
if(__cp==NULL||cp->data!=e_________________ )
return FAIL; //表中无元素e
if(__pp==head_____________)
return FAIL; //元素无前驱
__x=p->data______________; //返回前驱
return OK;
}
4. 设计算法:将一个非单调的有序单链表(带头结点)修改成单调的有序单链表,即删除表中所有值相同的多余元素。
(16分)
void Purge( )
{
pp=head->next;
while(pp!=NULL)
{
cp=pp->next;
while(cp&&cp->data==pp->data)
{
t=cp;
cp=cp->next;
delete t;
pp->next=cp;
}
pp=cp;
}
}。