数据结构与算法习题:选择题、判断题

合集下载

数据结构与算法复习题

数据结构与算法复习题

《数据结构与算法》一、选择题1. 组成数据的基本单位是( )。

(A) 数据项 (B)数据类型 (C)数据元素 (D)数据变量2. 线性表的链接实现有利于( )运算。

(A) 插入 (B)读表元 (C)查找 (D)定位3. 串的逻辑结构与( )的逻辑结构不同。

(A) 线性表 (B)栈 (C)队列 (D)树4. 二叉树第i(i≥1)层最多有( )个结点。

(A) 2i (B)2i (C) 2i-1 (D) 2i-15. 设单链表中指针p指向结点A,若要删除A后结点(若存在),则需要修改指针的操作为( )(A) p->next = p->next->next (B)p=p->next(C)p=p->next->next (D)p->next=p6、栈和队列的共同特点是( )。

(A)只允许在端点处插入和删除元素 (B)都是先进后出(C)都是先进先出 (D)没有共同点7、二叉树的第k层的结点数最多为( ).(A)2k+1 (B)2K+1 (C)2K-1(D) 2k-18、设某棵二叉树的中序遍历序列为ABCD,前序遍历序列为CABD,则后序遍历该二叉树得到序列为()。

(A) BADC (B) BCDA (C) CDAB (D) CBDA9、设某完全无向图中有n个顶点,则该完全无向图中有()条边。

