数据结构题库教材

合集下载

《数据结构基础教程》习题及解答

《数据结构基础教程》习题及解答

《数据结构基础教程》习题及解答数据结构基础教程习题及解答第一章:数据结构简介1.1 什么是数据结构?数据结构是指相互之间存在一种或多种特定关系的数据元素的集合,包括数据的逻辑结构、物理结构和数据元素之间的运算。

1.2 数据的逻辑结构有哪些?数据的逻辑结构包括线性结构、树形结构和图状结构。

1.3 数据的物理结构有哪些?数据的物理结构包括顺序存储结构和链式存储结构。

1.4 数据结构的主要目标是什么?数据结构的主要目标是提高数据的存储效率和运算效率。

第二章:线性表2.1 线性表的定义线性表是由n(≥0)个数据元素组成的有限序列。

线性表是一种常见的数据结构,常用的实现方式包括数组和链表。

2.2 线性表的顺序存储结构线性表的顺序存储结构是将线性表中的元素存储在连续的存储空间中,通过元素在内存中的物理位置来表示元素之间的关系。

2.3 线性表的链式存储结构线性表的链式存储结构是通过指针将线性表中的元素连接在一起,每个元素包括数据域和指针域。

2.4 线性表的基本操作包括初始化线性表、插入元素、删除元素、查找元素等。

第三章:栈与队列3.1 栈的定义与特性栈是一种具有后进先出特性的线性表,只允许在一端进行插入和删除操作,被称为栈顶。

3.2 栈的顺序存储结构和链式存储结构栈的顺序存储结构和链式存储结构与线性表的存储结构类似,不同之处在于栈只允许在一端进行插入和删除操作。

3.3 栈的应用栈在表达式求值、函数调用和递归等场景中有广泛应用。

3.4 队列的定义与特性队列是一种具有先进先出特性的线性表,允许在一端插入元素,在另一端删除元素。

3.5 队列的顺序存储结构和链式存储结构队列的顺序存储结构和链式存储结构与线性表的存储结构类似,不同之处在于队列允许在一端插入元素,在另一端删除元素。

3.6 队列的应用队列在模拟排队系统、操作系统进程调度等场景中有广泛应用。

第四章:树与二叉树4.1 树的基本概念树是由n(≥0)个节点组成的有限集合,其中有一个称为根节点,除了根节点之外的其余节点被分为m(m≥0)个互不相交的集合,每个集合本身又是一棵树。

数据结构试题(含答案)讲解

数据结构试题(含答案)讲解

数据结构试题一、单选题1、在数据结构的讨论中把数据结构从逻辑上分为(C )A 内部结构与外部结构B 静态结构与动态结构C 线性结构与非线性结构D 紧凑结构与非紧凑结构。

2、采用线性链表表示一个向量时,要求占用的存储空间地址(D )A 必须是连续的B 部分地址必须是连续的C 一定是不连续的D 可连续可不连续3、采用顺序搜索方法查找长度为n的顺序表时,搜索成功的平均搜索长度为( D )。

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

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、如果想在4092个数据中只需要选择其中最小的5个,采用( C )方法最好。

A 起泡排序B 堆排序C 锦标赛排序D 快速排序6、设有两个串t和p,求p在t中首次出现的位置的运算叫做( B )。

A 求子串B 模式匹配C 串替换D 串连接7、在数组A中,每一个数组元素A[i][j]占用3个存储字,行下标i从1到8,列下标j从1到10。

所有数组元素相继存放于一个连续的存储空间中,则存放该数组至少需要的存储字数是( C )。

A 80B 100C 240D 2708、将一个递归算法改为对应的非递归算法时,通常需要使用( A )。

A 栈B 队列C 循环队列D 优先队列9、一个队列的进队列顺序是1, 2, 3, 4,则出队列顺序为( C )。

10、在循环队列中用数组A[0..m-1] 存放队列元素,其队头和队尾指针分别为front和rear,则当前队列中的元素个数是( D )。

