数据结构基本概念练习题
数据结构试题集(包含答案-完整版)

数据结构试题集(包含答案-完整版)数据结构试题集(包含答案-完整版)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. 下列哪项不是线性结构的特点?A. 有且只有一个根节点B. 每个节点最多有一个前驱和一个后继C. 至少有一个节点D. 每个节点最多有一个前驱和多个后继答案:D解析:线性结构的特点包括有且只有一个根节点、每个节点最多有一个前驱和一个后继、至少有一个节点。
选项D描述的是非线性结构的特点。
2. 在单链表中,增加一个头节点的作用是()A. 便于首元节点的插入和删除操作B. 便于首元节点的访问C. 便于链表的操作D. 便于链表的删除答案:A解析:在单链表中,增加一个头节点可以使得首元节点的插入和删除操作更加方便,避免了首元节点特殊情况的处理。
3. 下面哪一个不是栈的基本运算?A. 入栈B. 出栈C. 初始化栈D. 求栈顶元素答案:C解析:栈的基本运算包括入栈、出栈、求栈顶元素和判断栈空。
初始化栈是创建栈的过程,不属于基本运算。
二、填空题4. 在顺序表中,元素之间的逻辑关系是由_______表示的。
答案:物理位置解析:顺序表中,元素之间的逻辑关系是通过物理位置来表示的。
每个元素在内存中占据连续的存储空间。
5. 设栈S的初始状态为空。
若元素序列为ABCDEF,当元素序列的进栈和退栈操作交叉进行时,下列序列中不可能出现在栈S中的是_______。
答案:BACF解析:当元素序列的进栈和退栈操作交叉进行时,栈中可能出现的序列有很多种,但BACF不可能是栈中出现的序列,因为元素C在元素F之前进栈,但F在C之前出栈,违反了栈的后进先出原则。
三、判断题6. 线性表是一种随机存取结构,因此可以随机访问表中的任一元素。
()答案:正确解析:线性表是一种随机存取结构,支持随机访问表中的任一元素,时间复杂度为O(1)。
7. 在双向链表中,每个节点包含两个指针,一个指向前一个节点,另一个指向下一个节点。
()答案:正确解析:双向链表中的每个节点确实包含两个指针,一个指向前一个节点,另一个指向下一个节点,便于从任意方向遍历链表。
数据结构习题及答案

数据结构习题习题一一、选择题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.1 单项选择题运算等的课程。
① A.操作对象 B.计算方法 C.逻辑结构 D.数据映象 ② A.存储结构 B.关系 C.运算 D.算法 2. 数据结构DS(Data Struct)可以被形式地定义为 DS= (D, R),其中D 是①的有限集合,R 是D 上的②有限集 合。
① A.算法 B.数据元素 C.数据操作 D.数据对象 ② A.操作B.映象C.存储D.关系在数据结构中,从逻辑上可以把数据结构分成 。
A. 动态结构和静态结构B.紧凑结构和非紧凑结构1.2 填空题(将正确的答案填在相应的空中)1. 数据逻辑结构包括 、和 三种类型,树形结构和图形结构合称为 。
2. 在线性结构中,第一个结点 前驱结点,其余每个结点有且只有 个前驱结点;最后一个结点 后续结 点,其余每个结点有且只有 ■个后续结点。
3. 在树形结构中,树根结点没有 结点,其余每个结点有且只有 个直接前驱结点,叶子结点没有 结点, 其余每个结点的直接后续结点可以 。
4. 在图形结构中,每个结点的前驱结点数和后续结点数可以 。
5.6. 线性结构中兀素之间存在算法的五个重要特性是_ _____ 关系,树形结构中兀素之间存在 ________ 关系,图形结构中兀素之间存在 ___ , — __ , __ , _ ,_ __ 。
____ 关系。
7. 分析卜面算法(程序段) for(i=0;i<n;i++)for (j=0;j<n; j++) A[i][j]=0; ,给出取大语句频度 _____ ,该算法的时间复杂度正 .。
8. 分析卜面算法(程序段)for (i=0;i<n;i++) for (j=0;j<i; j++) A[i][j]=0;,给出取大语句频度 ____ ,该算法的时间复杂度正 _________O9.分析卜面算法(程序段) ,给出取大语句频度 ____ ,该算法的时间复杂度正 _________ 。
(完整版)数据结构练习题及参考答案

数据结构练习题第一部分绪论一、单选题1. 一个数组元素a[i]与________的表示等价。
A、 *(a+i)B、 a+iC、 *a+iD、 &a+i2. 对于两个函数,若函数名相同,但只是____________不同则不是重载函数。
A、参数类型B、参数个数C、函数类型3. 若需要利用形参直接访问实参,则应把形参变量说明为________参数A、指针B、引用C、值4. 下面程序段的时间复杂度为____________。
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)5. 执行下面程序段时,执行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)/26. 下面算法的时间复杂度为____________。
int f( unsigned int n ) {if ( n==0 || n==1 ) return 1; else return n*f(n-1);}A、 O(1)B、 O(n)C、 O(n2)D、 O(n!)二、填空题1. 数据的逻辑结构被分为__________、_________、__________和__________四种。
2. 数据的存储结构被分为__________、_________、__________和__________四种。
3. 在线性结构、树形结构和图形结构中,前驱和后继结点之间分别存在着________、________和________的联系。
4. 一种抽象数据类型包括__________和__________两个部分。
5. 当一个形参类型的长度较大时,应最好说明为_________,以节省参数值的传输时间和存储参数的空间。
数据结构练习题

