数据结构练习题

合集下载

数据结构练习题

数据结构练习题

. . . . .一、单选题第1章绪论1、在数据结构中,从逻辑上可以把数据结构分成A、动态结构和静态结构C、线性结构和非线性结构2、算法分析的两个主要方面是A、空间复杂性和时间复杂性C、可读性和文档性3、数据的不可分割的最小单位是B、紧凑结构和非紧凑结构D、内部结构和外部结构B、正确性和简明性D、数据复杂性和程序复杂性A、结点B、数据元素C、数据项D、数据对象4、在任何问题中,数据元素都不是孤立存在的,而是在它们之间存在着某种关系,这种数据元素相互之间的关系称为A、规则B、集合C、结构D、运算5、与程序运行时间有关的因素主要有以下四方面,其中与算法关系密切的是A、问题的规模C、机器执行速度二、判断题1、数据结构是带有结构的数据元素的集合。

2、程序越短,运行的时间就越少。

3、处理同一问题的算法是唯一的。

B、机器代码质量的优劣D、语句的执行次数4、一个完整算法可以没有输入,但必须有输出。

三、填空题1、______________是数据的基本单位,在计算机程序中通常作为一个整体进行考虑和处理。

2、______________结构的数据元素之间存在一对多的关系。

3、数据结构的形式化定义为(D,S),其中D 是______________的有限集,S 是 D 上关系的有限集。

4、数据结构在计算机中的______________称为存储结构。

5、数据元素之间的关系在计算机中有两种不同的表示方法:顺序映象和非顺序映象,由此- 1 -得到两种不同的存储结构是______________存储结构和______________存储结构。

6、一个算法具有五个特性:______________、______________、______________、有零个或多个输入、有一个或多个输出。

7、评价一个算法的好坏应该从算法的正确性、可读性、___________和_________________等几方面进行。

四、解答题1、设n 为正整数。

数据结构练习(附答案)

数据结构练习(附答案)

习题一绪论.1.1 单项选择题1. 数据结构是一门研究非数值计算的程序设计问题中计算机的① A 以及它们之间的② B 和运算等的学科。

①A.操作对象B.计算方法C.逻辑存储D.数据映象②A.结构B.关系C.运算D.算法2. 数据结构被形式地定义为(K,R),其中K是① B 的有限集合,R是K上的②D 有限集合。

①A.算法B.数据元素C.数据操作D.逻辑结构②A.操作B.映象C.存储D.关系3. 在数据结构中,从逻辑上可以把数据结构分成 C 。

A.动态结构和静态结构B.紧凑结构和非紧凑结构C.线性结构和非线性结构D.内部结构和外部结构4. 线性表的顺序存储结构是一种① A 的存储结构,线性表的链式存储结构是一种② B 的存储结构。

A.随机存取B.顺序存取C.索引存取D.散列存取5. 算法分析的目的是① C ,算法分析的两个主要方面是② A B 。

① A. 找出数据结构的合理性 B. 研究算法中的输入和输出的关系C. 分析算法的效率以求改进D. 分析算法的易懂性和文档性② A. 空间复杂性和时间复杂性 B. 正确性和简明性C. 可读性和文档性D. 数据复杂性和程序复杂性6. 计算机算法指的是① C ,它必具备输入、输出和② B 等五个特性。

①A. 计算方法 B. 排序方法C. 解决问题的有限运算序列D. 调度方法②A. 可行性、可移植性和可扩充性 B. 可行性、确定性和有穷性C. 确定性、有穷性和稳定性D. 易读性、稳定性和安全性7. 线性表的逻辑顺序与存储顺序总是一致的,这种说法 B 。

A. 正确B. 不正确8. 线性表若采用链式存储结构时,要求内存中可用存储单元的地址 D 。

A. 必须是连续的B. 部分地址必须是连续的C. 一定是不连续的D. 连续或不连续都可以9. 在以下的叙述中,正确的是 B 。

A.线性表的线性存储结构优于链表存储结构B.二维数组是其数据元素为线性表的线性表C.栈的操作方式是先进先出D.队列的操作方式和先进后出10. 每种数据结构都具备三个基本运算:插入、删除和查找,这种说法 B 。

数据结构 练习题

