数据结构习题(二)

合集下载

数据结构习题

数据结构习题

图习题(三)
• 1.如图所示是一个无向网图,请分别按Prim 算法和Kruskal算法求最小生成树。
查找习题(一)
1.已知一个有序表为(12,18,24,35,47,50,62,83,90,115,134), 当折半查找值为 90 的元 素时,经过( )次比较后查找成功。 A2 B3 C4 D5 2.已知 10 个元素(54,28,16,73,62,95,60,26,43),按照依次插入 的方法生成一棵二叉排序树,查找值为 62 的结点所需比较次数为( )。 A2 B3 C4 D5 3.已知数据元素为(34,76,45,18,26,54,92,65),按照依次插入结点 的方法生成一棵二叉排序树,则该树的深度为( )。 A4 B5 C6 D7 4.按( )遍历二叉排序树得到的序列是一个有序序列。 A 前序 B 中序 C 后序 D 层次 5.在散列函数 H(k)= k mod m 中,一般来讲,m 应取( )。 A 奇数 B 偶数 C 素数 D 充分大的数
8.设链栈中结点的结构:data为数据域,next为指针域,且top是栈顶指针。若想 在链栈的栈顶插入一个由指针s所指的结点,则应执行下列( )操作。 A.s->next=top->next;top->next=s; B.top->next=s; C.s->next=top;top=top->next; D.s->next=top;top=s;
D.根据元素查找
线性表习题(二)
1.链表相对于顺序表的优点是: 插入、删除 方便。 2.顺序表中访问任意一个结点的时间复杂度均为 O(1) 。 3.在单链表中要在已知结点*P之前插入一个新结点,需找到 *P的直接前趋结点的地址,其查找的时间复杂度为 O(n) 。 4.单链表中需知道 头指针 才能遍历整个链表。 5.在一个长度为n的顺序表中删除第i个元素,要移动 n-i 个元 素。 6.在一个长度为n的顺序表中,如果要在第i个元素前插入一 个元素,要后移 n-i+1 个元素。 7.双链表中,设p是指向其中待删除的结点,则需要执行的操 作为: p->prior->next=p->next 。

数据结构章节练习题2

数据结构章节练习题2

第七章图一、选择题1.图中有关路径的定义是()。

A.由顶点和相邻顶点序偶构成的边所形成的序列B.由不同顶点所形成的序列C.由不同边所形成的序列D.上述定义都不是2.设无向图的顶点个数为n,则该图最多有()条边。

A.n-1 B.n(n-1)/2 C.n(n+1)/2 D.0 E.n23.一个n个顶点的连通无向图,其边的个数至少为()。

A.n-1 B.n C.n+1 D.nlogn;4.要连通具有n个顶点的有向图,至少需要()条边。

A.n-l B.n C.n+l D.2n5.一个有n个结点的图,最少有(B )个连通分量,最多有(D )个连通分量。

A.0 B.1 C.n-1 D.n6. 下列说法不正确的是()。

A.图的遍历是从给定的源点出发每一个顶点仅被访问一次C.图的深度遍历不适用于有向图B.遍历的基本算法有两种:深度遍历和广度遍历D.图的深度遍历是一个递归过程7.无向图G=(V,E),其中:V={a,b,c,d,e,f},E={(a,b),(a,e),(a,c),(b,e),(c,f),(f,d),(e,d)},对该图进行深度优先遍历,得到的顶点序列正确的是()。

A.a,b,e,c,d,f B.a,c,f,e,b,d C.a,e,b,c,f,d D.a,e,d,f,c,b8. 在图采用邻接表存储时,求最小生成树的Prim 算法的时间复杂度为( )。

A. O(n)B. O(n+e)C. O(n2)D. O(n3)9. 求解最短路径的Floyd算法的时间复杂度为( )。

A.O(n) B. O(n+c) C. O(n*n)D. O(n*n*n)10.已知有向图G=(V,E),其中V={V1,V2,V3,V4,V5,V6,V7},E={<V1,V2>,<V1,V3>,<V1,V4>,<V2,V5>,<V3,V5>,<V3,V6>,<V4,V6>,<V5,V7>,<V6,V7>},G的拓扑序列是()。

数据结构课后习题第2章

数据结构课后习题第2章

2. 指针 P 指向不带头结点的线性链表 L 的首元素的条件是( )。
A.P= =L
C.P-﹥next==L
B.L-﹥Next==P
D.P-﹥next==NULL
3. 指针 p 指向带头结点的单循环链表 L 的首元素的条件是( )。
A.P= =L
C.P-﹥next==L
B.L-﹥Next==P
D.P-﹥next==NULL
网络工程 2011 级 1 班、计算机科学与技术 2011 级 2 班《算法与数据结构》课后习题(第 2 章)
2011 级 计科 (网工)
题号
得分

【课后习题】第 2 章 线性表
班 学号:
一、判断题(如果正确,在题号前打“”,否则打“”。每题 2 分,共 10 分)