一、填空题
1.线性表、栈和队列都是 线性 结构,可以在线性表的 任意 位置插入和删除元素;对 于栈只能在 栈顶 插入和删除元素;对于队列只能在 队尾 插入和 队头 删除元素。 2. 栈是一种特殊的线性表,允许插入和删除运算的一端称为 栈顶 。不允许插入和删除 运算的一端称为 栈底 。 3. 队列 是被限定为只能在表的一端进行插入运算,在表的另一端进行删除运算的线性 表。 4. 在一个循环队列中,队首指针指向队首元素的 当前 位置。 5. 在具有n个单元的循环队列中,队满时共有 n-1 个元素。 6. 向栈中压入元素的操作是先 插入元素 ,后 移动指针 。 7. 从循环队列中删除一个元素时,其操作是 先 读取元素 ,后 移动指针 。
数据结构
武汉大学测绘学院虞晖
1. 假设有二维数组A6×8,每个元素用相邻的6个字节存储,存储器按字节编址。已知A 的起始存储位置(基地址)为1000,则数组A的体积(存储量)为 288 ;末尾元素A57 的第一个字节地址为 1282 ;若按行存储时,元素A14的第一个字节地址为 1072 ;若按 列存储时,元素A47的第一个字节地址为 1276 。 2. 设数组a[1…60, 1…70]的基地址为2048,每个元素占2个存储单元,若以列序为主序 顺序存储,则元素a[32,58]的存储地址为 8950 。 3. 三元素组表中的每个结点对应于稀疏矩阵的一个非零元素,它包含有三个数据项,分 别表示该元素的 行下标 、 列下标 和 元素值 。
数据结构
武 汉 大 学 测 绘 学 院 虞晖
单项选择题
( C)1.数据在计算机存储器内表示时,物理地址与逻辑地址相同并且是连续 的,称之为:
(A)存储结构 (B)逻辑结构 (C)顺序存储结构 (D)链式存储结构 ( B)2. 一个表第一个元素的存储地址是100,每个元素的长度为2,则第5个元 素的地址是 (A)110 (B)108 (C)100 (D)120 ( A)3. 在n个结点的顺序表中,算法的时间复杂度是O(1)的操作是:
数据结构基本概念练习题(答案)

数据结构基本概念练习题(答案)数据结构基本概念练习题(答案)1. 什么是数据结构?数据结构是计算机存储、组织数据的一种方式,它涉及到数据的表示、存储方式、访问和操作等方面。
通过合理的数据结构设计,可以高效地解决各类问题。
2. 请简述线性结构和非线性结构的概念及其区别。
线性结构中的数据元素之间存在一对一的相互关系,比如线性表、栈和队列等;非线性结构中的数据元素之间存在一对多或者多对多的关系,比如树和图等。
线性结构的特点是数据元素之间仅有一个直接前驱和一个直接后继,而非线性结构则不是这样。
3. 请给出线性结构的三种基本形式以及每种形式的特点。
(1) 线性表:线性表是最基本的线性结构,具有元素类型相同、元素个数有限且有序排列的特点。
(2) 栈:栈是限定仅在表尾进行插入和删除操作的线性表,遵循后进先出(LIFO)的原则。
(3) 队列:队列是限定在表头进行删除,表尾进行插入操作的线性表,遵循先进先出(FIFO)的原则。
4. 请简述非线性结构的两种基本形式以及每种形式的特点。
(1) 树:树是由n(n>=1)个结点构成的有限集合,其中有一个称为根结点,其他结点可分为多个互不相交的有限集合,每个集合又可以看作一个子树。
树的特点是一个结点可以有多个子结点,但每个结点只有一个父结点。
(2) 图:图是由顶点的有穷非空集合和边的集合组成,通过边连接顶点。
图的特点是每个顶点可以与其他任意顶点相连,边可以有方向,也可以没有方向。
5. 请简述常用的数据结构之间的关系。
常用的数据结构之间存在着相互的包含关系,即某些数据结构可以通过其他数据结构进行实现。
例如,线性表可以通过数组或链表进行实现;树可以通过数组、链表或者指针进行实现;图可以通过邻接矩阵或者邻接表进行实现。
6. 算法和数据结构之间有何关联?数据结构为算法提供了数据存储、组织和访问的方式,而算法则是对数据结构进行操作的方法。
算法和数据结构是相辅相成的,好的算法需要基于合理的数据结构设计,而好的数据结构也需要有高效的算法支持。
数据结构试题(含答案)