数据结构 练习题
A)10 B)110 C)1110 D)1111
6. 已知一棵二叉树的先序遍历序列为EFHIGJK,中序遍历序列为HFIEJGK,则该二叉树根的右子树的根是
A)E B)F C)G D)J
7. 设结点A有左孩子结点B,右孩子结点C,则在先序遍历、中序遍历、后序遍历这三种基本遍历序列中B一定是C的
图6-2 例6.3附图
6 自测习题
1. 简答题
1. *根据权值(1,2,3,4,5,6),构造哈夫曼树,并计算二叉树的带权路径长度。
2. 请
将下图6-1所示的森林转换成二叉树。
图6-1 简答题2的附图森林
3. *已知一棵二叉树的中序遍历序列为DHBEAIFCGJK,该二叉树的后序遍历序列是HDEBIFJKGCA,现请画出这棵二叉树。
第1章 概述
一、简答题
1.简述以下术语的含义并说明它们之间的关系。
数据类型、数据结构、逻辑结构、存储结构
2.简述算法时间效率和空间效率的概念。
3.简述数据结构课程的目的和意义。
二、选择题
1.以下数据结构中,逻辑结构属于线性结构的是
A)有向图 B)链式栈 C)二叉树 D)二叉排序树
四、算法及分析
1.写出交换两个整型变量值的算法,并分析算法的时间复杂度。
2.写出求n的阶乘 的算法,并分析算法的时间复杂度。
第2章 线性表
一、简答题
1.在处理某个问题时,需要存储的数据总量不能确定,并经常需要进行数据的添加和删除操作,此时应选用哪种存储结构?为什么?
3.设有结点定义
struct node
{ int data;
struct node *next;

数据结构试题集(包含答案-完整版)

数据结构试题集(包含答案-完整版)

数据结构试题集(包含答案-完整版)数据结构试题集(包含答案-完整版)1. 单选题1) 数据结构是一种()。

a) 存储结构b) 算法c) 数据模型d) 网络答案:c) 数据模型解析:数据结构是一种用于组织和存储数据的方式,描述了数据之间的关系以及对数据的操作。

2) 以下哪种数据结构可以通过索引直接访问元素?a) 链表b) 队列c) 栈d) 数组答案:d) 数组解析:数组是一种线性数据结构,可以通过索引直接访问指定位置的元素。

2. 多选题1) 哪些数据结构属于非线性结构?()a) 队列b) 树c) 栈d) 图答案:b) 树d) 图解析:线性结构中的元素存在一对一的关系,非线性结构中的元素存在一对多或多对多的关系,树和图属于非线性结构。

2) 下列哪些操作可以在栈上进行?()a) 入栈b) 出栈c) 查找d) 删除答案:a) 入栈b) 出栈解析:栈是一种后进先出(LIFO)的数据结构,只能在栈顶进行插入和删除操作。

3. 简答题1) 请简要介绍线性表和非线性表。

答案:线性表是数据元素的一个有限序列,元素之间存在一对一的关系。

非线性表是指元素之间存在一对多或多对多的关系,如树和图。

2) 请解释什么是时间复杂度和空间复杂度。

答案:时间复杂度是衡量算法执行效率的度量,表示算法的运行时间随输入规模增长的速度。

空间复杂度是指算法执行过程中所需的存储空间随输入规模增长的速度。

4. 编程题题目:实现一个栈,包含push、pop和getMin三个操作,要求时间复杂度为O(1)。

答案:class MinStack:def __init__(self):self.stack = []self.min_stack = []def push(self, x):self.stack.append(x)if not self.min_stack or x <= self.min_stack[-1]:self.min_stack.append(x)def pop(self):if self.stack.pop() == self.min_stack[-1]:self.min_stack.pop()def getMin(self):return self.min_stack[-1]解析:在栈的基础上,使用一个辅助栈min_stack来记录当前栈中的最小值。

数据结构(含答案)

数据结构(含答案)

数据结构综合练习一、选择题1.数据的存储结构包括顺序、链接、散列和()4种基本类型。

A索引B数组C集合D向量2.下面程序的时间复杂性的量级为()。

int i=0,s1=0,s2=0;while(i++<n){if (i%2)s1+=i;…else s2+=i;}(1) (1bn) (n)(2n)3.下面程序段的时间复杂度为()。

for(int i=0;i<m;i++)for(int j=0;j<n;j++)a[i][j]=i*j;(m2) (n2) (m+n) (m*n)4.在一个长度为n的顺序存储结构的线性表中,向第i个元素(1≤i≤n+1)位置插入一个元素时,需要从后向前依次后移()个元素。