A ( front - rear + 1) % mB ( rear - front + 1) % mC ( front - rear + m) % mD ( rear - front + m) % m11、一个数组元素a[i]与( A )的表示等价。

《数据结构》练习题库

《数据结构》练习题库

一、填空题1.数据结构根据数据元素之间关系的不同特性,有四种基本结构:集合、线性结构、和。

2.数据结构的形式定义可用二元组表示,其成分分为数据元素的有限集,和。

3.一个好的算法设计应满足正确性、、健壮性和效率与低存储量需求。

4.数组是一种存取的存储结构。

5.串中组成的子序列称该串的子串。

6.稀疏矩阵存储时,常采用三元组表和的表示方法。

7.设树T的度为4,其中度为1、2、3、4的结点个数分别为4、2、1、1,则T中叶子结点的个数是。

8.指针pred 指向刚刚访问过的结点,p 指向当前访问的结点,结点的结构含有左指针lchild,右指针rchild,左标志ltag,右标志rtag,当结点的左指针为空时,线索化操作为:p->ltag=1;和。

9.用图的顶点表示活动,用弧表示活动间的优先关系的有向图称为网。

10.排序方法稳定的,是指排序后的序列中的元素前后次序仍不变。

11.文件在存储介质(磁盘或磁带)上的组织方式称为文件的。

12.索引文件是包括和索引表两大部分的文件。

13.在算法是正确的前提下,评价算法的两个标准是、。

14.链表是一种存取的存储结构。

15.设链栈的栈顶指针为LS,链栈的结点结构为,栈空的条件是。

16.在非空双链表(结点结构为)中,指针p指向该链表中的某个结点。

若要指针p往前移动两个结点,即使p指向当前结点的前驱的前驱(假定存在这样的结点),则需要执行一个语句。

17.设无向图G用邻接表表示,图中顶点V i的度等于。

18.中序遍历二叉排序树可得到一个关键字的。

19.后序遍历如图所示的一棵二叉树,所得到结点序列为。

20.在有n 个叶子结点的哈夫曼树中,其结点总数为 。

21.含有n 个顶点的无向图是一个环,则它有 棵生成树。

22.设单链表的结点结构为,且r 始终指向单链表的最后一个结点,要在最后一个结点之后插入由s 所指向的结点,需要执行的三条语句是 ;r=s ;s->next=NULL ;23.串中任意个连续的字符组成的子序列称为 。

数据结构相关题库及答案

数据结构相关题库及答案

数据结构相关题库及答案第三章栈和队列一、判断题:1、栈和队列都是限制存取点的线性结构(易)2、栈和队列是两种重要的线性结构。

(易)3、带头结点的单链表形式的队列,头指针F指向队列的头结点,尾指针R指向队列的最后一个结点(易)4、在对不带头结点的链队列作出队操作时,不会改变头指针的值。

(易)答案:1-4 √√××二、选择题:1、一个栈的入栈序列a,b,c,d,e,则栈的不可能的输出序列是C____。

A、 edcba B、 decbaC、 dceabD、 abcde2、若已知一个栈的入栈序列是1,2,3,…,n,其输出序列为p1,p2,p3,…,pn,若p1=n,则pi为_C___。

A、 iB、 n=iC、 n-i+1D、不确定3、栈结构通常采用的两种存储结构是_A___。

A、顺序存储结构和链式存储结构B、散列方式和索引方式C、链表存储结构和数组D、线性存储结构和非线性存储结构4、判定一个顺序栈ST(最多元素为m0)为空的条件是_B___。

A、top !=0B、top= =0C、top !=m0D、top= =m0-15、判定一个顺序栈ST(最多元素为m0)为栈满的条件是D。

A、top!=0 B、top= =0 C、top!=m0 D、top= =m0-16、队列操作的原则是( A ) A、先进先出 B、后进先出 C、只能进行插入 D、只能进行删除7、向一个栈顶指针为HS的链栈中插入一个s所指结点时,则执行__ _C_。