( ) 1. 线性表若采用顺序存储表示时所有结点之间的存储单元地址必须连续。 ( ) 2. 顺序表结构适宜于进行顺序存取,而链表适宜于进行随机存取。 ( ) 3. 如果某个数据结构的每一个元素都是最多只有一个直接前驱,则必为线性结构。 ( ) 4. 线性表的逻辑顺序与物理顺序总是一致的。 ( ) 5. 线性表的长度是指它所占存储空间的大小。
二、填空题(每空 1.5 分,共 21 分)
1. 从逻辑结构看,线性表是典型的
2. 在一个长度为 n 的向量中在第 i(1≤i≤n+1)个元素之前插入一个元素时,需向后移动
个元素,算法的时间复杂度为
3. 在一个长度为 n 的向量中删除第 i(1≤i≤n)个元素时,需向前移动
算法的时间复杂度为


4. 若长度为 n 的线性表采用链式存储结构,在其第 i 个结点前插入一个新的元素的算法的

数据结构习题及答案 (2)

数据结构习题及答案 (2)

第二章线性表一、选择题1.一个线性表第一个元素的存储地址是100,每个元素的长度为2,则第5个元素的地址是( )(A)110 (B)108(C)100 (D)120参考答案:B2. 向一个有127个元素的顺序表中插入一个新元素并保持原来顺序不变,平均要移动()个元素。

(A)64(B)63 (C)63.5 (D)7参考答案:C3.线性表采用链式存储结构时,其地址()。