数据结构试题(含答案)数据结构试题(含答案)一、选择题1. 数据结构是计算机科学中的一个重要概念。
下列选项中,不属于数据结构的是:A. 数组B. 栈C. 数据库D. 链表答案:C2. 在数据结构中,栈(Stack)是一种后进先出(LIFO)的数据结构。
下列操作中,不属于栈的是:A. 入栈B. 出栈C. 遍历D. 清空栈答案:C3. 链表(Linked List)是一种常见的数据结构,它由一系列节点组成,每个节点包含两个部分:数据和指向下一个节点的指针。
下列选项中,不属于链表的是:A. 单链表B. 双链表C. 循环链表D. 二叉树答案:D4. 哈希表(Hash Table)是一种根据关键码直接访问存储位置的数据结构。
下列选项中,不属于哈希表的优点是:A. 快速查找B. 插入和删除操作效率高C. 数据无序D. 冲突较少答案:C二、填空题1. 树(Tree)是一种非线性数据结构,它由一组以边连接的节点组成。
树中每个节点最多可以有________个子节点。
答案:无限制/任意个2. 图(Graph)是由节点和连接节点的边组成的数据结构。
图中节点的度是指与该节点相连接的边的________。
答案:数量3. 广度优先搜索(BFS)和深度优先搜索(DFS)是常用的图遍历算法。
在BFS中,使用________结构来保存待访问的节点。
答案:队列4. 在二叉搜索树(Binary Search Tree)中,左子树中的每个节点的值都小于根节点的值,右子树中的每个节点的值都大于根节点的值。
这种特性称为_______________。
答案:二叉搜索树性质三、简答题1. 请简要说明线性数据结构和非线性数据结构的区别。
答案:线性数据结构是指数据元素之间存在一对一的线性关系,例如数组、栈、队列等;而非线性数据结构是指数据元素之间存在一对多或多对多的关系,例如树、图等。
线性数据结构的存储方式是连续的,非线性数据结构的存储方式是离散的。
数据结构练习题及部分答案

第一章绪论一.选择题1.数据结构被形式地定义为(K,R),其中K是①的有限集合,R是K上的②的有限集合。
①A.算法B.数据元素C.数据操作D.逻辑结构②A.操作B.映象C.存储D.关系2.算法分析的目的是①,算法分析的两个主要方面是②。
①A.找出数据结构的合理性B.研究算法中的输入和输出的关系C.分析算法的效率以求改进D.分析算法的易懂性和文档性②A.空间复杂性和时间复杂性B.正确性和简明性C.可读性和文档性D.数据复杂性和程序复杂性3.在计算机存储器内表示时,物理地址和逻辑地址相同并且是连续的,称之为A.逻辑结构B.顺序存储结构C.链表存储结构D.以上都不对4.数据结构中,在逻辑上可以把数据结构分成:( )。
A.动态结构和静态结构B.紧凑结构和非紧凑结构C.线性结构和非线性结构D.内部结构和外部结构5.以下属于顺序存储结构优点的是()。
A.存储密度大B.插入运算方便C.删除运算方便D.可方便地用于各种逻辑结构的存储表示6.数据结构研究的内容是()。
A.数据的逻辑结构B.数据的存储结构C.建立在相应逻辑结构和存储结构上的算法D.包括以上三个方面7.链式存储的存储结构所占存储空间()。
A.分两部分,一部分存放结点值,另一部分存放表示结点间关系的指针B.只有一部分,存放结点值C.只有一部分,存储表示结点间关系的指针D.分两部分,一部分存放结点值,另一部分存放结点所占单元数8.计算机算法指的是(1),它具备输入,输出和(2)等五个特性。
(1)A. 计算方法 B.排序方法C. 解决问题的有限运算序列D.调度方法(2)A.可行性,可移植性和可扩充性 B.可行性,确定性和有穷性C.确定性,有穷性和稳定性D.易读性,稳定性和安全性9.以下关于数据的逻辑结构的叙述中正确的是()。
A.数据的逻辑结构是数据间关系的描述B.数据的逻辑结构反映了数据在计算机中的存储方式C.数据的逻辑结构分为顺序结构和链式结构D.数据的逻辑结构分为静态结构和动态结构10.算法分析的主要任务是()。
数据结构基本概念练习题

数据结构基本概念练习题1、选择练习题1)执行下面程序段时,执行S语句的次数为-------for(int I=1;I<=n;I++)for(int j=1;j<=I;j++)S;(A) n^2 (B) n^2/2 (C) n(n+1) (D) n(n+1)/2答案:D2)算法是指令的有限序列,其中每一条指令表示一个或多个操作。
下列______不属于算法的五个特性之一。
(A) 有一或多个输出(B) 有零或多个输入(C) 有穷性(D) 通俗易懂性答案:D3)若某线性表最常用的操作是存取任一指定序号的元素和在最后进行插入和删除运算,则利用()存储方式最节省时间。
(A) 顺序表(B) 双链表(C) 带头结点的双循环链表(D) 单循环链表答案:A4)下面的叙述正确的是()(A) 线性表在链式存储时,查找第i个元素的时间同i的值成正比;(B) 线性表在链式存储时,查找第i个元素的时间同i的值无关;(C) 线性表在顺序存储时,查找第i个元素的时间同i 的值成正比;(D) 以上说法都不对.答案:A5) 若某线性表中最常用的操作是取第i个元素和找第i个元素的前趋元素,则采用()存储方式最节省时间。
(A) 单链表(B) 顺序表(C) 单向循环链表(D) 双链表答案:B6) 在双向链表指针p指向的结点前插入一个指针q指向的结点操作是( )。
(A) p->prior=q;q->next=p;p->prior->next=q;q->prior=q;(B) p->prior=q;p->prior->next=q;q->next=p;q->Prior=p->prior;(C) q->next=p;q->prior=p->prior;p->prior->next=q;p->prior=q;(D) q->prior=p->prior;q->next=q;p->prior=q;p->prior=q;答案:C7) 设计一个判别表达式中左,右括号是否配对出现的算法,采用()数据结构最佳。
数据结构试题集(包含答案完整版)精选全文完整版