(不带空的头结点) (易)A、HS—>next=s;9B、s—>next= HS—>next; HS—>next=s;C、s—>next= HS; HS=s;D、s—>next= HS; HS= HS—>next8、从一个栈顶指针为HS的链栈中删除一个结点时,用x保存被删结点的值,则执行__ _B_。

(不带空的头结点) (中)A、x=HS; HS= HS—>next;B、x=HS—>data;C、HS= HS—>next; x=HS—>data;D、x=HS—>data; HS= HS—>next;9、一个队列的数据入列序列是1,2,3,4,则队列的出队时输出序列是___C_ 。

数据结构教材课后习题及参考答案习题 (10)[3页]

数据结构教材课后习题及参考答案习题 (10)[3页]

习题6一.填空题1.树中除根结点外,其他结点有且只有个直接前驱结点,但可以有个直接后继结点。

2.树中结点的度,是指结点拥有的个数;一棵具有n个结点的树,该树中所有结点的度数之和为。

3.深度为h的完全二叉树至少有个结点,至多有个结点,若按层序从1开始编号,则编号最小的叶子结点的编号是。

5.将一棵完全二叉树按层序从1进行编号,对编号为i的结点,如果有左孩子,则左孩子的编号应该是;如果有右孩子,则右孩子的编号应该是。

6.一棵完全二叉树有1001个结点,其深度是,叶子结点个数是。

78.树的先根遍历序列与其对应二叉树的遍历序列相同,树的后根遍历序列与其对应二叉树的遍历序列相同。

9.若二叉树共有n个结点,采用线索链表存储其线索二叉树,那么在所有存储结点里,一共有个指针域,其中有个指针是指向其孩子结点的,个指针是指向其前驱后继结点的。

指向前驱后继结点的指针称为。

10.哈夫曼树又称。

它是n个带权叶子结点构成的所有二叉树中,带权路径长度的二叉树。

11.哈夫曼树中,权值较大的叶结点一定离根结点。

由n个带权值的叶结点生成的哈夫曼树中共有个结点,其中有个分支结点。

12.哈夫曼树中不存在度为的结点。

二.选择题1.有关二叉树下列说法正确的是()A.二叉树的度为2 B.一棵二叉树的度可以小于2C.二叉树中至少有一个结点的度为2 D.二叉树中任何一个结点的度都为2 2.二叉树的第i层上最多含有结点数为()A.2i B.2i-1-1 C.2i-1D.2i-13.一棵具有1025个结点的二叉树的高度为( )。

A.11 B.10 C.11至1025之间D.10至1024之间4.一棵高度为5的二叉树,其结点总数为()。

A.6~17 B.5~16 C.6~32 D.5~315.若一棵二叉树具有10个度为2的结点,5个度为1的结点,则度为0的结点的个数是( )。

A.9 B.11 C.15 D.不能确定6.一棵完全二叉树具有600个结点,则它有( ) 个度为1的结点。

数据结构题库及答案详解

数据结构题库及答案详解

数据结构题库及答案详解一、选择题1. 在数据结构中,线性结构的特点是什么?A. 结构中存在唯一的开始结点和终端结点B. 结构中所有结点的前驱和后继都存在C. 结构中所有结点都只有一个直接前驱和一个直接后继D. 结构中存在多个开始结点和终端结点答案:C2. 栈是一种特殊的线性表,其特点是:A. 先进先出B. 先进后出C. 可以同时在两端进行插入和删除操作D. 只能在一端进行插入和删除操作答案:D3. 在二叉树的遍历算法中,先序遍历的顺序是:A. 先访问根结点,然后遍历左子树,最后遍历右子树B. 先遍历左子树,然后访问根结点,最后遍历右子树C. 先遍历右子树,然后访问根结点,最后遍历左子树D. 先遍历左右子树,最后访问根结点答案:A二、填空题4. 在图的遍历中,______算法可以避免重复访问同一顶点。

5. 哈希表的冲突可以通过______方法来解决。

答案:4. 深度优先搜索(DFS)5. 链地址法或开放地址法三、简答题6. 简述排序算法中的快速排序算法的基本原理。