(A) n(n-1)/2 (B) n(n-1) (C) n2 (D) n2-110、下面程序的时间复杂为()for(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(nlog2n) (D) O(n3)11、设某强连通图中有n个顶点,则该强连通图中至少有()条边。

(A) n(n-1) (B) n+1 (C) n (D) n(n+1)12、设某有向图的邻接表中有n个表头结点和m个表结点,则该图中有()条有向边。

数据结构及应用算法教程习题第三章 排序

数据结构及应用算法教程习题第三章  排序

第三章排序一、选择题1.某内排序方法的稳定性是指( D )。

A.该排序算法不允许有相同的关键字记录、B.该排序算法允许有相同的关键字记录C.平均时间为0(n log n)的排序方法 D.以上都不对2.下面给出的四种排序法中( )排序法是不稳定性排序法。

A. 插入B. 冒泡C. 二路归并D. 快速排序3.下列排序算法中,其中( CD )是稳定的。

A. 堆排序,冒泡排序B. 快速排序,堆排序C. 直接选择排序,归并排序D. 归并排序,冒泡排序6.若要求尽可能快地对序列进行稳定的排序,则应选( B )。

A.快速排序 B.归并排序 C.冒泡排序12.排序趟数与序列的原始状态有关的排序方法是( D )排序法。

A.插入 B. 选择 C. 冒泡 D. 快速17.数据序列(8,9,10,4,5,6,20,1,2)只能是下列排序算法中的( C )的两趟排序后的结果。

A.选择排序 B.冒泡排序 C.插入排序18.数据序列(2,1,4,9,8,10,6,20)只能是下列排序算法中的( A )的两趟排序后的结果。

A. 快速排序B. 冒泡排序C. 选择排序D. 插入排序19.对一组数据(84,47,25,15,21)排序,数据的排列次序在排序的过程中的变化为(1) 84 47 25 15 21 (2) 15 47 25 84 21 (3) 15 21 25 8447 (4) 15 21 25 47 84,则采用的排序是 ( A )。

A. 选择B. 冒泡C. 快速D. 插入24.下列序列中,( D )是执行第一趟快速排序后所得的序列。

A. [68,11,18,69] [23,93,73]B. [68,11,69,23] [18,93,73]C. [93,73] [68,11,69,23,18]D. [68,11,69,23,18] [93,73]28.下列排序算法中,在待排序数据已有序时,花费时间反而最多的是( C )排序。

《数据结构与算法》课后习题答案

《数据结构与算法》课后习题答案

2.3 课后习题解答2.3.2 判断题1.线性表的逻辑顺序与存储顺序总是一致的。

〔×〕2.顺序存储的线性表可以按序号随机存取。

〔√〕3.顺序表的插入和删除操作不需要付出很大的时间代价,因为每次操作平均只有近一半的元素需要移动。

〔×〕4.线性表中的元素可以是各种各样的,但同一线性表中的数据元素具有一样的特性,因此属于同一数据对象。

〔√〕5.在线性表的顺序存储构造中,逻辑上相邻的两个元素在物理位置上并不一定相邻。

〔×〕6.在线性表的链式存储构造中,逻辑上相邻的元素在物理位置上不一定相邻。

〔√〕7.线性表的链式存储构造优于顺序存储构造。

〔×〕8.在线性表的顺序存储构造中,插入和删除时移动元素的个数与该元素的位置有关。

〔√〕9.线性表的链式存储构造是用一组任意的存储单元来存储线性表中数据元素的。

〔√〕10.在单链表中,要取得某个元素,只要知道该元素的指针即可,因此,单链表是随机存取的存储构造。

〔×〕11.静态链表既有顺序存储的优点,又有动态链表的优点。

所以它存取表中第i 个元素的时间与i 无关。

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

〔×〕2.3.3 算法设计题1.设线性表存放在向量A[arrsize] 的前 elenum 个分量中,且递增有序。

试写一算法,将x 插入到线性表的适当位置上,以保持线性表的有序性,并且分析算法的时间复杂度。

【提示】直接用题目中所给定的数据构造〔顺序存储的思想是用物理上的相邻表示逻辑上的相邻,不一定将向量和表示线性表长度的变量封装成一个构造体〕,因为是顺序存储,分配的存储空间是固定大小的,所以首先确定是否还有存储空间,假设有,那么根据原线性表中元素的有序性,来确定插入元素的插入位置,后面的元素为它让出位置,〔也可以从高低标端开始一边比拟,一边移位〕然后插入x ,最后修改表示表长的变量。

int insert (datatype A[],int *elenum,datatype x)/* 设 elenum 为表的最大下标*/ {if (*elenum==arrsize-1)return 0;/* 表已满,无法插入*/else {i=*elenum;while (i>=0 && A[i]>x)/* 边找位置边移动*/{A[i+1]=A[i];i--;}/* 插入成功 */A[i+1]=x;(*elenum)++;return 1;}}时间复杂度为O(n) 。

《数据结构与算法》习题与答案

《数据结构与算法》习题与答案

《数据结构与算法》习题与答案(解答仅供参考)一、名词解释:1. 数据结构:数据结构是计算机存储、组织数据的方式,它不仅包括数据的逻辑结构(如线性结构、树形结构、图状结构等),还包括物理结构(如顺序存储、链式存储等)。

它是算法设计与分析的基础,对程序的效率和功能实现有直接影响。

2. 栈:栈是一种特殊的线性表,其操作遵循“后进先出”(Last In First Out, LIFO)原则。

在栈中,允许进行的操作主要有两种:压栈(Push),将元素添加到栈顶;弹栈(Pop),将栈顶元素移除。

3. 队列:队列是一种先进先出(First In First Out, FIFO)的数据结构,允许在其一端插入元素(称为入队),而在另一端删除元素(称为出队)。

常见的实现方式有顺序队列和循环队列。

4. 二叉排序树(又称二叉查找树):二叉排序树是一种二叉树,其每个节点的左子树中的所有节点的值都小于该节点的值,而右子树中的所有节点的值都大于该节点的值。

这种特性使得能在O(log n)的时间复杂度内完成搜索、插入和删除操作。

5. 图:图是一种非线性数据结构,由顶点(Vertex)和边(Edge)组成,用于表示对象之间的多种关系。

根据边是否有方向,可分为有向图和无向图;根据是否存在环路,又可分为有环图和无环图。

二、填空题:1. 在一个长度为n的顺序表中,插入一个新元素平均需要移动______个元素。

答案:(n/2)2. 哈希表利用______函数来确定元素的存储位置,通过解决哈希冲突以达到快速查找的目的。

答案:哈希(Hash)3. ______是最小生成树的一种算法,采用贪心策略,每次都选择当前未加入生成树且连接两个未连通集合的最小权重边。

答案:Prim算法4. 在深度优先搜索(DFS)过程中,使用______数据结构来记录已经被访问过的顶点,防止重复访问。

答案:栈或标记数组5. 快速排序算法在最坏情况下的时间复杂度为______。

数据结构复习题090612

数据结构复习题090612

《数据结构与算法》复习题一、选择题。

1.在数据结构中,从逻辑上可以把数据结构分为:线性结构和非线性结构。

2.数据结构在计算机内存中的表示是指:数据的存储结构。

3.在数据结构中,与所使用的计算机无关的是数据的:逻辑结构。

4.在存储数据时,通常不仅要存储各数据元素的值,而且还要存储:数据元素之间的关系。

5.在决定选取何种存储结构时,普通不考虑:各结点的值如何。

6.以下说法正确的选项是:一些外表上很不相同的数据可以有相同的逻辑结构。

7.算法分析的目的是:分析算法的效率以求改良,算法分析的两个主要方面是空间复杂度和时间复杂度。

11.在以下的表达中,正确的选项是二维数组是其:数据元素为线性表的线性表。

12.通常要求同一逻辑结构中的所有数据元素具有相同的特性,这意味着:不仅数据元素所包含的数据项的个数要相同,而且对应的数据项的类型要一致。

13.链表不具备的特点是:可随机访问任一结点。

14.不带头结点的单链表 head 为空的判定条件是: head == NULL。

15.带头结点的单链表 head 为空的判定条件是: head->next ==NULL。

16.假设某表最常用的操作是在最后一个结点之后插入一个结点或者删除最后一个结点,那末采用:带头结点的双循环链表存储方式最节省运算时间。

17.需要分配较大空间,插入和删除不需要挪移元素的线性表,其存储结构是:静态链表。

18.非空的循环单链表 head 的尾结点〔由 p 所指向〕满足: p->next ==head。

20.如果最常用的操作是取第 i 个结点及其前驱,那末采用:顺序表存储方式最节省时间。

21.在一个具有 n 个结点的有序单链表中插入一个新结点并仍然保持有序的时间复杂度是 O〔n〕。

22.在一个长度为 n〔n>1〕的单链表上,设有头和尾两个指针,执行:删除单链表中的最后一个元素操作与链表的长度有关。

23.与单链表相比,双链表的优点之一是:顺序访问相邻结点更灵便。

数据结构与算法习题及答案

数据结构与算法习题及答案

第1章绪论习题1.简述下列概念:数据、数据元素、数据项、数据对象、数据结构、逻辑结构、存储结构、抽象数据类型。

2.试举一个数据结构的例子,叙述其逻辑结构和存储结构两方面的含义和相互关系。

3.简述逻辑结构的四种基本关系并画出它们的关系图。

4.存储结构由哪两种基本的存储方法实现?5.选择题(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)以下数据结构中,()是非线性数据结构A.树B.字符串C.队D.栈6.试分析下面各程序段的时间复杂度。

(1)x=90; y=100;while(y>0)if(x>100){x=x-10;y--;}else x++;(2)for (i=0; i<n; i++)for (j=0; j<m; j++)a[i][j]=0;(3)s=0;for i=0; i<n; i++)for(j=0; j<n; j++)s+=B[i][j];sum=s;(4)i=1;while(i<=n)i=i*3;(5)x=0;for(i=1; i<n; i++)for (j=1; j<=n-i; j++)x++;(6)x=n; //n>1y=0;while(x≥(y+1)* (y+1))y++;(1)O(1)(2)O(m*n)(3)O(n2)(4)O(log3n)(5)因为x++共执行了n-1+n-2+……+1= n(n-1)/2,所以执行时间为O(n2)(6)O(n)第2章线性表1.选择题(1)一个向量第一个元素的存储地址是100,每个元素的长度为2,则第5个元素的地址是()。