可编辑修改精选全文完整版第一章概论一、选择题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(m2)B. O(n2)C. O(m*n)D.O(m+n)6、算法是( D )。
A. 计算机程序B. 解决问题的计算方法C. 排序算法D. 解决问题的有限运算序列7、某算法的语句执行频度为(3n+nlog2n+n2+8),其时间复杂度表示( C )。
A. O(n)B. O(nlog2n)C. O(n2)D.O(log2n)8、下面程序段的时间复杂度为( C )。
i=1;while(i<=n)i=i*3;A. O(n)B. O(3n)C. O(log3n)D. O(n3)9、数据结构是一门研究非数值计算的程序设计问题中计算机的数据元素以及它们之间的()和运算等的学科。
A. 结构B. 关系C. 运算D. 算法10、下面程序段的时间复杂度是(A )。
i=s=0;while(s<n){i++;s+=i;}A. O(n)B. O(n2)C. O(log2n)D. O(n3)11、抽象数据类型的三个组成部分分别为( A)。
A. 数据对象、数据关系和基本操作B. 数据元素、逻辑结构和存储结构C. 数据项、数据元素和数据类型D. 数据元素、数据结构和数据类型12、通常从正确性、易读性、健壮性、高效性等4个方面评价算法的质量.以下解释错误的是()。
数据结构练习试题和答案解析

第1章绪论一、判断题1.数据的逻辑结构与数据元素本身的内容和形式无关。
(√)2.一个数据结构是由一个逻辑结构和这个逻辑结构上的一个基本运算集构成的整体。
(√)3.数据元素是数据的最小单位。
(×)4.数据的逻辑结构和数据的存储结构是相同的。
(×)5.程序和算法原则上没有区别,所以在讨论数据结构时可以通用。
(×)6.从逻辑关系上讲,数据结构主要分为线性结构和非线性结构两类。
(√)7.数据的存储结构是数据的逻辑结构的存储映象。
(√)8.数据的物理结构是指数据在计算机内实际的存储形式。
(√)9.数据的逻辑结构是依赖于计算机的。
(×)10.算法是对解题方法和步骤的描述。
(√)二、填空题1.数据有逻辑结构和存储结构两种结构。
2.数据逻辑结构除了集合以外,还包括线性结构、树形结构和图形结构。
3.数据结构按逻辑结构可分为两大类,它们是线性结构和非线性结构。
4.树形结构和图形结构合称为非线性结构。
5.在树形结构中,除了树根结点以外,其余每个结点只有1个前驱结点。
6.在图形结构中,每个结点的前驱结点数和后继结点数可以任意多个。
7.数据的存储结构又叫物理结构。
8.数据的存储结构形式包括顺序存储、链式存储、索引存储和散列存储。
9.线性结构中的元素之间存在一对一的关系。
10.树形结构中的元素之间存在一对多的关系。
11.图形结构的元素之间存在多对多的关系。
12.数据结构主要研究数据的逻辑结构、存储结构和算法(或运算) 3个方面的内容。
13.数据结构被定义为(D,R),其中D是数据的有限集合,R是D上的关系有限集合。
14.算法是一个有穷指令的集合。
15.算法效率的度量可以分为事先估算法和事后统计法。
16.一个算法的时间复杂度是算法输入规模的函数。
17.算法的空间复杂度是指该算法所耗费的存储空间,它是该算法求解问题规模的n的函数。
18.若一个算法中的语句频度之和为T(n)=6n+3nlog2n,则算法的时间复杂度为O( nlog2n)。
数据结构的试题及答案

数据结构的试题及答案一、选择题(每题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)算法,并给出其算法步骤。
数据结构练习题

数据结构练习题(第一部分)一、单项选择题。
1、从逻辑上可以把数据结构分为( C )两大类。
A、动态结构与静态结构B、顺序结构和链式结构C、线性结构与非线性结构D、简单结构与复合结构2、数据的存储结构包括顺序、链式、散列和( D ) 4种基本类型。
A、向量B、数组C、集合D、索引3、线性表是具有n个( C )的有限序列(n>0)。
A、表元素B、字符C、数据元素D、数据项4、线性表中,( C )只有一个直接前驱和一个直接后继。
A、首元素B、尾元素C、中间元素D、所有的元素5、往顺序栈中压入一个元素时,栈顶指针是( A )。
A、加1B、减1C、不变D、清06、若进栈序列为1,2,3,4,5,进栈的过程中可以退栈,则(C )不可能是一个退栈序列。
A、3421B、2431C、1423D、32147、判定一个循环队列Q(存放元素位置0~MaxQueueSize-1)队满的条件是(C )。
A、Q.front==Q.rearB、Q.front+1==Q.rearC、Q.front==( Q.rear+1)% MaxQueueSizeD、Q.rear==( Q.front+1)% MaxQueueSize8、串是一种特殊的线性表,其特殊性体现在( B )。
A、可以顺序存储B、数据元素是一个字符C、可以链式存储D、数据元素可以是多个字符9、下列关于串的叙述中,正确的是( A )。
A、一个串的字符个数即是该串的长度B、一个串的长度至少是1C、空串是由一个空格字符组成的串D、两个串S1和S2 若长度相同,则这两个串相等10、数组是一个(C )线性表结构。
A、不加限制B、加了限制C、推广了的D、非11、数组与一般线性表的区别主要是( D )。
A、存储方面B、元素类型一致C、逻辑结构方面D、一般不能进行插入、删除运算12、线性表采用链式存储时,其地址( A )。
A、连续与否均可以B、一定是连续的C、部分地址必须是连续的D、必须是连续的13、以下数据结构中,是非线性数据结构的是( A )。
数据结构基本概念练习题(答案)