+l<5.在一个长度为n的顺序存储结构的线性表中,删除第i个元素(1≤i≤n+1)时,需要从前向后依次后移()个元素。

+l6.在一个长度为n的线性表中,删除值为x的元素时需要比较元素和移动元素的总次数为()。

A.(n+1)/2 2 +17.在一个顺序表中的任何位置插入一个元素的时间复杂度为()。

A. O(n)B. O(n/2)C. O(1)D. O(n2)8. 线性表的链式存储比顺序存储更有利于进行()操作。

A.查找B.表尾插入和删除C.按值插入和删除D.表头的插入和删除…9. 线性表的顺序存储比链式存储更有利于进行()操作。

A.查找B.表尾插入和删除C.按值插入和删除D.表头的插入和删除10. 在一个表头指针为ph的单链表中,若要向表头插入一个由指针p指向的结点,则应执行()操作。

A. ph=p; p->next=ph;B. p->next=ph; ph=p;C. p->next=ph; p=ph;D. p->next=ph->next; ph->next=p;11. 在一个表头指针为ph的单链表中,若要在指针q所指结点的后面插入一个由指针p所指向的结点,则执行()操作。

数据结构练习附答案

数据结构练习附答案

一、单项选择题1.逻辑关系是指数据元素间的()A.类型 B.存储方式 C.结构 D.数据项2.对于只在表的首、尾两端进行插入操作的线性表,宜采用的存储结构为( )A.顺序表 B.用头指针表示的单循环链表C. 用尾指针表示的单循环链表D. 单链表3.设数组data[m]作为循环队列SQ的存储空间,front为队头指针,rear为队尾指针,则执行出队操作后其头指针front值为()A.front=front+1 B.front= (front+1)%(m-1)C.front=(front-1)%m D.front=(fro nt+1)%m4.在具有n个单元的顺序存储的循环队列中,假定front和rear分别为队头指针和队尾指针,则判断队满的条件为( )。

A.rear%n==front B.(front+l)%n==rearC.rear%n-1==front D.(rear+l)%n==front5.在具有n个单元的顺序存储的循环队列中,假定front和rear分别为队头指针和队尾指针,则判断队空的条件为( )。

A.rear%n==front B.front+l=rearC.rear==front D.(rear+l)%n=front6.已知一颗二叉树上有92个叶子结点,则它有____个度为2的结点。

( )A. 90B. 91C. 92D. 937.在一棵非空二叉树的中序遍历序列中,根结点的右边_____。

A. 只有右子树上的所有结点B. 只有右子树上的部分结点C. 只有左子树上的所有结点D. 只有左子树上的部分结点8.有n条边的无向图的邻接表存储法中,链表中结点的个数是( )个。

A. nB. 2nC. n/2D. n*n9.判断有向图是否存在回路,除了可利用拓扑排序方法外,还可以利用()。

A. 求关键路径的方法B.求最短路径的方法C. 深度优先遍历算法D.广度优先遍历算法10.对线性表进行二分查找时,要求线性表必须( )。

数据结构练习题

数据结构练习题数据结构练习题第⼀章绪论⼀.选择题1、在数据结构的讨论中把数据结构从逻辑上分为()。

A.内部结构与外部结构B.静态结构与动态结构C.线性结构与⾮线性结构D.紧凑结构与⾮紧凑结构2、采⽤线性链表表⽰⼀个向量时,要求占⽤的存储空间地址()。

A: 必须是连续的 B 部分地址必须是连续的C: ⼀定是不连续的C: 可连续可不连续3、采⽤顺序搜索⽅法查找长度为n的顺序表时,搜索成功的平均搜索长度为()。

A: n B: n/2 C: (n-1)/2 D: (n+1)/24、在⼀个单链表中,若q结点是p结点的前驱结点,若在q与p之间插⼊结点s,则执⾏()。

A: s→link = p→link;p→link = s; B: p→link = s; s→link = q;C: p→link = s→link;s→link = p;D: q→link= s;s→link= p;5.从⼀个⼆维数组b[m][n]中找出最⼤值元素的时间复杂度为A. mB. nC. m+nD. mn6.在以下时间复杂度的数量级中,数量级最⼤的是log B. 2n C. n2 D. !nA. n27.若需要利⽤形参直接访问实参,则应把形参变量说明为________参数A、指针B、引⽤C、值8.下⾯程序段的时间复杂度为____________。