《算法与数据结构》练习一(答案)

《算法与数据结构》练习一(答案)

习题一一、选择题1、数据结构是一门研究非数值计算的程序设计问题中的操作对象以及它们之间的(B)和运算的学科。

A.结构B.关系C.运算D.算法2、在数据结构中,从逻辑上可以把数据结构分成(C)。

A.动态结构和静态结构B.紧凑结构和非紧凑结构C.线性结构和非线性结构D.逻辑结构和存储结构3、线性表的逻辑顺序和存储顺序总是一致的,这种说法(B)。

A.正确B.不正确C.无法确定D.以上答案都不对4、算法分析的目的是(C)。

A.找出算法的合理性B.研究算法的输人与输出关系C.分析算法的有效性以求改进D.分析算法的易懂性二、填空题1、数据是信息的载体,是对客观事物的符号表示,它能够被计算机识别、存储、加工和处理,数据是对能够有效的输人到计算机中并且能够被计算机处理的符号的总称。

例如,数学中所用到的整数和实数,文本编辑所用到的字符串等。

2、数据元素是数据的基本单位,有些情况下也称为元素、结点、顶点、记录等。

3、数据项是数据不可分割的最小单元,是具有独立含义的最小标识单位。

例如构成一个数据元素的字段、域、属性等都可称之为_数据项。

4、简而言之,数据结构是数据之间的相互关系,即数据的组织形式。

5、数据的逻辑结构是指数据之间的逻辑关系。

逻辑结构是从逻辑关系上描述数据,它与具体存储无关,是独立于计算机的。

因此逻辑结构可以看作是从具体问题抽象出来的数学模型。

6、数据的存储结构指数据元素及其关系在计算机存储器内的表示。

存储结构是逻辑结构在计算机里的实现,也称之为映像。

7、数据的运算是指对数据施加的操作。

它定义在数据的逻辑结构之上,每种逻辑结构都有一个数据的运算。

常用的有:查找、排序、插人、删除、更新等操作。

8、数据逻辑结构可以分为四种基本的类型,集合结构中的元素除了仅仅只是同属于一个集合_,不存在什么关系。

9、数据逻辑结构的四种基本类型中,线性结构_中的元素是一种一对一的关系,这种结构的特征是:若结构是非空集,则有且只有一个开始结点和一个终端结点,并且所有结点最多只能有一个直接前驱和一个直接后继。

数据结构与算法期末考试复习试题

数据结构与算法期末考试复习试题

(1) A.找出数据结构的合理性 B.研究算法中的输入和输出的关系
C.分析算法的效率以求改进 C.分析算法的易读性和文档性
(2) A.空间复杂度和时间复杂度 B.正确性和简明性
C.可读性和文档性
D.数据复杂性和程序复杂性
8.下面程序段的时间复杂度是 O(n2)