数据结构基本概念练习题一、不定项选择和填空题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、线性表的顺序存储结构是一种(B)的存储结构,线性表的链式存储结构是一种(A)的存储结构A、随机存取B、顺序存取C、索引存取D、HASH存取5、算法分析的目的是(C①),算法分析的两个主要方面是(②A)①A、找出数据结构的合理性B、研究算法中的输入和输出的关系C、分析算法的效率以求改进D、分析算法的易懂性和文档性②A、空间复杂性和时间复杂性B、正确性和简明性C、可读性和文档性D、数据复杂性和程序复杂性6、计算机算法指的是(①C),它必具备输入、输出和(C②)等五个特性①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、每种数据结构都具备三个基本运算:插入、删除和查找,这种说法(A)A、正确B、不正确pascal编程基础练习题一、不定项选择和填空题1、下列关于程序语言的叙述,不正确的是(CD)A、编写机器代码不比编写汇编代码容易B、高级语言需要编译成目标代码或通过解释器解释后才能被CPU执行C、同样一段高级语言程序通过不同的编译器可能产生不同的可执行程序D、汇编代码可被CPU直接运行E、不同的高级语言语法略有不同2、下列哪一种程序设计语言是解释执行的(BD)A、Pascal B、GWBASIC C、C++ D、FORTRAN3、解释程序的功能是(C)A、将高级语言程序转换为目标程序B、将汇编语言程序转换为目标程序C、解释执行高级语言程序D、解释执行汇编语言程序4、下列中没有语法错误的PASCAL程序首部是(A)A、PROGRAM A1;B、PROGRAM A1(0utPut)C、PROGRAM (Input,OutPut);D、PROGRAM A1(Input OutPut);5、结构化程序的结构由三种基本结构组成,下面哪个不属于这三种基本结构(B)A、顺序结构B、输入输出结构C、分支结构D、循环结构6、Pascal程序必须包括(C)A、程序首部、说明部分、语句部分B、程序首部、说明部分C、说明部分、语句部分D、程序首部、语句部分7、标准Pascal程序说明部分的正确顺序是(C)A、LABEL—CONST—VAR—TYPE B、VAR—CONST—LABEL—TYPEC、LABEL—CONST—TYPE—VAR D、CONST—VAR—TYPE—LABEL8、下面对Pascal程序组成结构的描述错误的是(B)A、程序体可以为空B、程序的注释部分只能写在程序中一条语句的最后C、程序首都的参数部分可有可无D、一个完整的PASCAL程序的主程序只能有一个9、要编写并执行—个PASCAL程序,—般的步骤是(A)A、①用编辑软件编写源程序②用PASCAL的编译程序把源程序转换成目标程序③用连接程序把目标程序转换为可执行程序④运行可执行程序B、①用编辑软件编写源程序②修改和调试源程序③用PASCAL的编译程序把源程序转换成可执行程序④运行可执行程序C、①用编辑软件编写源程序②用连接程序把源程序转换成可执行程序③试运行可执行程序④修改后再运行可执行程序D、①用编辑软件编写源程序②用连接程序把源程序转换为目标程序③用PASCAL的编译程序把目标程序转换为可执行程序④运行可执行程序10、PASCAL源程序中不正确的注释语句是(B)A、用一对“{”和“}”括起来的字符串B、用一对“/*”和“*/”括起来的字符串C、用—对“(*”和“*)”括起来的字符串D、A) 或 B)11、以下正确的PASCAL实数是(BF)A、0.56E2.5 B、2.56E2 C、.318E1 D、34.E5E、E5 F、3E-5 G、.15 H、15.12、每个Pascal程序的分程序中都必须包括(B)A、变量说明、语句B、语句C、类型定义、变量说明、语句D、常量说明、变量说明、语句13、下列中合法的Pascal标识符是(EH)A、Char set B、RECORD C、Abs D、πE、A1B2C3F、FOR G、2ab H、a[1]14、设a、b、c为整型变量,并有以下程序段Read(a);Readln(b,c);Readln(c,b);Readln(a,b);writeln(a,b,c)若运行时输入:1 2 3<ENTER>4 5 6<ENTER>7 8 9<ENTER>其中<ENTER>表示回车符,则输出是(C)A、123 B、147 C、78415、下列表达式中,其值为TRUE的是(ADEFG)A、150>=150 B、100>150 C、Abs(-200)<>200 D、Succ('A')<Succ('a') E、'ab'<'abc' F、Succ(False)=True G、Odd(35+1)=FaLse H、219<>21916、有变量说明:VAR i1,i2:Integer;r1,r2:Real;b1,b2:Boolean;设各变量均已赋值,下列中错误的赋值语句是(ABDF)A、b2:=Ord(r1>r2) B、i2:=i1+r1 C、b1:=i1=i2 D、b1:=b1+b2E、i2:=i1+i2 DIV i1 F、i1:=i1/i2 G、r2:=3/5*Sqr(r1+r2) H、r1:=r2+r117、下面一段程序是用(C))语言书写的int funcl (int n){int i,sum=0;for (i = 1;i<=n;i++)sum+= i*i;return sum;}A、FORTRAN B、PASCAL C、C D、PROLOG E、BASIC18、设全集E={1,2,3,4,5},集合A={1,4},B={l,2, 5},C={2,4),则集合(A∩B)∪~C为(E)A、空集B、{1} C、{3,5} D、{1,5} E、{1,3,5}19、运算17 MOD 4的结果是(C)A、7 B、3 C、1 D、420、已知a、b、c、d、e、f、g均为整数变量,其值分别为2、4、6、8、10、12、14,若输出结果为2 46 8 1012 14则输出语句应是(D)A、Write(a:3,b:3);write(c:3,d:3,e:3);Write(f:3,g:3)B、Writeln(a:3,b:3);Write(c:3,d:3,e:3);Writeln(f:3,g:3)C、Writeln(a:3,b:3);Writeln(c:3,d:3,e:3);Writeln;Writeln(f:3,g:3);D、Write(a:3,b:3);Writeln;Write(c:3);Writeln(d:3,e:3);Write(f:3,g:3)21、把整数7转换为字符‘7’的表达式是哪一个(C)A、Chr(7)-0rd('0') B、Chr(7-0rd(0)) C、Chr(7+0rd('0')) D、Chr(7+0rd(0))22、下列类型定义中,合法的是(AB)A、TYPE a=10..10;B、TYPE b=0..Sqr(10);C、TYPE c=1.0..10.0;D、TYPE d=10..5;23、以下运算符中运算优先级最高的是(D)A、+B、OR C、>= D、DIV24、已知有如下说明:VARa,b:Integer;c,d:Real;下面赋值语句合法的是(AD)A、c:=a+b B、a:=Trunc(c) C、a:=a+b/c D、b:=a div d25、设有变量说明:VAR s:(C,G,A,J,K);则函数Succ(A)的取值是(C)A、G B、3 C、J D、B26、表达式True AND NOT Odd(-202)<(7-3<=4)的值是(B)A、True B、False C、0 D、127、下列常量说明中合法的是(D)A、CONST color=red..blue; B、CONST CONST=10*5;C、CONST x1:=3.9; D、CONST abc='abc';28、已知a、b、c、d是同类型简单变量,且都已有互不相同的值,执行下列语句b:=a; a:=c; d:=C; d:=A;后,其值相等的变量是(AD)A、a,d B、a,c C、c,b D、b,d29、下面合法的常量是(C)A、.25 B、"RED" C、'%' D、3E-2.530、设a、b、c、d、e均为整型变量,且a=13、b=2、c=10、d=3、e=2,则表达式a-b*c DIV d MOD e的值是:(A)A、13 B、-7 C、11 D、0。
1-数据结构基本概念(带答案)