for(int i=0; ifor(int j=0; ja[i][j]=i*j;A、 O(m2)B、 O(n2)9.执⾏下⾯程序段时,执⾏S语句的次数为____________。

for(int i=1; i<=n; i++)for(int j=1; j<=i; j++)S;A、 n2B、 n2/2C、 n(n+1)D、 n(n+1)/2⼆.填空题1.通常,评价⼀个算法有正确性、健壮性、_________、时间复杂度、空间复杂度五个⽅⾯。

2.在数据结构中,数据的逻辑结构有线性结构、图结构、________________、_______________四种,物理实现上有顺序结构、索引结构、___________、_____________四种。

数据结构练习题


后, rear 的值为 , front 的值 为 ,当前队列的 长 度 为 。 14.设循环队列的容量为 40(序号从 0 到 39), 现经过一系列的入队和出队运算后, 有: ① front=11,rear=19; ② front=19,rear=11; 问在这两种情况下,循环队列中各有元素多少个? 15.写出下列程序段的输出结果(队列中的元素类型 QElem Type 为 char)。 void main( ){ Queue Q; Init Queue (Q); Char x=’e’; y=’c’; EnQueue (Q,’h’); EnQueue (Q,’r’); EnQueue (Q, y); DeQueue (Q,x); EnQueue (Q,x); DeQueue (Q,x); EnQueue (Q,’a’); while(!QueueEmpty(Q)){ DeQueue (Q,y); printf(y); }; printf(x); } 16.简述以下算法的功能(栈和队列的元素类型均为 int) void algo3(Queue &Q){ Stack S; int d; InitStack(S); while(!QueueEmpty(Q)){ DeQueue (Q,d); Push(S,d); }; while(!StackEmpty(S)){ Pop(S,d); EnQueue (Q,d); } }
第一章 绪论
1.数据结构是研究数据的( )以及它们之间的相互关系。 A.物理结构,逻辑结构 B.理想结构,抽象结构 C.理想结构,物理结构 D.抽象结构,逻辑结构 2.从逻辑上可以把数据结构分为( )两大类。 A.动态结构、静态结构 B.顺序结构、链式结构 C.线性结构、非线性结构 D.初等结构、构造型结构 3.以下不属于算法要素的是( ) A. 有穷性 B. 可行性 C. 可读性 D. 输入 4.算法的时间复杂度与( )有关。 A.问题规模 B.计算机硬件性能 C.编译程序质 D.程序设计语言 2 5.某算法的时间复杂度为 O(n ),表明该算法的( ) 2 A.问题规模是 n B.执行时间等于 n2 C.执行时间与 n2 成正比 D.问题规模与 n2 成正比 6.假设某算法语句总的执行次数为 T(n)=2n³ +n² ,那么该算法的时间复杂性量级为 ( ) A.O(2) B.O(n³ ) C.O(n² ) D.O(1) 7.设 n 为正整数,下面程序段中标号为①的语句频度为 。 int i = 1; k = 0; while ( i <= n-1 ){ k += 10*i; ① i++; } 8.程序段 for( i=0; i<n; i++ ) for( j=0; j<i; j++ ) k++; 中,语句 k++的执行次数为 。 9.在下面的程序段中,对 x 的赋值语句的渐进时间复杂度为 。 for(k=1;k<=n;k++) for(j=1;j<=n;j++) x=x+1; 10.下面程序段的时间复杂度为 。 void fun(int n) { int y=1; while (y <=n) y=2*y; }

数据结构习题及答案

习题一1. 简述下列术语:数据、数据元素、数据对象、数据结构、逻辑结构、存储结构、基本运算、运算实现和数据类型。

2. 设有数据结构(D, R),其中D={d1,d2,d3,d4},R={r},r={ (d1, d2 ) , (d2, d3 ) , (d3, d4 ) }. 试按图论中图的画法惯例画出其逻辑结构图。

3. 函数f(M,n)按下式定义(m,n为≥0的整数):f (m,n)=﹛m+n+1 当m*n=0时f(m-1,(m,n-1))当 m*n≠0 时(1)试写出计算该函数的递归过程;(2)写出递归过程转换成非递归过程的转换规则。

4. 把数组 A[1…n]按递减顺序排序,并分析其最坏情况时间复杂性量级。

5. 为了用计算机实现学生档案管理, 需要经过哪些主要步骤?每个步骤的主要工作是什么?试用本章讲到的从“具体到抽象”、再“从抽象到具体”的观点加以分析。

6. 试设定若干n值,比较两函数n2和50nlog2n的增长趋势,并确定n在什么范围内,函数n2值大于50nlog2n 的值。

习题二1.设线性表存于a(1:n)的前elenum个分量中,且递增有序。

试写一算法,将X 插入到线性表的适当位置上,以保持线性表的有序性。

2.写一个逆置线性表的算法。

即由A[1:n]产生B[1:n],使得B[1]=A[n],B[2]=A[n-1] , … B[n]=A[1]。

要求用最少的附加空间。

3.设有编号为 1,2,3,4 的四辆列车,顺序进入一个栈式结构的站台,试写出这四辆列车开出车站的所有可能顺序。

4. 设有六辆火车编号为1,2,3,4,5,6 利用栈,将它们重新编成3,2,5,6,4,1的顺序。

请写出操作序列,设X 表示将一列火车从栈中开出;S 表示将一列火车从输入端开入栈中。

5.假设栈中每个数据项占K 个空间位置,试改写入栈和出栈的算法。

6. 假设有两个栈如图所示共享空间 [1..m]。

试写一个对任一栈作入栈 push(s,x ,i )和出栈pop (s,i )。

数据结构考试题及答案

数据结构考试题及答案一、选择题1. 下列哪种数据结构是一种线性结构?A. 树B. 栈C. 图D. 队列答案:B. 栈2. 以下哪种不是二叉树的遍历方式?A. 先序遍历B. 层序遍历C. 后序遍历D. 中序遍历答案:B. 层序遍历3. 在队列中,哪种操作不是O(1)时间复杂度的?A. 入队B. 出队C. 判空D. 获取队首元素答案:D. 获取队首元素二、填空题4. 二叉查找树的中序遍历结果为_______。

答案:升序排列的序列5. 栈的特点是_______进,_______出。

答案:后进,先出6. 图中两点间存在边则称它们为_______。

答案:邻接点三、简答题7. 请简要介绍一下栈和队列的应用场景及区别。

答:栈和队列都是常用的数据结构,栈适合用于实现括号匹配、表达式求值等场景,而队列常用于实现广度优先搜索、缓存队列等。

栈是一种后进先出的数据结构,而队列是一种先进先出的数据结构。

8. 什么是哈希表?它的优缺点分别是什么?答:哈希表是一种通过哈希函数将关键字映射到数组位置的数据结构。

其优点是能够快速查找、插入、删除元素,时间复杂度接近O(1);缺点是可能发生哈希冲突,导致性能下降。

四、综合题9. 给定以下无向图的邻接矩阵表示,请写出图的深度优先搜索(DFS)遍历路径。

```0 1 2 30 0 1 0 11 1 0 1 12 0 1 0 13 1 1 1 0```答:起始节点为0,路径:0 - 1 - 3 - 210. 写出以下树的层序遍历结果。

```1/ \2 3/ \ / \4 5 6 7```答:1 - 2 - 3 - 4 - 5 - 6 - 7以上就是数据结构考试题及答案,希望对您有所帮助。

如果有不清楚的地方,欢迎随时向老师询问。

祝您考试顺利!。

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

第一章单项选择1.算法指的是(A)。

A..对特定问题求解步骤的一种描述,是指令的有限序列。

B. 解决问题的计算方法C.计算机程序D. 数据处理2.下面(B))不是算法所必须具备的特性。

A.可行性B. 高效性C. 确定性D. 有穷性3.算法分析的两个主要方面是(C)A.数据复杂性和程序复杂性B. 可读性和文档性C. 空间性能和时间性能D. 正确性和简明性4..链式存储结构(非顺序存储映象):借助(D )表示数据元素之间的逻辑关系。

A存储空间的大小B, 元素在存储器中的相对位置C.元素值的大小D. 指示元素存储地址的指针5.当一个算法的空间复杂性与问题的规模n成正比时,则表示为( B )。

A.O(1)B.O(n)C. O(n*n)D. On6.解决具体问题的步骤有:具体问题、算法、数学模型、程序。

分析问题正确的顺序为(B)。

A.具体问题、分析问题、算法、数学模型、程序B. 具体问题、分析问题、数学模型、算法、程序C.具体问题、分析问题、数学模型、程序、算法D.数学模型、具体问题、分析问题、算法、程序7..顺序存储结构(顺序映象):借助元素在存储器中的( B )来表示数据元素之间的逻辑关系。

A.地址B. 位置C. 容量D.. 速度8..当一个算法的时间复杂性与问题的规模n大小无关时,则表示为(B)。

A.1B.O(1)C.O(n)D.O(0)9.链接存储结构中的数据元素之间的逻辑关系是由(C)表示的。

A.线性结构B. 存储位置C. 指针D. 非线性结构10..假设有如下遗产继承规则:丈夫和妻子可以相互继承遗产;子女可以继承父亲或母亲的遗产;子女间不能相互继承。

则表示该遗产继承关系的最合适的数据结构应该是(D )。

A.树B. 集合C. 线性表D. 图11.以基本操作重复执行的次数作为算法的时间量度,则下列C程序段的时间复杂度为( C )。

for ( j = 1 ;j<=n ; ++j )for ( i = j ;i<=n ; ++i ){++x ; s+ = x ;}A. O(n*n/2)B. O(n*n)/2C. O(n*n)D.O(n(n+1)/2)12.数据结构是一门研究(B )的程序设计问题中计算机的操作对象以及它们之间的关系和操作等的学科。

A,数值计算 B. 非数值计算 C. 时间复杂度和空间复杂度 D. 数据关系13.算法的空间复杂度是指算法执行时( D )的增长率与问题规模n之间的关系。

A.程序代码占用的存储空间B. 问题本身占用存储空间C. 程序代码和问题本身占用的存储空间D.所需的辅助存储空间14..假定待处理的数据量用n表示,算法A中基本操作的语句频度f(n)=(n*n+n+5)/2;则算法A的时间复杂度T(n)为( D )A. O((n*n+n+5))B. O((n*n+n+5)/2)C. O((n*n+n))D. O(n*n)15.顺序存储结构中数据元素之间的逻辑关系是由(C )表示的。

A.非线性结构B. 指针C存储位置. D. 线性结构16..算法分析的目的是(D )。

A.找出数据结构的合理性B. 找出数据结构的合理性B. C. 研究算法中输入和输出的关系D. 分析算法的性能以求改进判断题17.算法的时间复杂度都要通过算法中的基本语句的执行次数来确定。

(:错误)18..每种数据结构都具备三个基本操作:插入、删除和查找。

(错误)19..基于某种逻辑结构之上的基本操作,其实现是唯一的。

(错误)20.逻辑结构与数据元素本身的内容和形式无关。

(正确)线性表:顺序存储结构单项选择1.从逻辑上可以把数据结构分为(A )两大类。

A. 线性结构与非线性结构B. 动态结构与静态结构C. 初等结构与构造型结构D. 顺序结构与链式结构2.下面关于线性表的叙述错误的是(C )。

A.线性表采用顺序存储,必须占用一片地址连续的单元B. 线性表采用链式存储,不必占用一片地址连续的单元C. 线性表采用顺序存储,便于进行插入和删除操作D. 线性表采用链式存储,便于进行插入和删除操作3.对顺序存储的线性表,设其长度为n,在任何位置上插入或删除操作都是等概念的,插入一个元素时平均要移动表中的( C)个元素。

A. (n-1)/2B. nC. n/2D. n+1)/24.顺序表----插入操作算法的基本操作是(B )。