s =0; for( I =0; i<n; i++; for(j=0;j;n;j++) s +=B[i;[j;;
3.在数据结构中,与所使用的计算机无关的是数据的 A 结构.
A.逻辑 B.存储 C.逻辑和存储 D.物理
4.在存储数据时,通常不仅要存储各数据元素的值,而且还要存储 C 。
A.数据的处理方法 B.数据元素的类型
C.数据元素之间的关系 D.数据的存储方法
5.在决定选取何种存储结构时,一般不考虑 A .
A.|top;2]—top[1]|=0 B. top[1]+1=top;2] C.top[1]+top[2]=m D.top[1;=top;2;
51.设计一个判别表达式中左、右括号是否配对出现的算法,采用 D 数据结构最佳。
A.线性表的顺序存储结构 B.队列 C.线性表的链式存储结构 D.栈
52.允许对队列进行的操作有 D 。
A.edcba B.decba C.dceab D.abcde
40.设有一个栈,元素依次进栈的顺序为 A、B、C、D、E.下列 C 是不可能的出栈序列.
A.A,B,C,D,E B.B;C,D,E;A C.E,A,B;C;D D.E,D;C,B;A
41.以下 B 不是队列的基本运算?
A.从队尾插入一个新元素 B.从队列中删除第 i 个元素

数据结构与算法复习题(专升本)

数据结构与算法复习题(专升本)

《数据结构与算法》复习题(专升本)一、填空题1、数据结构被形式地定义为( D, R),其中D 是的有限集合, R 是D 上的有限集合。

2、数据结构包括数据的、数据的和数据的这三个方面的内容。

3、写出带头结点的双向循环链表L 为空表的条件。

4、在具有n个元素的循环队列中,队满时具有个元素。

5、求子串在主串中首次出现的位置的运算称为。

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

7、数据的逻辑结构是指。

8、数据结构按逻辑结构可分为两大类,它们分别是和。

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

10、带头结点的单链表head 为空的条件是。

11、两个串相等的充分必要条件是两个串的长度相等且。

12、二维数组,可以按照和两种不同的存储方式。

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

14、内部排序方法按排序采用的策略可划分为五类:、、、和基数排序。

二、选择题1、若某线性表中最常用的操作是取第i 个元素和找第i个元素的前驱,则采用()存储方法最节省时间。

A.顺序表B.单链表C.双链表D.单循环链表2、二叉树的前序序列和后序序列正好相反,则该二叉树一定是()的二叉树。

A.空或只有一个结点B.高度等于其结点数C.任一结点无左孩子D.任一结点无右孩子3、计算机算法指的是:()A. 计算方法B. 排序方法C. 解决问题的有限运算序列D. 调度方法4、栈和队列的主要区别在于()。

A.它们的逻辑结构不一样B.它们的存储结构不一样C.所包含的运算不一样D.插入删除运算的限定不一样5、为5个使用频率不等的字符设计哈弗曼编码,不可能的方案是()。

A.000,001,010,011,1B. 0000,0001,001,01,1C.000,001,01,10,11D.00,100,101,110,1116、用深度优先遍历方法遍历一个有向无环图,并在深度优先遍历算法中按退栈次序打印出相应的顶点,则输出的顶点序列是()。

数据结构与算法练习题库(含答案)

数据结构与算法练习题库(含答案)

数据结构与算法练习题库(含答案)一、单选题(共80题,每题1分,共80分)1、对一棵二叉树的结点从 1 开始顺序编号。

要求每个结点的编号大于其左子树所有结点的编号、但小于右子树中所有结点的编号。

可采用▁▁▁▁▁ 实现编号。

A、中序遍历B、先序遍历C、层次遍历D、后序遍历正确答案:A2、设一段文本中包含4个对象{a,b,c,d},其出现次数相应为{4,2,5,1},则该段文本的哈夫曼编码比采用等长方式的编码节省了多少位数?A、5B、4C、2D、0正确答案:C3、两个有相同键值的元素具有不同的散列地址A、一定不会B、一定会C、可能会D、有万分之一的可能会正确答案:C4、将元素序列{18,23,11,20,2,7,27,33,42,15}按顺序插入一个初始为空的、大小为11的散列表中。

散列函数为:H(Key)=Key%11,采用线性探测法处理冲突。

问:当第一次发现有冲突时,散列表的装填因子大约是多少?A、0.73B、0.27C、0.64D、0.45正确答案:D5、对N个记录进行归并排序,归并趟数的数量级是:A、O(NlogN)B、O(logN)C、O(N)D、O(N2)正确答案:B6、下列说法不正确的是:A、图的遍历是从给定的源点出发每一个顶点仅被访问一次B、图的深度遍历不适用于有向图C、遍历的基本算法有两种:深度遍历和广度遍历D、图的深度遍历是一个递归过程正确答案:B7、二叉树的中序遍历也可以循环地完成。

给定循环中堆栈的操作序列如下(其中push为入栈,pop为出栈): push(1), push(2), push(3), pop(), push(4), pop(), pop(), push(5), pop(), pop(), push(6), pop()A、6是根结点B、2是4的父结点C、2和6是兄弟结点D、以上全不对正确答案:C8、设最小堆(小根堆)的层序遍历结果为{1, 3, 2, 5, 4, 7, 6}。

数据结构选择判断复习题

数据结构选择判断复习题

数据结构期中期末选择判断复习题判断题:U1-U31.(×)数据元素是数据的最小单位。

2.(√)健壮的算法不会因非法的输入数据而出现莫名其妙的状态。

3.(×)数据的逻辑结构是指数据的各数据项之间的逻辑关系。

4.(×)数据的逻辑结构说明数据元素之间的顺序关系,它依赖于计算机的存储结构。

5.(×)数据的物理结构是指数据在计算机内的实际存储形式。

6.(×)数据结构的抽象操作的定义与具体实现有关。

7.(×)顺序存储方式的优点是存储密度大,且插入,删除运算效率高。

8.(√)顺序存储方式插入和删除时的效率太低,在这方面它不如链式存储方式好。

9.(√)顺序存储结构的主要缺点是不利于插入和删除操作。

10.(×)对任何数据结构链式存储结构一定优于顺序存储结构。

11.(×)取线性表的第i个元素的时间同i的大小有关。

12.(√)线性表、栈和队列都是线性结构。

13.(√)链表是采用链式存储结构的线性表,进行插入、删除操作时,在链表中比在顺序存储结构中效率高。

14.(×)线性表中每一个元素均存在唯一一个前驱和唯一一个后继。

15.(×)循环链表不是线性表。

16.(×)线性表的长度是线性表所占用的存储空间的大小。

17.(×)在单链表表示的线性表中,取线性表的第i个元素操作的时间复杂度为O(1)。

18.(√)删除带头结点单链表的第一个元素结点的时间复杂度是O(1)。

19.(√)栈是实现过程和函数等子程序所必需的结构。

20.(√)栈是一种插入与删除操作都限定在表的一端进行的线性表。

21.(√)若输入序列为1,2,3,4,5,6,则通过一个栈可以输出序列3,2,5,6,4,1。

22.(×)在顺序存储结构表示的栈中删除一个元素时可能会引起栈内数据元素的移动。

23.(√)栈既可以采用顺序存储结构表示也可以采用链式存储结构表示。

《数据结构与算法》习题:选择题、判断题

《数据结构与算法》习题:选择题、判断题

第一章绪论1. 从逻辑上可以把数据结构分为( C )两大类。

A.动态结构、静态结构B.顺序结构、链式结构C.线性结构、非线性结构D.初等结构、构造型结构2. 在下面的程序段中,对x的赋值语句的频度为( C )。

For(k=1;k<=n;k++)For(j=1;j<=n;j++)x=x+1;A.O(2n) B.O(n) C.O(n2) D.O(log2n)3. 采用顺序存储结构表示数据时,相邻的数据元素的存储地址( A )。

A.一定连续B.一定不连续C.不一定连续D.部分连续、部分不连续4. 下面关于算法的说法,正确的是( D )。

A.算法的时间复杂度一般与算法的空间复杂度成正比B.解决某问题的算法可能有多种,但肯定采用相同的数据结构C.算法的可行性是指算法的指令不能有二义性D.同一个算法,实现语言的级别越高,执行效率就越低5. 在发生非法操作时,算法能够作出适当处理的特性称为( B )。

A.正确性B.健壮性C.可读性D.可移植性第二章线性表1. 线性表是( A )。

A.一个有限序列,可以为空B.一个有限序列,不能为空C.一个无限序列,可以为空D.一个无限序列,不能为空2.对顺序存储的线性表,设其长度为n,在任何位置上插入或删除操作都是等概率的。

插入一个元素时平均要移动表中的( A )个元素。

A.n/2 B.(n+1)/2 C.(n-1)/2 D.n3.线性表采用链式存储时,其地址( D )。

A.必须是连续的B.部分地址必须是连续的C.一定是不连续的D.连续与否均可以4.用链表表示线性表的优点是(C)。

A.便于随机存取B.花费的存储空间较顺序存储少C.便于插入和删除D.数据元素的物理顺序与逻辑顺序相同5.链表中最常用的操作是在最后一个元素之后插入一个元素和删除最后一个元素,则采用( C )存储方式最节省运算时间。

A.单链表B.双链表C.单循环链表D.带头结点的双向循环链表6.下面关于线性表的叙述,错误的是( B )。

数据结构与算法练习题附答案

数据结构与算法练习题附答案

1、下面关于算法的说法错误的是()A、算法最终必须由计算机程序实现B、为解决某问题的算法同为该问题编写的程序含义是相同的C、算法的可行性是指指令不能有二义性D、以上几个都是错误的参考答案:D2、数据在计算机存储器内表示时,物理地址与逻辑地址不相同的,称为()A、存储结构B、逻辑结构C、链式存储结构D、顺序存储结构参考答案:C3、以下说法正确的是()(2分)A、数据元素是数据的最小单位B、数据项是数据的基本单位C、数据结构是带有结构的各数据项的集合D、数据结构是带有结构的数据元素的集合参考答案:D4、通常从正确性、易读性、健壮性、高效性等四个方面评价算法(包括程序)的质量。

以下解释错误的是()A、正确性算法应能正确地实现预定的功能(即处理要求)B、易读性算法应易于理解和阅读,以便于调试、修改和扩充C、健壮性当环境发生变化时,算法能适当地做出反应或进行处理,不会产生不需要的运行结果D、高效性即达到所需要的时间性能参考答案:C5、树形结构是数据元素之间存在一种()A、一对一关系B、多对多关系C、多对一关系D、一对多关系参考答案:D6、数据结构是指()A、数据元素的组织形式B、数据类型C、数据存储结构D、数据定义参考答案:A7、算法分析的目的是()A、找出数据结构的合理性3、研究算法中的输入和输出关系C、分析算法的效率以求改进D、分析算法的易懂性和文档性参考答案:C8、数据在计算机内有链式和顺序两种存储方式,在存储空间使用的灵活性上,链式存储比顺序存储要()A、低B、高C、相同D、以上都不正确参考答案:B9、算法的空间复杂度是指()A、执行算法程序所占的存储空间B、算法程序中的指令条数C、算法程序的长度D、算法执行过程中所需要的存储空间参考答案:D10、数据的存储结构是指()A、数据所占的存储空间量B、数据的逻辑结构在计算机中的表示C、数据在计算机中的顺序存储方式D、存数在外存中的数据参考答案:B11、线性表是()A、一个有限序列,可以为空B、一个有限序列,不能为空C、一个无限序列,可以为空D、一个无限序列,不能为空参考答案:A12、下列叙述正确的是()A、线性表是线性结构B、栈和队列是非线性结构C、线性链表是非线性结构D、二叉树是线性结构参考答案:A13、计算机内部数据处理的基本单位是()A、数据B、数据元素C、数据项D、数据库参考答案:B14、从逻辑上可以把数据结构分为()两大类A、动态结构、静态结构B、顺序结构、链式结构C、线性结构、非线性结构D、初等结构、构造型结构参考答案:C15、算法的时间复杂度取决于()A、问题的规模B、待处理数据的初态C、A 和B参考答案:C16、以下属于逻辑结构的是()(2分)A、顺序表B、哈希表C、有序表D、单链表参考答案:C17、下列数据结构中,()是非线性数据结构A、树B、字符串C、队D、栈参考答案:A18、设语句x++的时间是单位时间,则以下语句的时间复杂度为()for(i=1;i<=n;i++)for(j=|;j<=n;j++)x++;(2分)A、O(1)B、O(n2)C、O(n)D、O(n3)参考答案:B19、算法的计算量大小称为计算的()(2分)A、效率B、复杂性C、现实性D、难度参考答案:B20、数据结构只是研究数据的逻辑结构和物理结构,这种观点()A、正确B、错误C、前半句正确,后半句错误D、前半句错误,后半句正确参考答案:B21、计算机算法指的是(),它具有输入、输出、可行性、确定性和有穷性等五个特性。

数据结构与算法习题含参考答案

数据结构与算法习题含参考答案

数据结构与算法习题含参考答案一、单选题(共100题,每题1分,共100分)1、要为 Word 2010 格式的论文添加索引,如果索引项已经以表格形式保存在另一个 Word文档中,最快捷的操作方法是:A、在 Word 格式论文中,逐一标记索引项,然后插入索引B、直接将以表格形式保存在另一个 Word 文档中的索引项复制到 Word 格式论文中C、在 Word 格式论文中,使用自动插入索引功能,从另外保存 Word 索引项的文件中插D、在 Word 格式论文中,使用自动标记功能批量标记索引项,然后插入索引正确答案:D2、下面不属于计算机软件构成要素的是A、文档B、程序C、数据D、开发方法正确答案:D3、JAVA 属于:A、操作系统B、办公软件C、数据库系统D、计算机语言正确答案:D4、在 PowerPoint 演示文稿中,不可以使用的对象是:A、图片B、超链接C、视频D、书签第 6 组正确答案:D5、下列叙述中正确的是A、软件过程是软件开发过程和软件维护过程B、软件过程是软件开发过程C、软件过程是把输入转化为输出的一组彼此相关的资源和活动D、软件过程是软件维护过程正确答案:C6、在 Word 中,不能作为文本转换为表格的分隔符的是:A、@B、制表符C、段落标记D、##正确答案:D7、某企业为了建设一个可供客户在互联网上浏览的网站,需要申请一个:A、密码B、门牌号C、域名D、邮编正确答案:C8、面向对象方法中,将数据和操作置于对象的统一体中的实现方式是A、隐藏第 42 组B、抽象C、结合D、封装正确答案:D9、下面属于整数类 I 实例的是A、-919B、0.919C、919E+3D、919D-2正确答案:A10、定义课程的关系模式如下:Course (C#, Cn, Cr,prC1#, prC2#)(其属性分别为课程号、课程名、学分、先修课程号 1和先修课程号 2),并且不同课程可以同名,则该关系最高是A、BCNFB、2NFC、1NFD、3NF正确答案:A11、循环队列的存储空间为 Q(1:100),初始状态为 front=rear=100。

数据结构练习题及答案

数据结构练习题及答案

数据结构试题及答案第一章一、选择题1、研究数据结构就是研究( D )。

A. 数据的逻辑结构B. 数据的存储结构C. 数据的逻辑结构和存储结构D. 数据的逻辑结构、存储结构及其基本操作2、算法分析的两个主要方面是( A )。

A. 空间复杂度和时间复杂度B. 正确性和简单性C. 可读性和文档性D. 数据复杂性和程序复杂性3、具有线性结构的数据结构是( D )。

A. 图B. 树C. 二叉树D. 栈4、计算机中的算法指的是解决某一个问题的有限运算序列,它必须具备输入、输出、( B )等5个特性。

A. 可执行性、可移植性和可扩充性B. 可执行性、有穷性和确定性C. 确定性、有穷性和稳定性D. 易读性、稳定性和确定性5、下面程序段的时间复杂度是( C )。

for(i=0;i<m;i++)for(j=0;j<n;j++)a[i][j]=i*j; A. O(m 2) B. O(n 2) C. O(m*n) D. O(m+n)6、算法是( D )。

A. 计算机程序B. 解决问题的计算方法C. 排序算法D. 解决问题的有限运算序列7、某算法的语句执行频度为(3n+nlog 2n+n 2+8),其时间复杂度表示( C )。

A. O(n) B. O(nlog 2n) C. O(n 2) D. O(log 2n)8、下面程序段的时间复杂度为( C )。

i=1;while(i<=n)i=i*3;A. O(n)B. O(3n)C. O(log 3n)D. O(n 3)9、数据结构是一门研究非数值计算的程序设计问题中计算机的数据元素以及它们之间的( B )和运算等的学科。

A. 结构B. 关系C. 运算D. 算法10、抽象数据类型的三个组成部分分别为( A )。

A. 数据对象、数据关系和基本操作B. 数据元素、逻辑结构和存储结构C. 数据项、数据元素和数据类型D. 数据元素、数据结构和数据类型11、下列程序段的时间复杂度为(B )。

算法与数据结构判断题

算法与数据结构判断题

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

(F)不是。

只有顺序存储情况下才一致,链式存储因为是随机选择物理存储单元,所以不一致。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

数据结构与算法复习题含答案

数据结构与算法复习题含答案

数据结构与算法复习题含答案集团标准化工作小组 #Q8QGGQT-GX8G08Q8-GNQGJ8-MHHGN#《数据结构与算法》2015-2016学年第1学期考试复习题一、选择题(下面各小题有一个正确答案,请将正确答案的编号填写在各小题的括号内)。

1、在一棵具有5层的满二叉树中结点总数为( A )。

A) 31 B)32C)33 D)162、串的逻辑结构与( D )的逻辑结构不相同。