1-数据结构基本概念(带答案)数据结构练习题1. 下列关于数据的逻辑结构的叙述中,__________是不正确的。
A. 数据的逻辑结构是数据间关系的描述B.数据的逻辑结构不仅反映数据间的逻辑关系,而且反映其在计算机中的存储方式C.数据的逻辑结构分为线性结构和非线性结构D.树形结构是典型的非线性结构答案B2. 在文件系统中,文件的逻辑块与存储介质上物理块存放顺序一致的物理结构是___________。
A. 顺序结构B. 链接结构C. 索引结构D. B树结构答案是A3. 下列关于数据结构基本概念的叙述中,正确的是___________。
A. 数据的逻辑结构分为表结构和树结构B. 数据的存储结构分为线性结构和非线性结构C. 数据元素是数据的基本单位D. 结点是有独立意义的数据最小单位标准答案是C4. 下列关于数据元素的叙述中,不正确的是____________。
A. 数据元素是数据的基本单位,即数据集合中的个体B. 数据元素是有独立含义的数据最小单位C. 数据元素又称作结点D. 数据元素又称为记录标准答案是B。
5. 下列__________不是文件的物理结构。
A. 顺序结构B. Hash结构C. 索引结构D. 流式结构标准答案为D。
6. 下列关于数据的存储结构的叙述中,正确的是__________。
A.数据的存储结构是数据间关系的抽象描述B.数据的存储结构是逻辑结构在计算机存储器中的实现C.数据的存储结构分为线性结构和非线性结构D.数据的存储结构对数据运算的具体实现没有影响标准答案是B。
7. 下列___________是数据结构研究的内容。
Ⅰ数据的采集Ⅱ数据的逻辑结构Ⅲ数据的存储实现Ⅳ数据的传输Ⅴ数据的检索A. Ⅱ和ⅣB. Ⅰ、Ⅱ和ⅢC. Ⅱ、Ⅲ和ⅤD. Ⅰ、Ⅲ和Ⅴ标准答案是C8. 下列关于数据结构基本概念的叙述中,________是不正确的。
A. 数据是采用计算机能够识别、存储和处理的方式,对现实世界的事物进行的描述B. 数据元素(或称结点、记录等)是数据的基本单位C. 一个数据元素至少由两个数据项组成D. 数据项是有独立含义的数据最小单位一个数据元素可由一个或多个数据项组成,所以选项C是错误的。
(完整版)数据结构练习题及参考答案