(A) 必须是连续的 (B) 部分地址必须是连续的(C) 一定是不连续的 (D) 连续与否均可以参考答案:D4. 在一个单链表中,若p所指结点不是最后结点,在p之后插入s所指结点,则执行()(A)s->next=p;p->next=s; (B) s->next=p->next;p->next=s;(C)s->next=p->next;p=s; (D)p->next=s;s->next=p;参考答案:B5.在一个单链表中,若删除p所指结点的后续结点,则执行()(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;参考答案:A6.下列有关线性表的叙述中,正确的是()(A)线性表中的元素之间隔是线性关系(B)线性表中至少有一个元素(C)线性表中任何一个元素有且仅有一个直接前趋(D)线性表中任何一个元素有且仅有一个直接后继参考答案:A7.线性表是具有n个()的有限序列(n≠0)(A)表元素(B)字符(C)数据元素(D)数据项参考答案:C二、判断题1.线性表的链接存储,表中元素的逻辑顺序与物理顺序一定相同。

()2.如果没有提供指针类型的语言,就无法构造链式结构。

()3.线性结构的特点是只有一个结点没有前驱,只有一个结点没有后继,其余的结点只有一个前驱和后继。

数据结构复习题 (2)

数据结构复习题 (2)

一.判断题(下列各题,正确的请在前面的括号内打√;错误的打×)第1章(√)(1)数据的逻辑结构与数据元素本身的内容和形式无关。

(√)(2)一个数据结构是由一个逻辑结构和这个逻辑结构上的一个基本运算集构成的整体。

(×)(3)数据元素是数据的最小单位。

(×)(4)数据项是数据的基本单位。

(×)(5)数据的逻辑结构和数据的存储结构是相同的。

(√)(6)数据的逻辑结构是各数据元素之间的逻辑关系,是用户按使用需要而建立的。

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

(√)(8)从逻辑关系上讲,数据结构主要分为线性结构和非线性结构两类。

(√)(9)数据的存储结构是数据的逻辑结构的存储映像。

(√)(10)算法是对解题方法和步骤的描述。

第2章(×)(1)链表的物理存储结构具有同链表一样的顺序。

(×)(2)链表的每个结点都恰好包含一个指针域。

(√)(3)线性表中的元素可以是各种各样的,但同一线性表中的数据元素具有相同的特性,因此属于同一数据对象。

(×)(4)链表的删除算法很简单,因为当删除链中某个结点后,计算机会自动地将后续的各个单元向前移动。

(×)(5)顺序表结构适宜于进行顺序存取,而链表适宜于进行随机存取。

(√)(6)数组元素的存储位置是下标的线性函数。

(√)(7)在单链表中,元素的存储位置用指针联系,所以可以从头结点开始查找任何一个元素。

(×)(8)顺序存储线性表的插入和删除操作不需要付出很大的代价,因为平均每次移动仅一半的元素。

(×)(9)顺序存储方式的优点是存储密度大,插入、删除效率高。

(×)(10)在单链表中,要取得某个元素,只要知道该元素的指针即可,因此单链表是随机存取的存储结构。

第3章(√)(1)大多数排序算法都有比较关键字大小和改变指向记录的指针或移动记录本身两种基本操作。

计算机数据结构习题2附答案.

计算机数据结构习题2附答案.

第六章图1、填空题一个有 n 个结点的无向图中,所有顶点的度数之和等于所有边数之和的 _2__倍。

一个有 n 个结点的强连通图,最多有 _n(n-1_/2__条边,最少有 ___n-1_ 条边。

在一个无向图中,所有顶点的度数之和等于所有边数之和的 __2____倍。

2、判断题1无向图的邻接矩阵一定是对称矩阵。

(√2有向图的邻接矩阵一定是对称矩阵。

(×3图的深度优先搜索路径是唯一的。

(×4图的广度优先搜索路径不是唯一的。

(√5一个图可能存在多棵最小生成树。

(√6无向图的邻接矩阵一定是对称的,有向图的邻接矩阵一定是不对称的。

(√7图的关键路径是指从源点到汇点的最短路径。

(×8用邻接矩阵法存储图,占用的存储空间数量只与图中边数有关,与结点个数无关。

(×9对一个图分别进行深度优先搜索和广度优先搜索,得到的结点序列一定是相同的。

(×10图的关键路径是指从源点到汇点的最长路径。

(√3、选择题1一个无向连通图的生成树是含有该连通图的全部顶点的 __A__。

A 、极小连通子图B 、极小子图C 、极大连通子图D 、极大子图 2具有 e 条边的有向图,它的邻接表中有 _D__个弧结点。

A 、 e-1B 、 2eC 、 2(e-1D 、 e3如果某图的邻接矩阵是对角线元素均为零的上三角矩阵,则此图是 __D__A 、无向图B 、完全图C 、强连通图D 、有向无环图4顶点个数为 n 的有向图最多有 __D_条弧。

A 、 n-1B 、 n(n-1/2C 、 n(n+1/2D 、 n(n-1应用题:1. 请给出图 1的所有最小生成树。

(10分图 1共两棵。

第一棵为:(5分错一条边扣 1分。

第二棵为:(5分错一条边扣 1分。

2. 请给出图 2的所有拓扑排序序列。

(16答案如下:仅有两个第一个:abcdefgh (错一个字符扣 1分第二个:abcdegfh (错一个字符扣 1分3、对于有向无环图(如图 3,写出它的所有不同的拓扑有序序列。

数据结构树的测试题(二)

数据结构树的测试题(二)

习题六树和二叉树一、单项选择题1.以下说法错误的是( A )A.树形结构的特点是一个结点可以有多个直接前趋B.线性结构中的一个结点至多只有一个直接后继C.树形结构可以表达(组织)更复杂的数据D.树(及一切树形结构)是一种"分支层次"结构E.任何只含一个结点的集合是一棵树2.下列说法中正确的是( D )A.任何一棵二叉树中至少有一个结点的度为2B.任何一棵二叉树中每个结点的度都为2C.任何一棵二叉树中的度肯定等于2D.任何一棵二叉树中的度可以小于23.讨论树、森林和二叉树的关系,目的是为了(A )A.借助二叉树上的运算方法去实现对树的一些运算B.将树、森林按二叉树的存储方式进行存储C.将树、森林转换成二叉树D.体现一种技巧,没有什么实际意义4.树最适合用来表示( C )A.有序数据元素B.无序数据元素C.元素之间具有分支层次关系的数据D.元素之间无联系的数据5.若一棵二叉树具有10个度为2的结点,5个度为1的结点,则度为0的结点个数是(B )A.9 B.11 C.15 D.不确定6.设森林F中有三棵树,第一,第二,第三棵树的结点个数分别为M1,M2和M3。

与森林F对应的二叉树根结点的右子树上的结点个数是( D )。

A.M1 B.M1+M2 C.M3 D.M2+M37.一棵完全二叉树上有1001个结点,其中叶子结点的个数是( E )A.250 B.500 C.254 D.505 E.以上答案都不对8.二叉树的第I层上最多含有结点数为( C )A.2I B.2I-1-1 C.2I-1D.2I -110.一棵二叉树高度为h,所有结点的度或为0,或为2,则这棵二叉树最少有( B )结点A.2h B.2h-1 C.2h+1 D.h+111. 利用二叉链表存储树,则根结点的右指针是(B )。

A.指向最左孩子B.指向最右孩子C.空D.非空12.已知一棵二叉树的前序遍历结果为ABCDEF,中序遍历结果为CBAEDF,则后序遍历的结果为(A )。

(严蔚敏)数据结构总复习习题与答案(2)

(严蔚敏)数据结构总复习习题与答案(2)

( C ) 4.按照二叉树的定义,具有3个结点的二叉树 有几种形态。 A.3 B.4 C.5 D.6
( B ) 5.二叉树若采用二叉链表结构表示,则对于n 个结点的二叉树一定有。 A. 2n个指针域,其中n个指针为NULL
B. 2n个指针域,其中n+1个指针为NULL C. 2n-1个指针域,其中n个指针为NULL D. 2n-1个指针域,其中n+1个指针为NULL
5
5
6
4
8 14
0
10 16 7
3
1
2
6
顶点: 1 路径长度: 16
2 10
3 14
4 22
5 21
四、算法阅读 已知二叉树以二叉链表作为存储结构,阅读下列算 法,说出它的功能。其中,k为全局变量,初值为 0; 首次调用unknown函数时,i 初值为 0。 void unknown( BiTree t, int i ) { if ( t !=NULL ) { i++ ; //访问根结点 if ( k<i ) k = i ; unknown( t->lchild, i ); //先序遍历左子树 unknown( t->rchild, i ); //先序遍历右子树 } } // unknown
1 2 3
拓扑序列:
123654 132654
5 4
6
136254
8.已知一个有向网的顶点集V和边集G分别为: V ={ 0,l,2,3,4,5 }; G ={ <0,1>16,<0,2>10,<0,3>14, <1,2>6, <1,5>5, <2,3>7, <3,4>8, <4,5>6 } 根据迪克斯特拉(Dijkstra)算法求出从顶点0 到其余各顶点的最短路径,在下面填写对应 的路径长度。 顶点: 1 2 3 4 5 路径长度:

数据结构第二章习题(2)

数据结构第二章习题(2)

1.数据在计算机存储器内表示时,物理地址与逻辑地址相同并且是连续的,称之为:
(A)存储结构 (B)逻辑结构 (C)顺序存储结构 (D)链式存储结构
2.一个向量第一个元素的存储地址是 100,每个元素的长度为 2,则第 5 个元素的地址是
(A)110 (B)108
(C)100
(D)120
3.在 n 个结点的顺序表中,算法的时间复杂度是 O(1)的操作是: (A)访问第 i 个结点(1≤i≤n)和求第 i 个结点的直接前驱(2≤i≤n) (B)在第 i 个结点后插入一个新结点(1≤i≤n) (C)删除第 i 个结点(1≤i≤n) (D)将 n 个结点从小到大排序
五、线性表具有两种存储方式,即顺序方式和链接方式。现有一个具有五个元素的线性表
L={23,17,47,05,31},若它以链接方式存储在下列 100~119 号地址空间中,每个结点
由数据(占 2 个字节)和指针(占 2 个字节)组成,如下所示:
05 U 17 X 23 V 31 Y 47 Z
^
^
100
情况下适用于使用链式结构实现。
(A)需经常修改L中的结点值
(B)需不断对L进行删除插入
(C)L中含有大量的结点
(D)L中结点结构复杂
9.单链表的存储密度
(A)大于 1; (B)等于 1; (C)小于 1; (D)不能确定
10.设 a1、a2、a3 为 3 个结点,整数 P0,3,4 代表地址,则如下的链式存储结构称为

二、判断题
( )1. 链表的每个结点中都恰好包含一个指针。
( )2. 链表的物理存储结构具有同链表一样的顺序。
( )3. 链表的删除算法很简单,因为当删除链中某个结点后,计算机会自动地将后续的

数据结构第二章习题

数据结构第二章习题

数据结构第二章习题第2章线性表一、单项选择题1.线性表就是具备n个_________的非常有限序列。

a.表元素b.字符c.数据元素d.数据项2.线性表是_________。

a.一个非常有限序列,可以为空b.一个非常有限序列,不可以为空c.一个无穷序列,可以为空d.一个无穷序列,不可以为空3.线性表使用链表存储时,其地址_________。

a.必须是连续的b.一定是不连续的c.部分地址必须是连续的d.连续与否均可以4.链表不具备的特点是_________。

a.可以随机出访任一结点b.填入删掉不须要移动元素c.不必事先估算存储空间d.所须要空间与其长度成正比5.设立线性表存有n个元素,以下操作方式中,_________在顺序单上同时实现比在链表上同时实现效率更高。

a.输出第i(1≤i≤n)个元素值b.互换第1个元素与第2个元素的值c.顺序输入这n个元素的值d.输出与给定值x相等的元素在线性表中的序号6.设立线性表中存有2n个元素,以下操作方式中,_________在单链单上同时实现Obrero在顺序单上同时实现效率更高。

a.删掉选定的元素b.在最后一个元素的后面插入一个新元素c.顺序输出前k个元素d.互换第i个元素和第2n-i-1个元素的值(i=0,1…,n-1)7.如果最常用的操作是取第i个结点及其前驱,则采用_________存储方式最节省时间。

a.单链表中b.双链表中c.单循环链表d.顺序表8.与单链表相比,双链表的优点之一是_________。

a.填入和删掉操作方式更直观b.可以展开随机出访c.可以省略字段指针或表尾指针d.出访前后相连结点更有效率9.率先垂范结点的单链表中l为觑的认定条件就是_________。

a.l==nullb.l->next==nullc.l->next==ld.l!=null10.在一个具备n个结点的有序单链表填入一个崭新结点并仍然维持有序的时间复杂度就是_________。

北邮C++数据结构课后习题 习题2参考答案

北邮C++数据结构课后习题 习题2参考答案

习题21.填空题(1)在一个单链表中,已知每个结点包含data和next两个域,q所指结点是p所指结点的直接前驱,若在q和p之间插入s所指结点,则执行(___________)和(___________)操作。

答案:q->next = s; s->next = p; 或s->next=q->next; q->next = s;(2)表长为n的顺序表,当在任何位置上插入或删除一个元素的概率相等时,插入一个元素所需移动元素的平均个数为(___________),删除一个元素需要移动元素的平均个数为(___________)。

答案:n/2 (n-1)/2(3)表长为0的线性表称为(___________)。

答案:空表(4)动态内存管理是操作系统的基本功能之一,其作用是响应用户程序对内存的(___________)和(___________)请求。

答案:申请释放(5)顺序表多采用(___________)实现的,是一种随机存取结构,对表中任意结点存取操作的时间复杂度为(___________)。

而查找链表中的结节,需要从头指针起顺着链扫描才能得到,平均时间复杂度为(___________)。

因此,若线性表的操作主要是进行查找,很少进行插入或删除操作时,采用(___________)表比较合适。

答案:数组 O(1) O(n) 顺序(6)在链表某个位置上进行插入和删除操作,只需要修改(___________)即可,而无须移动大量元素,操作的时间复杂度为(___________)。

而在顺序表中进行插入和删除操作,往往要移动大量元素,平均移动元素的数目为(___________),平均时间复杂度为(___________)。

因此,若对线性表进行频繁的插入和删除操作时,采用(___________)表相对合适。

若插入和删除主要发生在表头和表尾,则采用(___________)表更为合适。

《数据结构》(第三版)习题 (2)[2页]

《数据结构》(第三版)习题 (2)[2页]

习题2一.选择题1.线性表是具有n个()的有限序列(n>0)。

A. 表元素B.字符C.数据元素D.数据项2. 线性表的顺序存储结构是一种()的存储结构。

A.随机存取 B.顺序存取 C.索引存取 D.HASH 存取3. 在一个长度为n的顺序表中,向第i个元素(1≤i≤n+1)之前插入一个新元素时,需向后移动()个元素。

A. n-1B. n-i+1C. n-i-1D. i4. 在一个长度为n的顺序表中,设在任何位置上的删除操作都是等概率的,删除一个元素时大约要移动表中的()个元素。

A. n+1B. n-1C. (n-1)/2D. n5.若线性表采用顺序存储结构,每个元素占用 4 个存储单元,第一个元素的存储地址为 100,则第 12 个元素的存储地址是()。

A.112 B.144 C.148 D.4126.在一个长度为 n 的顺序表的任一位置插入一个新元素的时间复杂度为()。

A. O(n)B.O(n/2)C. O(1)D.O(n2)7.在一个单链表中,已知*q结点是*p结点的前驱结点,若在*q和*p之间插入*s结点,则执行()。

A. s->next=p->next; p->next=s;B. p->next=s->next; s->next=p;C. q->next=s; s->next=p;D. p->next=s; s->next=q;8.设指针p指向单链表中某结点(数据域为m),指针f指向将要插入的新结点(数据域为x),当x插在结点m之后时,只要先修改()后修改p->next=f即可。

A. f->next=p;B. f->next=p->next;C. p->next=f->next;D. f=NULL;9.下面关于线性表的叙述错误的是()。

A.线性表采用顺序存储必须占用一片连续的存储空间B.线性表采用链式存储不必占用一片连续的存储空间C.线性表采用链式存储便于插入和删除操作的实现D.线性表采用顺序存储便于插入和删除操作的实现10.在具有n个结点的有序单链表中插入一个新结点,并使链表仍然有序的算法的时间复杂度是()。

数据结构练习题 第二章 线性表 习题及答案

数据结构练习题 第二章  线性表 习题及答案
{ p=head;j=0;
while(________________)
{ p=p->next; j++; }
if(i==j) return(p);
else return(NULL);
}
26.以下为单链表的定位运算,分析算法,请在____处填上正确的语句。
int locate_lklist(lklist head,datatype x)
if(________)return(i);
else return(0);
}
15.对于顺序表的定位算法,若以取结点值与参数X的比较为标准操作,平均时间复杂性量级为________。求表长和读表元算法的时间复杂性为________。
16.在顺序表上,求表长运算LENGTH(L)可通过输出________实现,读表元运算
36.当且仅当两个串的______相等并且各个对应位置上的字符都______时,这两个串相等。一个串中任意个连续字符组成的序列称为该串的______串,该串称为它所有子串的______串。
37.串的顺序存储有两种方法:一种是每个单元只存一个字符,称为______格式,另一种是每个单元存放多个字符,称为______格式。
2.为了满足运算的封闭性,通常允许一种逻辑结构出现不含任何结点的情况。不含任何结点的线性结构记为______或______。
3.线性结构的基本特征是:若至少含有一个结点,则除起始结点没有直接______外,其他结点有且仅有一个直接______;除终端结点没有直接______外,其它结点有且仅有一个直接______.
① 数据元素 ② 数据项 ③ 数据 ④ 数据结构
4.顺序表是线性表的 ( )
①链式存储结构 ②顺序存储结构 ③ 索引存储结构 ④ 散列存储结构

数据结构(线性表)练习题与答案2

数据结构(线性表)练习题与答案2

1、与单链表相比,双链表的优点之一是()。

A.插入、删除操作更简单B.可以进行随机访问C.可以省略表头指针或表尾指针D.访问前后相邻节点更方便正确答案:D解析:在双链表中可以访问任一节点的前后相邻节点,而单链表中只能访问任一节点的下一个节点。

2、带头节点的双链表L为空表时应满足()。

A.L==NULLB.L->prior==L->nextC.L->prior==NULLD.L->next==NULL正确答案:D3、在长度为n(n≥1)的双链表中插入一个节点(非尾节点)要修改()个指针域。

A.1B.2C.3D.4正确答案:D解析:需要修改插入节点的prior、next域,前驱节点的next域和后继节点的prior域。

4、对于长度为n(n≥1)的双链表L,在p所指节点之前插入一个新节点的算法的时间复杂度为()。

A. O(1)B. O(n)C. O(n2)D. O(nlog2n)正确答案:A解析:设新节点指针为q,操作是:p->prior->next=p; q->prior=p->prior; p->prior=q; q->next=p;5、在长度为n(n≥1)的双链表中删除一个节点(非尾节点)要修改()个指针域。

A.1B.2C.3D.4正确答案:B解析:需要修改前驱节点的next域和后继节点的prior域。

6、与非循环单链表相比,循环单链表的主要优点是()。

A.不再需要头指针B.已知某个节点的位置后,能够容易找到它的前驱节点C.在进行插入、删除操作时,能更好地保证链表不断开D.从表中任意节点出发都能扫描到整个链表正确答案:D解析:循环单链表中可以循环扫描,因此从表中任意节点出发都能扫描到整个链表。

7、设有带头节点的循环单链表L,当这种链表成为空链表时,有()。

A.表头节点指针域next为空B.L的值为NULLC.表头节点的指针域next与L的值相等D.表头节点的指针域next与L的地址相等正确答案:C解析:带头节点的循环单链表L成为空链表时满足L->next==L,即表头节点*L的指针域next与L的值相等,而不是表头节点*L的指针域next与L的地址相等。

数据结构习题2

数据结构习题2
enqueue(q,’a’); while(!queueempty(q)){
dequeue(q,y);printf(y);//龚注:printf(“%c”,y); } printf(x);//龚注:printf(“%c”,x); } 15. 有如下递归函数:【**】 int dunno(int m){ int value; if(m==0)
【**,★】(a1一定是最后出的)
A、a3,a1,a4,a2
B、 a3,a2,a4,a1
C、 a3,a4,a2,a1
D、 a4,a3,a2,a1
2/10 北京理工大学珠海学院计算机学院 “数据结构”课程组编制 2011-3-1
数据结构课后练习题
第 3 章 栈和队列
图3.1
21. 链栈和顺序栈相比,有一个比较明显的优势是( A )【*】
三、 填空题
1. 1、2、3、4 顺序入栈,则出入栈的序列共有( 14 )种。【***,★】
2. 栈的特点是( 后进先出 ),队列的特点是( 先进先出 )。【*】
3. 线性表、栈、队列都是( 线性 )结构,可以在线性表的( 任意 )位置插入和删除元素;对于栈只能在
( 栈顶 )插入和删除元素;对于队列只能在( 队尾 )插入元素和在( 队首)位置删除元素。【*,
的顺序是( C )。【***,★,考研 2010】
A. bacde
B. dbace
C. dbcae
D. ecbad
25. 已知输入序列为 abcd,经过输出受限的双端队列后能得到的输出序列是( B )。【***,联考】
A. dacb
B. cadb
C. dbca
D. 以上序列都不能得到
26. 栈和队列具有相同的( B )。【**,★,联考】

2021年小学信息技术教师数据结构练习题及参考答案(二)

2021年小学信息技术教师数据结构练习题及参考答案(二)

2021年小学信息技术教师专业技能数据结构练习题及参考答案(二)1.对于顺序表的优缺点,下面说法错误的是( C )。

A.无需为表示节点间的逻辑关系而增加额外的存储空间。

B.可以方便的随机存取表中的任一结点。

C.删除和插入运算较方便。

D.由于顺序表要求占用连续的空间,存储分配只能预先进行(静态分配)。

2.3个结点可构成( D )个不同形态的二叉树。

A.2 B. 3 C. 4 D. 53.对有n个记录的表按记录关键字值有序的顺序建立二叉排序树,在这种情况下,其平均查找长度的量级为( A )。

A.O(n)B.O(nlog2n) C.O(1) D.O(log2n)4.二分查找法要求查找表中各元素的键值必须是( A ) 排列。

A. 递增或递减B. 递增C. 递减D. 无序5.每一个结点存储一个数据元素,存储结点存放在连续的存储空间,用存储结点间的位置关系表示数据元素之间的逻辑关系,该存储方式是( A )存储方式。

A. 顺序B. 链式C. 索引D. 散列6.将长度为m的单链表链接在长度为n的单链表之后的算法的时间复杂度为( B )。

A.O(1)B.O(n)C.O(m)D.O(m+n)7.以h为头指针的带头结点的单向循环链表为空的条件是( C )。

A. h==NULLB. h->next==NULLC. h->next==hD. h->next->next==h8.下列说法不正确的是( D )。

A.数据元素是数据的基本单位B.数据项是数据中不可分割的最小标识单位C.数据可以由若干个数据元素构成D.数据项可以由若干个数据元素构成9.在一个单链表中删除p所指向结点的后继结点时,其算法的时间复杂性的量级为( C )。

A.O(n)B.O(n/2)C.O(1)D.O(logn)210.ISAM是( B )文件的组织形式。

A.索引 B. 索引顺序 C. 磁带 D. 顺序11.每个结点只存储一个数据元素,存储结点存放在连续的存储空间,该存储方式是( A )存储方式。

《数据结构》习题集:第2章_线性表

《数据结构》习题集:第2章_线性表

第2章线性表一、选择题1.表长为N 的顺序表,当在任何位置上插入或删除一个元素的概率相等时,插入一个元素所需移动元素的平均次数为(E ),删除一个元素需要移动的元素个数为(A )。

A. (N-1)/2B. NC. N+1D. N-1E. N/2F. (N+1)/2G. (N-2)/22.线性表是具有N 个(C )的有限序列。

A、表元素B、字符C、数据元素D、数据项E、信息3.“线性表的逻辑顺序和物理顺序总是一致的。

”这个结论是(B )。

A、正确的B、错误的C、不一定,与具体结构有关。

4.线性表采用链式存储结构时,要求内存中可用存储单元的地址(D )。

A、必须是连续的B、部分地址必须是连续的C、一定是不连续的D、连续或不连续都可以。

5.带头结点的单链表为空的判定条件是(B )。

A、head==NULLB、head->next==NULLC、head->next==headD、head!=NULL6.不带头结点的单链表head 为空的判定条件是(A )。

A、head==NULLB、head->next==NULLC、head->next==headD、head!=NULL7.非空的循环单链表head 的尾结点P 满足( C )。

A、P->NEXT=NULLB、p=NULLC、p->next==headD、p==head8.在一个具有n 个结点的有序单链表中插入一个新结点并仍然有序的时间复杂度是(B )。

A、O(1)B、O(n)C、O(n2)D、O(nlog2n)9.在一个单链表中,若删除P 所指结点的后继结点,则执行( A )。

A、p->next=p->next->nextB、p=p->next;p->next=p->next->nextC、p->next=p->next;D、p=p->next->next;10.在一个单链表中,若在P所指结点之后插入S所指结点,则执行(B )。

数据结构复习题2

数据结构复习题2

一、选择题(1)数据结构通常是研究数据的( A )及它们之间的相互联系。

A. 存储结构和逻辑结构B. 存储和抽象C. 联系和抽象D. 联系与逻辑(2)在逻辑上可以把数据结构分成:( C )。

A. 动态结构和静态结构B. 紧凑结构和非紧凑结构C. 线性结构和非线性结构D. 内部结构和外部结构(3)数据在计算机存储器内表示时,物理地址和逻辑地址相同并且是连续的,称之为( C )。

A. 存储结构B. 逻辑结构C. 顺序存储结构D. 链式存储结(4)算法分析的两个主要方面是( A )。

A. 空间复杂性和时间复杂性B. 正确性和简明性C. 可读性和文档性D. 数据复杂性和程序复杂性(5)下列时间复杂度中最坏的是( D )。

A. O(1)B. O(n)C. O(log2n)D. O(n2)(6)等概率情况下,在有n个结点的顺序表上做插入结点运算,需平均移动结点的数目为( C )。

A.n B.(n-1)/2 C. n/2 D.(n+1)/2(7)设有编号为1,2,3,4的四辆列车,顺序进入一个栈结构的站台,下列不可能的出站顺序为 ( D )A.1234 B.1243 C.1324 D.1423(8)如果以链表作为栈的存储结构,则出栈操作时( B )A.必须判别栈是否满B.必须判别栈是否空C.必须判别栈元素类型 D.队栈可不做任何判别(9)链栈与顺序栈相比,有一个比较明显的优点是( B )。

A.插入操作更加方便B.通常不会出现栈满的情况。

C.不会出现栈空的情况 D.删除操作根加方便(10)插入和删除只能在一端进行的线性表,称为( C )。

A.队列 B.循环队列 C.栈D.循环栈(11)若进队的序列为:A,B,C,D,则出队的序列是( C )。

A.B,C,D,A B.A,C,B,DC.A,B,C,D D.C,B,D,A(12)若用一个大小为6的数组来实现循环队列,且当前front和rear的值分别为3和0,当从队列中删除一个元素,再加入两个元素后,front和rear的值分别为( B )。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
C. 75,45,65,30,15,25,20,10 D. 75,45,65,10,25,30,20,15
2. 填空题
16) 在顺序表(8,11,15,19,25,26,30,33,42,48,50)中,用二分(折半)法查找关键字20,需做的关键字比较次数为 次.
2) 下面关于二分查找的叙述正确的是 ( )
A. 表必须有序,表可以顺序方式存储,也可以链表方式存储
B. 表必须有序且表中数据必须是整型,实型或字符型
C. 表必须有序,而且只能从小到大排列
D. 表必须有序,且表只能以顺序方式存储
3) 折半查找的时间复杂性为( )
5) 平均查找长度最短的查找方法是____________。
A.折半查找 B.顺序查找 C.哈希查找 4.其他
6) 折半查找有序表(4,6,10,12,20,30,50,70,88,100)。若查找表中元素58,则它将依次与表中 比较大小,查找结果是失败。
A.20,70,30,50 B.30,88,70,50 C.20,50 D.30,88,50
10) 散列表的地址区间为0-17,散列函数为H(K)=K mod 17。采用线性探测法处理冲突,并将关键字序列26,25,72,38,8,18,59依次存储到散列表中。
(1)元素59存放在散列表中的地址是( )。
A. 8 B. 9 C. 10 D. 11
7) 当采用分快查找时,数据的组织方式为 ( )
A.数据分成若干块,每块内数据有序
B.数据分成若干块,每块内数据不必有序,但块间必须有序,每块内最大(或最小)的数据组成索引块
C. 数据分成若干块,每块内数据有序,每块内最大(或最小)的数据组成索引块
D. 数据分成若干块,每块(除最后一块外)中数据个数需相同
4. 程序设计题
26) 写出希尔排序的算法程序
27) 写出快速排序的算法程序
汗水和丰收是忠实的朋友,勤学和知识是一对最美丽的恋人。
8) 分别以下列序列构造二叉排序树,与用其它三个序列所构造的结果不同的是( )
A.(100,80, 90, 60, 120,110,130) B.(100,120,110,130,80, 60, 90)
C.(100,60, 80, 90, 120,110,130) D. (100,80, 60, 90, 120,130,110)
25) 已知输入数据序列为{20,33,-7,11,82,40,8,52,16},试回答以下问题。
(1) 将该输入序列调整为大顶堆。并画出该大顶堆对应的完全二叉树。
(2) 写出第二趟堆排序后的数据序列。
汗水和丰收是忠实的朋友,勤学和知识是一对最美丽的恋人。
A. O(n2) B. O(n) C. O(nlog(n)) D. O(log(n))
4) 概率不同的有序表,最适合的查找算法是( )
A.顺序查找 B.折半查找 C.静态树表查找 D.索引顺序表查找
12) 对一组数据(84,47,25,15,21)排序,数据的排列次序在排序的过程中的变化为
(1) 84 47 25 15 21 (2) 15 47 25 84 21 (3) 15 21 25 84 47 (4) 15 21 25 47 84
则采用的排序是 ( )。
A. 选择 B. 冒泡 C. 快速 D. 插入
(1) 画出描述折半查找过程的判定树;
(2) 若查找元素54,需依次与哪些元素比较?
(3) 若查元素的查找概率相等,求查找成功时的平均查找长度。
23) 二叉查找树的数据输入序列为{65,40,27,12,81,54,29,33}。回答以下问题,
9) 设有一组记录的关键字为{19,14,23,1,68,20,84,27,55,11,10,79},用链地址法构造散列表,散列函数为H(key)=key MOD 13,散列地址为1的链中有( )个记录。
A.1 B. 2 C. 3 D. 4
A.下面的B,C,D都不对。 B.9,7,8,4,-1,7,15,20
C.20,15,8,9,7,-1,4,7 D. 9,4,7,8,7,-1,15,20
15) 下列四个序列中,哪一个是堆( )。
A. 75,65,30,15,25,45,20,10 B. 75,65,45,10,30,25,20,15
(2)存放元素59需要搜索的次数是( )。
A. 2 B. 3 C. 4 D. 5
11) 下面给出的四种排序法中( )排序法是不稳定性排序法。
A. 简单插入排序 B. 冒泡排序 C. 希尔排序 D. 快速排序
17) 查找表分为哪两种: 和 。
18) 一棵m阶B-树,每个结点包含的键值最多为 个。
19) 排序算法一般分为插入排序,交换排序,选择排序,归并排序和基数排序。其中希尔排序属于 排序,堆排序属于 排序。
20) 有一组数据(15,9,7,8,20,-1,7,4),该序列第二趟快速排序序列为

21) 在哈希函数H(key)=key%p中,p值最好取__________。
3. 分析题
22) 假定对有序表:(3,4,5,7,24,30,42,54,63,72,87,95)进行折半查找,试回答下列问题:
(1)画出该序列对应的二叉查找树,并标示平衡因子。
(2)通过旋转算法,画出该二叉查找树对应的平衡二叉树,并计算平衡后的平均查找长度ASL.
24) 已知一组关键字为(19,14,23,01,68,20,84,27,55,11,10,79)按哈希函数 H(Key)=Key MOD 13和线性探测再散列处理冲突的方法在地址空间A[0..15]中构造哈希表,并计算等概率条件下的平均查找长度。
13) 对序列{15,9,7,8,20,-1,4}进行排序,进行一趟后数据的排列变为{4,9,-1,8,20,7,15};则采用的是( )排序。
A. 选择 B. 快速 C. 希尔 D. 冒泡
14) 有一组数据(15,9,7,8,20,-1,7,4) 用快速排序的划分方法进行一趟划分后数据的排序为 ( )(按递增序)。
汗水和丰收是忠实的朋友,勤学和知识是一对最美丽的恋人。
数据结构习题(5)
学号________ 姓名_______ 课堂号(A:周一课堂,B:周二课堂)
1. 选择题
1) 对N个元素的表做顺序查找时,若查找每个元素的概率相同,则平均查找长度为( )
A.(N+1)/2 B. N/2 C. N D. [(1+N)*N ]/2
相关文档
最新文档