A)线性表 B)栈C)队列 D)集合3、下列序列中,执行第一趟快速排序后得到的序列是( A )。

A)[d,a,e,d,b]f[h,g] B) [c,e,a,d]f[h,g,b]C) [g,a,e,c,b]f[d,h] D) [a,b,c,d,]f[e,g,h]4、n个顶点的强连通图至少有( A )条边。

A)n B)n+1 C)n-1 D)n(n-1)5、数据结构中,在逻辑上可以把数据结构分成( B )。

A)动态结构和静态结构B)线性结构和非线性结构C)紧凑结构和非紧凑结构D)内部结构和外部结构6、链式存储的存储结构所占存储空间( A )。

A)分两部分,一部分存放结点值,另一部分存放表示结点间关系的指针B)只有一部分,存放结点值C)只有一部分,存储表示结点间关系的指针D)分两部分,一部分存放结点值,另一部分存放结点所占单元数7、有一个有序表{1,4,6,10,18,35,42,53,67,71,78,84,92,99}。

当用二分查找法查找键值为84的结点时,经( B )比较后查找成功。

A) 4B)3C)2D)128、设单链表中指针p指向结点m,若要删除m之后的结点(若存在),则需修改指针的操作为( A )。

A)p->next=p->next->next; B) p=p->next;C)p=p->next->next; D) p->next=p;9、n个顶点,e条边的有向图的邻接矩阵中非零元素有( C )个。

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