答案:快速排序算法是一种分治算法,它通过选择一个元素作为“基准”,然后将数组分为两个子数组,一个包含小于基准的元素,另一个包含大于基准的元素。

然后对这两个子数组递归地应用快速排序算法。

7. 解释什么是递归,并给出一个递归函数的例子。

答案:递归是一种在函数中调用自身的编程技术。

递归函数必须有一个明确的终止条件,以避免无限递归。

例如,计算阶乘的递归函数如下:```int factorial(int n) {if (n == 0) return 1; // 终止条件return n * factorial(n - 1); // 递归调用}```四、编程题8. 编写一个函数,实现单链表的反转。

答案:```c// 假设ListNode是链表节点的定义ListNode* reverseList(ListNode* head) {ListNode* prev = NULL;ListNode* curr = head;ListNode* next = NULL;while (curr != NULL) {next = curr->next; // 保存下一个节点curr->next = prev; // 反转指针prev = curr; // 移动prevcurr = next; // 移动curr}return prev; // 新的头节点}```9. 给定一个整数数组,请实现一个函数来找到数组中的最长连续子序列的长度。

《数据结构》精品课程题库

《数据结构》精品课程题库
A.BT[i/2] B.BT[2*i-1]
B.BT[2*i] D.BT[2*i+1]
13. 由同一关键字集合构造的各棵二叉排序树( )
A. 其形态不一定相同,但平均查找长度相同
B. 其形态不一定相同,平均查找长度也不一定相同
C. 其形态均相同,但平均查找长度不一定相同
C.三叉链表 D.顺序存储结构
28. 对一个满二叉树,M个树叶,N个结点,深度为H,则( )
A.N=H+M B.H+M=2H
C.M=H-1 D.N=2*eh-1
29. 如果某二叉树的前序为stuwv,中序为uwtvs,那么该二叉树的后序中( )
A. LL B. LR
C. RL D. RR
6. 一棵含18个结点的二叉树的高度至少为( )
A.3 B.4
C.5 D.6
7. 已知二叉树的先序序列为ABDECF,中序序列为DBEAFC,则后序序列为( )
A.DEBAFC B.DEFBCA
A.只有右子树上的所有结点 B.只有右子树上的部分结点
C.只有左子树上的所有结点 D.只有左子树上的部分结点
25. 树最适合用来表示( )
A.有序数据元素 B.无序数据元素
C.元素之间具有分层次关系的数据 D.元素之间无联系的数据
A.N在M右方 B.N是M祖先
C.N在M左方 D.N是M子孙
32. 线索二叉树是一种__结构( )
A.逻辑 B.逻辑和存储
C.物理 D.线性
33. l 将一棵有 100个结点的完全二叉树,从根这一层开始,每一层从左到右依次对结点编号,根据点的 编号为1,则编号为49的结点的双亲的编号为 ( )

数据结构试题库及答案

数据结构试题库及答案

数据结构试题库及答案一、选择题(每题2分,共20分)1. 在数据结构中,线性表的顺序存储结构通常使用()来存储。

A. 链表B. 栈C. 队列D. 数组答案:D2. 以下哪个算法不是排序算法?A. 快速排序B. 归并排序C. 深度优先搜索D. 堆排序答案:C3. 在二叉树的遍历算法中,先访问根节点,然后遍历左子树,最后遍历右子树的遍历方式是()。

A. 先序遍历B. 中序遍历C. 后序遍历D. 层序遍历答案:A4. 哈希表的冲突解决方法不包括以下哪种?A. 链地址法B. 线性探测法C. 二分查找法D. 再散列法答案:C5. 在图的遍历算法中,广度优先搜索(BFS)使用的辅助数据结构是()。

A. 栈B. 队列C. 堆D. 链表答案:B6. 下列关于堆的描述中,错误的是()。