数据结构练习题第一部分绪论一、单选题1. 一个数组元素a[i]与________的表示等价。
A、 *(a+i)B、 a+iC、 *a+iD、 &a+i2. 对于两个函数,若函数名相同,但只是____________不同则不是重载函数。
A、参数类型B、参数个数C、函数类型3. 若需要利用形参直接访问实参,则应把形参变量说明为________参数A、指针B、引用C、值4. 下面程序段的时间复杂度为____________。
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)5. 执行下面程序段时,执行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)/26. 下面算法的时间复杂度为____________。
int f( unsigned int n ) {if ( n==0 || n==1 ) return 1; else return n*f(n-1);}A、 O(1)B、 O(n)C、 O(n2)D、 O(n!)二、填空题1. 数据的逻辑结构被分为__________、_________、__________和__________四种。
2. 数据的存储结构被分为__________、_________、__________和__________四种。
3. 在线性结构、树形结构和图形结构中,前驱和后继结点之间分别存在着________、________和________的联系。
4. 一种抽象数据类型包括__________和__________两个部分。
5. 当一个形参类型的长度较大时,应最好说明为_________,以节省参数值的传输时间和存储参数的空间。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据结构基本概念练习题1、选择练习题1)执行下面程序段时,执行S语句的次数为-------for(int I=1;I<=n;I++)for(int j=1;j<=I;j++)S;(A) n^2 (B) n^2/2 (C) n(n+1) (D) n(n+1)/2答案:D2)算法是指令的有限序列,其中每一条指令表示一个或多个操作。
下列______不属于算法的五个特性之一。
(A) 有一或多个输出(B) 有零或多个输入(C) 有穷性(D) 通俗易懂性答案:D3)若某线性表最常用的操作是存取任一指定序号的元素和在最后进行插入和删除运算,则利用()存储方式最节省时间。
(A) 顺序表(B) 双链表(C) 带头结点的双循环链表(D) 单循环链表答案:A4)下面的叙述正确的是()(A) 线性表在链式存储时,查找第i个元素的时间同i的值成正比;(B) 线性表在链式存储时,查找第i个元素的时间同i的值无关;(C) 线性表在顺序存储时,查找第i个元素的时间同i 的值成正比;(D) 以上说法都不对.答案:A5) 若某线性表中最常用的操作是取第i个元素和找第i个元素的前趋元素,则采用()存储方式最节省时间。
(A) 单链表(B) 顺序表(C) 单向循环链表(D) 双链表答案:B6) 在双向链表指针p指向的结点前插入一个指针q指向的结点操作是( )。
(A) p->prior=q;q->next=p;p->prior->next=q;q->prior=q;(B) p->prior=q;p->prior->next=q;q->next=p;q->Prior=p->prior;(C) q->next=p;q->prior=p->prior;p->prior->next=q;p->prior=q;(D) q->prior=p->prior;q->next=q;p->prior=q;p->prior=q;答案:C7) 设计一个判别表达式中左,右括号是否配对出现的算法,采用()数据结构最佳。
(A) 线性表的顺序存储结构(B) 队列(C) 线性表的链式存储结构(D) 栈答案:D8) 若一个栈以向量V[1..n]存储,初始栈顶指针top为n+1,则下面x进栈的正确操作是( )。
(A) top=top+1; V [top]=x (B) V [top]=x; top=top+1 (C) top=top-1; V [top]=x(D) V [top]=x; top=top-1答案:C9)若用一个大小为6的数组来实现循环队列,且当前rear和front的值分别为0和3,当从队列中删除一个元素,再加入两个元素后,rear和front的值分别为多少?( )(A) 1和5 (B) 2和4 (C) 4和2 (D) 5和1答案:B10)设abcdef以所给的次序进栈,若在进栈操作时,允许退栈操作,则下面得不到的序列为()。
(A) fedcba (B) bcafed (C) dcefba (D) cabdef答案:D11)假设以行序为主序存储二维数组A=array[1..100,1..100],设每个数据元素占2个存储单元,基地址为10,则LOC[5,5]=()。
(A) 808 (B) 818 (C) 1010 (D) 1020答案:B12)数组A[0..4,-1..-3,5..7]中含有元素的个数()。
(A) 55 (B) 45 (C) 36 (D) 16答案:B13)A[N,N]是对称矩阵,将下面三角(包括对角线)以行序存储到一维数组T[N(N+1)/2]中,则对任一上三角元素a[i][j]对应T[k]的下标k是()。
(A) i(i-1)/2+j (B) j(j-1)/2+i (C) i(j-i)/2+1 (D) j(i-1)/2+1答案:B14)对稀疏矩阵进行压缩存储目的是()。
(A) 便于进行矩阵运算(B) 便于输入和输出(C) 节省存储空间(D) 降低运算的时间复杂度答案:C15) 对广义表L=(a,())执行操作tail(L)的结果是( )(A) () (B) (()) (C) a (D) (a)答案:B16) 具有10个叶结点的二叉树中至少有()个度为2的结点(A) 8 (B) 9 (C) 10 (D) 11答案:B17)当一棵有n个结点的二叉树按层次从上到下,同层次从左到右将数据存放在一维数组A[l..n]中时,数组中第i个结点的左孩子为()(A) A[2i](2i<=N) (B) A[2i+1](2i+1<= n) (C) A[i/2] (D) 无法确定答案:D18)二叉树的先序遍历和中序遍历如下:先序遍历:EFHIGJK;中序遍历: HFIEJKG 。
该二叉树根的右子树的根是( )(A) E (B) F (C) G (D) H答案:C19)由3 个结点可以构造出多少种不同的二叉树?()(A) 2 (B) 3 (C) 4 (D) 5答案:D20)n个结点的线索二叉树上含有的线索数为()(A) 2n (B) n-l (C) n+l (D) n答案:C21)数据结构的定义为(d,R),其中d是的集合。
B(A) 算法 (B) 数据元素 (C) 数据操作 (D) 逻辑结构22)基本的逻辑结构包括( D )。
(A) 树型结构、图状结构、线性结构和非线性结构(B) 集合结构、线性结构、树型结构和非线性结构(C) 集合结构、树型结构、图状结构和非线性结构(D) 集合结构、线性结构、树型结构和图状结构23)数据结构是一门研究计算机中对象及其关系的学科。
B(A) 数值预算 (B) 非数值运算 (C) 集合 (D) 非集合23)下面程序段的时间复杂度为(C )。
for (i=1;i<=m;++i)for (j=1;j<=n;++j)A[i,j]=i*j;注:m的平方表示为m^2(A) O(m^2) (B) O(n^2) (C) O(m*n) (D) O(m+n)24)数据的运算定义在数据的逻辑结构上,只有确定了( C ),才能具体实现这些运算。
(A) 数据对象 (B) 逻辑结构 (C) 存储结构 (D) 数据操作25)下面程序段执行的时间复杂度为( C )。
for(i=1;i<=n;i++)for(j=1;j<=i;j++) s++;(A) O(n) (B) O(lgn) (C) O(n^2) (D) O(n^3)26)对于顺序表的优缺点,以下说法错误的是( C )。
(A) 无需为表示结点间的逻辑关系而增加额外的存储空间(B) 可以方便地随机存取表中的任一结点(C) 插入和删除运算较方便(D) 容易造成一部分空间长期闲置而得不到充分利用27)对于一个头指针为head的带头结点的单链表,判定该表为空表的条件是(B)。
(A) head==NULL (B) head->next==NULL (C) head->next==head (D) head!=NULL28 一个顺序表第一个元素的存储地址是100,每个元素的存储长度为4,则第5个元素的地址是( B )。
(A) 110 (B) 116 (C) 100 (D) 12029)当对线性表的操作是以插入操作和删除操作为主时或当线性表的长度不能确定或表长变化很大时,应选择( B )作为线性表的存储结构。
(A) 顺序表 (B) 链表 (C) 栈 (D) 队列30)设一个链表最常用的操作是在末尾插入结点和删除尾结点,则选用(D)最节省时间。
(A) 单链表 (B) 单循环链表 (C) 带尾指针的单循环链表 (D) 带头结点的双循环链表31)在双向链表指针p指向的结点前插入一个指针q指向的结点操作是( C )。
(A) p->prior=q;q->next=p;p->prior->next=q;q->prior=q;(B) p->prior=q;p->prior->next=q;q->next=p;q->Prior=p->prior;(C) q->next=p;q->prior=p->prior;p->prior->next=q;p->prior=q;(D) q->prior=p->prior;q->next=q;p->prior=q;p->prior=q;32)在一个单链表中,若删除P结点的后继结点,则__A___(A) p->next = p->next->next;(B) p = p->next; p->next = p->next->next;(C) p->next = p->next;(D) p = p->next->next;33)若某线性表中最常用的操作是取第i个元素和找第i个元素的前趋元素,则采用( B )存储方式最节省时间。
(A) 单链表 (B) 顺序表 (C) 单向循环链表 (D) 双链表34)一个栈的输入序列为123…n,若输出序列的第一个元素是n,输出第i(1<=i<=n)个元素是(B )。
(A) 不确定 (B) n-i+1 (C) i (D) n-i35)设有三个元素X,Y,Z顺序进栈(进的过程中允许出栈),下列得不到的出栈排列是( C )。
(A) XYZ (B) YZX (C) ZXY (D) ZYX36)用不带头结点的单链表存储队列时,其队头指针指向队头结点,其队尾指针指向队尾结点,则在进行删除操作时( D )。
(A) 仅修改队头指针(B) 仅修改队尾指针(C) 队头、队尾指针都要修改(D) 队头,队尾指针都可能要修改37)串的长度是指(B )(A) 串中所含不同字母的个数 (B) 串中所含字符的个数(C) 串中所含不同字符的个数 (D) 串中所含非空格字符的个数38)二维数组A的每个元素是由6个字符组成的串,其行下标i=0,1,…,8,列下标j=1,2,…,10。
若A按行先存储,元素A[8,5]的起始地址与当A按列先存储时的元素( B )的起始地址相同。
设每个字符占一个字节。
(A) A[8,5] (B) A[3,10] (C) A[5,8] (D) A[0,9]39)对二叉树的结点从1开始进行连续编号,要求每个结点的编号大于其左、右孩子的编号,同一结点的左右孩子中,其左孩子的编号小于其右孩子的编号,可采用( C )次序的遍历实现编号。
(A) 先序 (B) 中序 (C) 后序 (D) 从根开始按层次遍历40)在中国,孔氏家族是影响最大的家族。