A.数据交换B. 数据移动C数据相加 D. 数据比较5..在《数据结构》中,ElemType是(D )A链表的结点类型名 B. 用变量名 C. 数组元素D. 数据元素类型名6.顺序表的基本操作DestroyList用于销毁一个顺序表。

算法描述如下:Status DestroyList(______C______){free(L.elem);L.elem=NULL;L.length=0;L.listsize=0;return(OK);}请选择正确的选项填在空中。

A.SqList LB. SqList *LC. SqList &LD. char *L7.下面()不是算法所必须具备的特性。

A .可行性B确定性. C. 确定性D高效性8..删除顺序表L中从第i 个元素起的k 个元素的算法,请选择正确的选项作为其参数表。

Status DeleteBlock(_________________C__________);A.SqList L,int i,int kB. SqList L,int &i,int kC. SqList &L,int i,int k D SqListL,int i,int &k9..顺序表的基本操作ListLength用于求顺序表的长度。

算法描述如下:int ListLength(SqList L){ ____B__________________________;}请选择正确的选项填在空中。

A.return(L.size ) B return(L.length) C return(L.elem) D. return(length)10.线性表是( A )。

A 一个有限序列,可以为空B一个无限序列,不能为空C一个有限序列,不能为空D一个无限序列,可以为空11.在发生非法操作时,算法能够作出适当处理的特性称为(C)。