A. 堆是一种特殊的完全二叉树B. 堆中的每个节点的值都大于其子节点的值C. 堆可以用于实现优先队列D. 堆的插入操作的时间复杂度为O(log n)答案:B7. 在一个长度为n的数组中,使用二分查找算法查找一个元素的最坏情况下的时间复杂度是()。

A. O(1)B. O(n)C. O(n^2)D. O(log n)答案:D8. 以下哪个数据结构不是线性结构?A. 链表B. 栈C. 队列D. 二叉树答案:D9. 以下哪个算法是动态查找表?A. 直接索引B. 顺序查找C. 二分查找D. 哈希表答案:D10. 在图的表示方法中,邻接矩阵表示法的缺点是()。

A. 占用空间大B. 占用空间小C. 插入和删除操作复杂D. 遍历操作复杂答案:A二、填空题(每题2分,共20分)1. 在一个长度为n的数组中,使用顺序查找算法查找一个元素的时间复杂度为________。

答案:O(n)2. 一个具有n个节点的完全二叉树的高度为________。

答案:log2(n) + 1(向上取整)3. 一个长度为n的链表,删除一个节点的时间复杂度为________。

答案:O(1)4. 在图的表示方法中,邻接表表示法的缺点是________。

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

2013-2014学年二学期数据结构期末考试模拟试卷(1~6卷)一、应用题(3小题,共24分)1已知某字符串S中共有8种字符,各种字符分别出现2次、1次、4次、5次、7次、3次、4次和9次,对该字符串用[0,1]进行前缀编码,问该字符串的编码至少有多少位。

【解答】以各字符出现的次数作为叶子结点的权值构造的哈夫曼编码树如图所示。

其带权路径长度=2X 5+1X 5+3X 4+5X 3+9X 2+4X 3+4X 3+7X 2=98,所以,该字符串的编码长度至少为98位。