1. 从逻辑上可以把数据结构分为( C )两大类。

A.动态结构、静态结构 B.顺序结构、链式结构C.线性结构、非线性结构 D.初等结构、构造型结构2. 在下面的程序段中,对x的赋值语句的频度为( C )。

For(k=1;k<=n;k++)For(j=1;j<=n;j++)x=x+1;n)A.O(2n) B.O(n) C.O(n2) D.O(log23. 采用顺序存储结构表示数据时,相邻的数据元素的存储地址( A )。

A.一定连续 B.一定不连续C.不一定连续 D.部分连续、部分不连续4. 下面关于算法的说法,正确的是( D )。

A.算法的时间复杂度一般与算法的空间复杂度成正比B.解决某问题的算法可能有多种,但肯定采用相同的数据结构C.算法的可行性是指算法的指令不能有二义性D.同一个算法,实现语言的级别越高,执行效率就越低5. 在发生非法操作时,算法能够作出适当处理的特性称为( B )。

A.正确性 B.健壮性 C.可读性 D.可移植性第二章线性表1. 线性表是( A )。

A.一个有限序列,可以为空 B.一个有限序列,不能为空C.一个无限序列,可以为空 D.一个无限序列,不能为空2.对顺序存储的线性表,设其长度为n,在任何位置上插入或删除操作都是等概率的。

插入一个元素时平均要移动表中的( A )个元素。

A.n/2 B.(n+1)/2 C.(n-1)/2 D.n3.线性表采用链式存储时,其地址( D )。

A.必须是连续的 B.部分地址必须是连续的C.一定是不连续的 D.连续与否均可以4.用链表表示线性表的优点是( C )。

A.便于随机存取 B.花费的存储空间较顺序存储少C.便于插入和删除 D.数据元素的物理顺序与逻辑顺序相同5.链表中最常用的操作是在最后一个元素之后插入一个元素和删除最后一个元素,则采用( C )存储方式最节省运算时间。

A.单链表 B.双链表 C.单循环链表 D.带头结点的双向循环链表6.下面关于线性表的叙述,错误的是( B )。

A.线性表采用顺序存储,必须占用一片地址连续的单元B.线性表采用顺序存储,便于进行插入和删除操作C.线性表采用链式存储,不必占用一片地址连续的单元D.线性表采用链式存储,不便于进行插入和删除操作7.单链表中,增加一个头结点的目的是为了( C )。

A.使单链表至少有一个结点 B.标识表结点中首结点的位置C.方便运算的实现 D.说明单链表是线性表的链式存储8.在单链表指针为p的结点之后插入指针为s结点,正确的操作是( B )。

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;9.在双向链表存储结构中,删除p所指的结点时须修改指针( A )。

A.(p-> prior)-> next = p->next ; (p->next)->prior =p-> prior ;B.p-> prior=(p-> prior)-> prior ; (p-> prior)-> next =p ;C.(p->next)->prior =p ; p->rlink=(p-> next)-> next ;D.p->next =(p-> prior)-> prior ; p-> prior =(p-> next)-> next10. 完成在双向循环链表结点p之后插入s的操作是( D )。

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;11. 若某线性表中最常用的操作是取第i个元素和找第i个元素的前趋元素,则采用( B )存储方式最节省运算时间。

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

A.单链表 B.仅有头指针的单循环链表C.双向链表 D.仅有尾指针的单循环链表第三章栈和队列1.向一个栈顶指针为top的链栈中插入一个p所指结点时,其操作步骤为( C )。

A.top->next=p; B.p->next=top->next;top->next=p;C.p->next=top;top=p; D.p->next=top;top=top->next;2.对于栈操作数据的原则是( B )。

A.先进先出 B.后进先出C.后进后出 D.不分顺序3.若已知一个栈的入栈序列是1,2,3,…,n,其输出序列为p1,p2,p3,…,pn,若p n 是n,则Pi为( D )。

A.i B.n-i C.n-i+l D.不确定4.表达式a *(b-c)+d的后缀表达式是( B )。

A.abcd*-+ B.abc-*d+C.abc*-d+ D.+-*abcd5.采用顺序存储的两个栈的共享空间S[1..m],用top[i]代表第i个栈(i=1,2)的栈顶,栈1的底在S[1],栈2的底在S[m],则栈满的条件是( B )。

A.top[2]-top[1]=0 B.top[1]+1= top[2]C.top[1]+top[2] =m D.top[1]= top[2]6.一个栈的入栈序列是a,b,c,d,e,则栈的不可能的输出序列是( C )。

A.edcba B.decba C.dceab D.abcde7.在一个链队列中,若f、r分别为队首、队尾指针,则插入p所指结点的操作为( B )。

A.f->next=p;f=p B.r->next=p;r=pC.p->next=r;r=p D.p->next=f;f=p8.用不带头结点的单链表存储队列时,在进行删除运算时( D )。

A.仅修改头指针 B.仅修改尾指针C.头、尾指针都要修改 D.头、尾指针可能都要修改9. 递归过程或函数调用时,处理参数及返回地址,要用一种称为( C )的数据结构。

A.队列 B.静态链表 C.栈 D.顺序表10. 栈和队都是( C )。

A.顺序存储的线性结构 B.链式存储的非线性结构C.限制存取点的线性结构 D.限制存取点的非线性结构第四章字符串及线性结构的扩展1. 下面关于串的叙述,错误的是( C )。

A.串是字符的有限序列B.串既可以采用顺序存储,也可以采用链式存储C.空串是由空格构成的串D.模式匹配是串的一种重要运算2. 串的长度是指( B )。

A.串中所含不同字母的个数 B.串中所含字符的个数C.串中所含不同字符的个数 D.串中所含非空格字符的个数3.4. 二维数组M的成员是6个字符(每个字符占一个存储单元,即一个字节)组成的串,行下标i的范围从0到8,列下标j的范围从1到10,则存放M至少需要(1)( D )个字节;M的第8列和第5行共占(2)( A )个字节;若M按行优先方式存储,元素M[8][5]的起始地址与当M按列优先方式存储时的(3)( C )元素的起始地址一致。

(1)A. 90 B. 180 C. 240 D. 540(2)A. 108 B. 114 C. 54 D. 60(3)A. M[8][5] B. M[3][10] C. M[5][8] D. M[0][9]5. 数组A中,每个元素的存储占3个单元,行下标i从1到8,列下标j从1到10,从首地址SA开始连续存放在存储器内,存放该数组至少需要的单元个数是(1)( C );若该数组按行存放,元素A[8][5]的起始地址为(2)( D );若该数组按列存放,元素A[8][5]的起始地址为(3)( B )。

(1)A. 80 B. 100 C.240 D. 270(2)A. SA+141 B. SA+144 C. SA+222 D. SA+225(3)A. SA+141 B. SA+180 C. SA+117 D. SA+2256. 稀疏矩阵采用压缩存储,一般有( C )两种方法。

A.二维数组和三维数组 B.三元组和散列C.三元组表和十字链表 D.散列和十字链表第五章树结构1. 下列说法正确的是( C )。

A.二叉树中任何一个结点的度都为2 B.二叉树的度为2C.一棵二叉树的度可小于2 D.任何一棵二叉树中至少有一个结点的度为22. 以二叉链表作为二叉树的存储结构,在具有n个结点的二叉链表中(n>0),空链域的个数为( C )。

A.2n-1 B.n-1 C.n+l D.2n+l3. 线索化二叉树中,某结点*p没有孩子的充要条件是( B )。

A. p->lchild=NULLB. p->ltag=1且p->rtag=1C. p->ltag=0D. p->lchild=NULL且p->ltag=14. 如果结点A有3个兄弟,而且B是A的双亲,则B的度是( B )。

A.3 B.4 C.5 D.15. 某二叉树T有n个结点,设按某种顺序对T中的每个结点进行编号,编号值为1,2,…,n,且有如下性质:T中任意结点v,其编号等于左子树上的最小编号减1,而v的右子树的结点中,其最小编号等于v左子树上结点的最大编号加1,这是按( B )编号的。

A. 中序遍历序列B. 先序遍历序列C. 后序遍历序列D. 层次顺序6. 设F是一个森林,B是由F转换得到的二叉树,F中有n个非终端结点,B中右指针域为空的结点有( C )个。

A.n-1 B.n C.n+l D.n+27. 一棵完全二叉树上有1001个结点,其中叶子结点的个数是( C )。

A.500 B.501 C.490 D.4958. 设森林F中有3棵树,第1、第2和第3棵树的结点个数分别为N1,N2和N3。

相关文档
最新文档