A.可移植性B. 可读性C.健壮性D. 正确性12.顺序表的基本操作ClearList用于将一个顺序表置为空表。

算法描述如下:Status ClearList(SqList &L){_(_______D__)return(OK);}请选择正确的选项填在空中。

A.L.size=0;B. for(i=0;i<L.length;i++)L.elem[i]=0;C. L.elem=0; D L.length=0;判断题13.线性表的逻辑顺序与存储顺序总是一致的。

False14.线性表的特点是每个元素都有一个前驱和一个后继。

True15.数据的逻辑结构说明数据元素之间的次序关系,它依赖于数据的存储结构。

:false16.顺序存储方式的优点是存储密度大,且插入、删除运算效率高。

答案: :false17..在线性表的顺序存储结构中,插入和删除时移动元素的个数与该元素的位置有关。

参考答案:正确18.线性表中的元素可以是各种各样的,但同一线性表中的数据元素具有相同的特性,因此属于同一数据对象。

参考答案:正确19..顺序存储的线性表可以按序号随机存取。

参考答案:正确20..在线性表的顺序存储结构中,逻辑上相邻的两个元素在物理位置上并不一定相邻。

false线性表:链式存储结构单项选择1.用链表表示线性表的优点是(C)。

A便于随机存取 B. 数据元素的物理顺序与逻辑顺序相同C便于插入和删除D花费的存储空间较顺序存储少2.下面关于线性表的叙述错误的是( C )A.线性表采用链式存储便于进行插入和删除操作B. 线性表采用链式存储,不必占用一片地址连续的单元C. 线性表采用顺序存储便于进行插入和删除操作D线性表采用顺序存储,必须占用一片地址连续的单元3..单链表中,增加一个头结点的目的是为了( C )A. 说明单链表是线性表的链式存储.B. 标识表结点中首结点的位置C. 使单链表至少有一个结点D. 方便运算的实现4.若某线性表中最常用的操作是在最后一个元素之后插入一个元素和删除第一个元素,则采用( D )存储方式最节省运算时间。