2.已知关键码序列为(Ja n, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec), 散列表的地址空间为0~16,设散列函数为H(x)= [i/2」(取下整数),其中i为关键码中第一个字母在字母表中的序号,采用链地址法处理冲突构造散列表,并求等概率情况下查找成功的平均查找长度。

【解答】H(Ja n)=10/2=5, H(Feb)=6/2=3, H(Mar)=13/2=6, H(Apr)=1/2=0 H(May)=13/2=6, H(Ju n)=10/25, H(Jul)=10/25, H(Aug)=1/2=0H(Sep)=19/2=8, H(Oct) =15/2=7, H(Nov) =14/2=7, H(Dec) =4/2=2采用链地址法处理冲突,得到的开散列表如下:平均查找长度=(1 X 7+2X 4+3X 1)/12=18/123.分析下面各程序段的时间复杂度(1)s1(int n){ int p=1,s=0;for (i=1;iv=n;i++){ p*=i;s+=p; }return(s);} ——0(n)(2)s2(int n)x=0;y=0;For (k=1;kv=n;k++) x++;For (i=1;iv=n;i++)For (j=1;jv=n;j++)y++; ——0(n)1•下述算法的功能是什么?ListNode *Demo l(LinkList L P ListNode *p)("L是有头结蛊的单链表ListNodc *q=L->rLCxt P(1) V ‘V … 」(1 )返回结点*p的直接前趋结点地址。

q=q->nest;if (q) return q,else «ro< #*p not in L");I⑵i/oid Demo2(LisINode*p ,ListNode +q)〔//p t*q*8S 表中的两个结点(2)交换结点*p和结点*q (p和q的值不变)。

DataTypetemp;temp=p->data, p->data=q->data; q-x^ata^emp,1.对给定的一组权值W=( 5, 2, 9, 11, 8, 3, 7),试构造相应的哈夫曼树,并计算它的带权路径长度。

【解答】构造的哈夫曼树如图所示。

2.已知散列函数H(k)=k mod 12,键值序列为(25, 37, 52, 43, 84, 99, 120, 15, 26, 11, 70, 82), 采用链表法处理冲突,试构造散列表。

【解答】H(25)=1, H(37)=1, H(52)=4, H(43)=7, H(84)=0, H(99)=3,H(120)=0, H(15)=3, H(26)=2, H(11)=11, H(70)=10, H(82)=10构造的开散列表如下:3.分析下面各程序段的时间复杂度(1)for (i=0;ivn;i++)for (j=0;jvm;j++)A[i][j]--- 0( n*m)(2)s=0;for (i=0;ivn;i++)for (j=0;jvn;j++)s+=B[i][j];sum=s;——0(n2)(3)A=B; B=C; C=A;——0(1)3•设无向图G(所下图所示),要求给出从1出发对该图进行深度优先和广度优先遍历的序列。

4•已知无向图G 的邻接表如图所示,分别写出从顶点 1出发的深度遍历和广度遍历序列。

二、判断正误(7小题,共14分)1 •线性表链式存储的特点是可以用一组任意的存储单元存储表中的数据元素。

( V ) 2•一个栈的输入序列为:A ,B ,C , D,可以得到输出序列: C, A , B , Do (X ) 3. 稀疏矩阵压缩存储后,必会失去随机存取功能。

(V )4•如果某个有向图的邻接表中第i 条单链表为空,则第i 个顶点的出度为零。

( V ) 5. 用邻接矩阵存储图,所占用的存储空间大小只与图中顶点个数有关, 而与图的边数无关。

(V ) 6. 向二叉排序树中插入一个结点需要比较的次数可能大于该二叉树的高度。

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

(V )1 •对链表进行插入和删除操作时不必移动链表中结点。

( V )3•如果两个串含有相同的字符,则说明它们相等。

( X ) 4. 在线索二叉树中,任一结点均有指向其前趋和后继的线索。

(X ) 5.带权无向图的最小生成树是唯一的。

( X ) 6. 稀疏矩阵的压缩存储可以用一个三元组表来表示稀疏矩阵中的非0元素。

( V ) 7. 无向图的邻接矩阵一定是对称的,有向图的邻接矩阵一定是不对称的。

( X ) &分块查找的平均查找长度不仅与索引表的长度有关,而且与块的长度有关。

( V ) 1. 由树转化成二叉树,该二叉树的右子树不一定为空。

(X )2. 稀疏矩阵的压缩存储可以用一个三元组表来表示稀疏矩阵中的非0元素。

( V ) 4. 分块查找的平均查找长度不仅与索引表的长度有关,而且与块的长度有关。

(V ) 5. 设初始记录关键字基本有序,则快速排序算法的时间复杂度为0(nlog 2n )。

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

( X广度优先遍历序列为:1,2, 4,3,5, 6【解答】深度优先遍历序列1,2, 3,4,5, 61.顺序表结构适宜于进行顺序存取,而链表适宜于进行随机存取。

(X)2.在线性表的链式存储结构中,逻辑上相邻的两个元素在物理位置上并不一定紧邻。

V3.链表的每个结点都恰好包含一个指针域。

(X)4.有向图的邻接表和逆邻接表中表结点的个数不一定相等。

(X)5.对连通图进行深度优先遍历可以访问到该图中的所有顶点。

(V )6.当装填因子小于1时,向散列表中存储元素时不会引起冲突。

(X)2.线性表的逻辑顺序和存储顺序总是一致的。

(X)3.非空的双向循环链表中任何结点的前驱指针均不为空。

(V )4.子串“ ABC ”在主串“ AABCABCD ”中的位置为2。

(V )5•数组是一种复杂的数据结构,数组元素之间的关系既不是线性的,也不是树形的。

(X ) 7•用邻接矩阵作为图的存储结构时,则其所占用的存储空间与图中顶点数无关而与图中边 数有关。

(X )9•当装填因子小于1时,向散列表中存储元素时不会引起冲突。

(X ) 10. 散列技术的查找效率主要取决于散列函数和处理冲突的方法。

(X ) 1线性结构的基本特征是:每个元素有且仅有一个直接前驱和一个直接后继。

(X ) 2.稀疏矩阵压缩存储后,必会失去随机存取功能。

( V )5.对任意一个图,从某顶点出发进行一次深度优先或广度优先遍历,可访问图的所有顶点。

(X )6•当向二叉排序树中插入一个结点,则该结点一定成为叶子结点。

(V ) 7•数据的逻辑结构和数据的存储结构是相同的。

(X ) &数据的存储结构是数据的逻辑结构的存储映像。

( V )三、单项选择题(8小题,共16分)1下面关于线性表的叙述错误的是( D )。

A 线性表采用顺序存储必须占用一片连续的存储空间B 线性表采用链式存储不必占用一片连续的存储空间C 线性表采用链式存储便于插入和删除操作的实现D 线性表采用顺序存储便于插入和删除操作的实现4•若串S="SOFTWARE",其子串的数目最多是: A . 35 B . 36 C . 37D . 38 5•二叉排序树中,最小值结点的(A )。

A 左指针一定为空B 右指针一定为空C 左、右指针均为空D 左、右指针均不为空6.在散列函数 H (k )= k mod m 中,一般来讲,m 应取(C )。

A 奇数B 偶数C 素数D 充分大的数 7 •用直接插入排序对下面四个序列进行由小到大排序,元素比较次数最少的是(B )。

A 94, 32, 40, 90, 80, 46, 21,69B 21,32, 46, 40, 80, 69, 90, 94C 32, 40, 21,46, 69, 94, 90, 80D 90, 69, 80, 46, 21, 32, 94, 402.单链表的存储密度(A .大于1C )。

等于1 C .小于1D • 不能确定 3・设输入序列为 A 5, 3, 4, C 3 1 2 1、2、 6, 1, 5, 4, 3、 4、 5、 6,则通过栈的作用后可以得到的输出序列为(B 3 , D 1, B )。

2, 5, 5, 4, 6, 4, 16, 2, 3A 提高查找速度B 更方便数据的插入和删除C 节约存储空间D 很快回收存储空间 2.链表不具有的特点是(B ) A. 不必事先估计存储空间B. 可随机访问任一元素C.插入删除不需要移动元素D.所需空间与线性表长度成正比 3.下面关于线性表的叙述错误的是( D )。

A 线性表采用顺序存储必须占用一片连续的存储空间B 线性表采用链式存储不必占用一片连续的存储空间C 线性表采用链式存储便于插入和删除操作的实现D 线性表采用顺序存储便于插入和删除操作的实现4.从一个具有 n 个结点的单链表中查找其值等于 x 结点时,在查找成功的情况下,需平均 比较( D )个结点。

A nB n/2C (n-1)/2D (n+1)/2 5•在C 或C++语言中,一个顺序栈一旦被声明,其占用空间的大小( A )。

11.设二叉树的先序遍历序列和后序遍历序列正好相反,则该二叉树满足的条件是 (D )。

A 空或只有一个结点B 高度等于其结点数C 任一结点无左孩子D 任一结点无右孩子12.在堆排序和快速排序中,如果从平均情况下排序的速度最快的角度来考虑应最好选择快速 )排序,如果从节省存储空间的角度来考虑则最好选择( 堆 )排序。

A .已固定 B .不固定 C •可以改变 D •动态变化 6. 两个字符串相等的充要条件是( A 两个字符串的长度相等 C 同时具备 (A ) 和 (B ) 两个条件 C )。

B 两个字符串中对应位置上的字符相等D 以上答案都不对 &设某二叉树中度数为 0的结点数为 N2,则下列等式成立的是( C ) N0,度数为1的结点数为Nl ,度数为2的结点数为 A N0=N1+1 B N0=Nl+N2 9•在含n 个顶点和e 条边的无向图的邻接矩阵中A. e B . 2e C . n2 — e C N0=N2+1D N0=2N1+l , 零元素的个数为 (D ) D . n2— 2e 10.设F 是由T1、T2和T3三棵树组成的森林,与 F 对应的二叉树为 点数分别为N1、N2和N3,则二叉树B 的根结点的左子树的结点数为(B , T1、T2和T3的结 A )。

相关文档
最新文档