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

数据结构试题集(包含答案-完整版)数据结构试题集(包含答案-完整版)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、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 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)在中国,孔氏家族是影响最大的家族。