A.单链表B. 双向链表C 仅有头指针的单循环链表 D. 仅有尾指针的单循环链表5.构造一个带头结点的空链表, 算法描述:Status InitList_L(LinkList &L){L=( Lnode * ) malloc ( _____D____ );if (L==NULL) exit (OVERFLOW);L -> next=NULL; L -> data=0;return OK; }A .sizeof ( ElemType ) B. 100*sizeof ( Lnode ) C. 100*sizeof ( ElemType ) D . sizeof ( Lnode )6..采用链式存储结构表示数据时,相邻的数据元素的存储地址(B )。

A. 一定不连续B.不一定连续C. 一定连续D. 部分连续,部分不连续7.带头结点的单链表逆置算法如下:void invert(LinkList L){p=L->next ; L->next=NULL;while(p){q=p;p=p->next;(_______________C_____________)}}A.q->next=L; L->next=q;B. L->next=q->next; q->next=L;C. q->next=L->next; L->next=q;D.L->next=q;8.顺序表----插入操作算法的基本操作是( D )。

A.数据相加B. 数据交换C. 数据比较D. 数据移动9.若某线性表中最常用的在操作是取第i个元素和找第i个元素的前驱元素,则采用( D)存储方式最节省运算时间。

A.单循环链表B. 单链表C. 双向链表D. 顺序表10..用数组r存储静态链表,结点的next域指向后继,工作指针j指向链中结点,使j 沿链移动的操作为( B )。

A. j=j->nextB. j=r[j].next C .j=j+1 D. j=r[j]-> next11. .链表不具备的特点试( B )。

A.不必事先预分配存储空间B. 可随机访问任一元素C. 所需空间与线性表长度成正比.D. 插入删除不需要移动元素12.在单链表指针为P的结点之后插入指针为s的结点,正确的操作是( C)。

相关文档
最新文档