数据结构选择题(1),2024年最新软件测试开发面试问题

先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7

深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年最新软件测试全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上软件测试知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

如果你需要这些资料,可以添加V获取:vip1024b (备注软件测试)
img

正文

A.Q.frontNULL B.Q.rearNULL
C.Q.front==Q.rear D.Q.front!=Q.rear

54、设有两个串 T 和 P,求 P 在 T 中首次出现的位置的串运算称作 ( D )
A.联接 B.求子串 C.字符定位 D.子串定位

55、广义表 A=(a,(b),(),(c,d,e)) 的长度为 ( A )
A.4 B.5 C.6 D.7

56、一棵含 18 个结点的二叉树的高度至少为 ( C )
A.3 B.4 C.5 D.6

57、已知二叉树的先序序列为 ABDECF ,中序序列为 DBEAFC ,则后序序列为 ( D )
A.DEBAFC B.DEFBCA C.DEBCFA D.DEBFCA

58、无向图中一个顶点的度是指图中 ( B )
A.通过该顶点的简单路径数 B.与该顶点相邻接的顶点数
C.通过该顶点的回路数 D.与该顶点连通的顶点数

59、已知一个图如下所示,从顶点 a 出发进行广度优先遍历可能得到的序列为 ( C )
在这里插入图片描述
A.a c e f b d B.a c b d f e C.a c b d e f D.a c d b f e

60、在下列排序方法中,平均时间性能为 O(nlogn)且空间性能最好的是 ( B )
A.快速排序 B.堆排序 C.归并排序 D.基数排序

61、已知一组关键字为 {25,48,36,72,79,82,23,40,16,35} ,其中每相邻两个为有序子序列。对这
些子序列进行一趟两两归并的结果是 ( A )
A.{25,36,48,72,23,40,79,82,16,35} B.{25,36,48,72,16,23,40,79,82,35}
C.{25,36,48,72,16,23,35,40,79,82} D.{16,23,25,35,36,40,48,72,79,82}

62、设顺序存储的线性表共有 123 个元素,按分块查找的要求等分成 3 块。若对索引表采用顺序查找来确定块, 并在确定的块中进行顺序查找, 则在查找概率相等的情况下, 分块查找成功时的平均查找长度为 ( B )
A.21 B.23 C.41 D.62

63、索引非顺序文件的特点是 ( A )
A.主文件无序,索引表有序 B.主文件有序,索引表无序
C.主文件有序,索引表有序 D.主文件无序,索引表无序

64、倒排文件的主要优点是 ( C )
A.便于进行插入和删除运算 B.便于进行文件的恢复
C.便于进行多关键字查询 D.节省存储空间

65、计算机识别、存储和加工处理的对象被统称为 ( b )

A.数据 B.数据元素
C.数据结构 D. 数据类型

66、 在具有 n 个结点的有序单链表中插入一个新结点并使链表仍然有序的时间复杂度是( b )
A.O(1) B.O(n)
C.O(nlogn) D.O(n2)

67、 队和栈的主要区别是 ( d )
A.逻辑结构不同 B. 存储结构不同
C.所包含的运算个数不同 D.限定插入和删除的位置不同

68、链栈与顺序栈相比,比较明显的优点是 ( d )
A.插入操作更加方便 B. 删除操作更加方
便
C.不会出现下溢的情况 D. 不会出现上溢的情况

69、采用两类不同存储结构的字符串可分别简称为 ( b )
A.主串和子串 B.顺序串和链串
C.目标串和模式串 D. 变量串和常量串

70、在目标串 T[ 0…n-1 ]=″xwxxyxy″中,对模式串 P[0…m-1 ]=″xy″进行子串定位操作的结
果是 ( c )
A.0 B.2
C.3 D.5

71、 已知广义表的表头为 a,表尾为 (b,c) ,则此广义表为 ( b )
A.(a,(b,c)) B.(a,b,c)
C.((a),b,c) D.((a,b,c))

72、二维数组 A 按行优先顺序存储,其中每个元素占 1 个存储单元。若 A[1][1]的存储地址为420,A[3][ 3]的存储地址为 446,则 A[ 5][ 5]的存储地址为 ( c )
A.470 B.471
C.472 D.473

73、 二叉树中第 5 层上的结点个数最多为 ( d )
A.8 B.15
C.16 D.32

74、 下列编码中属前缀码的是 ( a )
A.{1,01,000,001} B.{1,01,011,010}
C.{0,10,110,11} D.{0,1,00,11}

75、如果某图的邻接矩阵是对角线元素均为零的上三角矩阵,则此图是 ( d )
A.有向完全图 B. 连通图
C.强连通图 D. 有向无环图

76、对 n 个关键字的序列进行快速排序,平均情况下的空间复杂度为 ( d )
A.O(1) B.O(logn)
C.O(n) D.O(n logn)

77、对表长为 n 的顺序表进行顺序查找,在查找概率相等的情况下,查找成功的平均查找长度为( n/2 )
A. B.
C. D.n

78、. 对于哈希函数 H(key)=key%13, 被称为同义词的关键字是 ( d )
A.35 和 41 B.23 和 39
C.15 和 44 D.25 和 51

79、 稠密索引是在索引表中 ( )

A.为每个记录建立一个索引项 B.为每个页块建立一个索引项
C.为每组记录建立一个索引项 D.为每个字段建立一个索引项

80、若将数据结构形式定义为二元组 (K,R),其中 K是数据元素的有限集合,则 R 是 K 上( )

A. 操作的有限集合 B. 映象的有限集合
C. 类型的有限集合 D. 关系的有限集合

81、在长度为 n 的顺序表中删除第 i 个元素 (1≤i ≤n)时,元素移动的次数为 ( )
A. n-i+1 B. i
C. i+1 D. n-i

82、若不带头结点的单链表的头指针为 head,则该链表为空的判定条件是 ( )
A. headNULL B. head->nextNULL
C. head!=NULL D. head->next==head

83、引起循环队列队头位置发生变化的操作是 ( )
A. 出队 B. 入队
C. 取队头元素 D. 取队尾元素

84、若进栈序列为 1,2,3, 4,5,6,且进栈和出栈可以穿插进行,则不可能出现的出栈序列是( )
A. 2,4,3,1,5,6 B. 3, 2,4,1,6,5
C. 4,3,2,1,5,6 D. 2, 3,5,1,6,4

85、字符串通常采用的两种存储方式是 ( )
A. 散列存储和索引存储 B. 索引存储和链式存储
C. 顺序存储和链式存储 D. 散列存储和顺序存储

86、设主串长为 n,模式串长为 m(m≤n),则在匹配失败情况下,朴素匹配算法进行的无效位移次数为 ( )
A. m B. n-m
C. n-m+1 D. n

87、二维数组 A[12][ 18]采用列优先的存储方法,若每个元素各占 3 个存储单元,且第 1 个
元素的地址为 150,则元素 A[9][ 7]的地址为 ( )
A. 429 B. 432
C. 435 D. 438

88、对广义表 L=((a,b),(c,d),(e,f)) 执行操作 tail(tail(L)) 的结果是 ( )
A. (e,f) B. ((e,f))
C. (f) D. ( )

89、下列图示的顺序存储结构表示的二叉树是 ( A )
在这里插入图片描述
90、n 个顶点的强连通图中至少含有 ( )
A. n-1 条有向边 B. n 条有向边
C. n(n-1)/2 条有向边 D. n(n-1) 条有向边

91、对关键字序列 (56 ,23, 78,92,88,67,19,34) 进行增量为 3 的一趟希尔排序的结果为
( )
A. (19,23,56, 34,78,67,88,92)

B. (23,56,78,66,88,92,19,34)
C. (19,23,34, 56,67,78,88,92)
D. (19,23,67,56,34,78,92,88)

92、若在 9 阶 B-树中插入关键字引起结点分裂,则该结点在插入前含有的关键字个数为( )
A. 4 B. 5
C. 8 D. 9

93、由同一关键字集合构造的各棵二叉排序树 ( )
A. 其形态不一定相同,但平均查找长度相同
B. 其形态不一定相同,平均查找长度也不一定相同
C. 其形态均相同,但平均查找长度不一定相同
D. 其形态均相同,平均查找长度也都相同

94、ISAM文件和 VSAM文件的区别之一是 ( )
A. 前者是索引顺序文件,后者是索引非顺序文件
B. 前者只能进行顺序存取,后者只能进行随机存取
C. 前者建立静态索引结构,后者建立动态索引结构
D. 前者的存储介质是磁盘,后者的存储介质不是磁盘

95、根据数据元素的关键字直接计算出该元素存储地址的存储方法是( D )

A.顺序存储方法 B.链式存储方法
C.索引存储方法 D.散列存储方法

96、2.下述程序段中语句①的频度是( C )
s=0;
for(i=1;i<m;i++)
for(j=0;j<=i;j++)
① s+=j;
A. B .
C. D .

97、求单链表中当前结点的后继和前驱的时间复杂度分别是( C )
A.O(n)和 O(1)
B.O(1)和 O(1)
C.O(1)和 O(n)
D.O(n) 和 O(n)

98、非空的单循环链表的头指针为 head,尾指针为 rear,则下列条件成立的是( A )
A.rear->next= =head B .rear->next->next= =head
C. head->next= =rear D .head->next->next= =rear

99、若允许表达式内多种括号混合嵌套,则为检查表达式中括号是否正确配对的算法,通常选用的辅助结构是( A )
A.栈 B .线性表
C.队列 D .二叉排序树

100、已知主串 s=″ ADBADABBAAB ″ ,模式串 t= ″ ADAB″,则应用朴素的串匹配算法进行模式匹配
过程中,无效位移的次数是( B )
A.2 B.3
C.4 D.5

101、串 s=″ Data Structure ″ 中长度为 3 的子串的数目是( C )
A.9 B .11
C.12 D .14

102、假设以行优先顺序存储三维数组 R[6][9][6] ,其中元素 R[0][0][0] 的地址为 2100,且每个元素
占 4 个存储单元,则存储地址为 2836 的元素是( B )
A.R[3][3][3] B .R[3][3][4]
C. R[4][3][5] D .R[4][3][4]

103、除第一层外,满二叉树中每一层结点个数是上一层结点个数的( C )
A.1/2 倍 B.1 倍
C.2 倍 D .3 倍

104、对于含 n 个顶点和 e 条边的图,采用邻接矩阵表示的空间复杂度为( D )
A.O(n) B.O(e)
C.O(n+e) D .O(n2)

105、如果求一个连通图中以某个顶点为根的高度最小的生成树,应采用( B )
A.深度优先搜索算法 B .广度优先搜索算法
C.求最小生成树的 prim 算法 D.拓扑排序算法

106、快速排序在最坏情况下的时间复杂度是( B )
A.O(n2log2n) B .O(n2)
C.O(nlog2n) D .O(log2n)

107、能进行二分查找的线性表 ,必须以( A )
A.顺序方式存储 ,且元素按关键字有序
B.链式方式存储 ,且元素按关键字有序
C.顺序方式存储 ,且元素按关键字分块有序
D.链式方式存储 ,且元素按关键字分块有序

109、为使平均查找长度达到最小 ,当由关键字集合 {05,11,21,25,37,40,41,62,84} 构建二叉排序树时 ,
第一个插入的关键字应为( B )
A.05 B .37
C.41 D .62

110、SAM 文件的周期性整理是为了空出( D )
A.磁道索引 B.柱面索引
C.柱面基本区 D.柱面溢出区

111、数据结构是( D)

A.一种数据类型
B.数据的存储结构
C.一组性质相同的数据元素的集合
D.相互之间存在一种或多种特定关系的数据元素的集合

112、算法分析的目的是(B )
A.辨别数据结构的合理性
B.评价算法的效率
C.研究算法中输入与输出的关系
D.鉴别算法的可读性

113、在线性表的下列运算中,不改变数据元素之间结构关系的运算是( D)
A.插入 B.删除
C.排序 D.定位

114、若进栈序列为 1,2,3,4,5,6,且进栈和出栈可以穿插进行, 则可能出现的出栈序列为 (B)
A.3,2,6,1,4,5
B.3,4,2,1,6, 5
C.1,2,5,3,4,6
D.5,6,4,2,3, 1

115、设串 sl= ″Data Structures with Java″,s2= ″it ″,则子串定位函数 index(s1,s2) 的值为(D )
A.15 B.16
C.17 D.18

116、二维数组 A[8][9] 按行优先顺序存储,若数组元素 A[2][3] 的存储地址为 1087,A[4][7] 的存
储地址为 1153,则数组元素 A[6][7] 的存储地址为(A )
A.1207 B.1209
C.1211 D.1213

117、在按层次遍历二叉树的算法中,需要借助的辅助数据结构是(A )
A.队列 B.栈
C.线性表 D.有序表

118、在任意一棵二叉树的前序序列和后序序列中,各叶子之间的相对次序关系( B)
A.不一定相同 B.都相同
C.都不相同 D.互为逆序

119、若采用孩子兄弟链表作为树的存储结构,则树的后序遍历应采用二叉树的( C)
A.层次遍历算法 B.前序遍历算法
C.中序遍历算法 D.后序遍历算法

120、若用邻接矩阵表示一个有向图,则其中每一列包含的″ 1″的个数为( A)
A.图中每个顶点的入度 B.图中每个顶点的出度
C.图中弧的条数 D.图中连通分量的数目

121、图的邻接矩阵表示法适用于表示(C )
A.无向图 B.有向图
C.稠密图 D.稀疏图

122、在对 n 个关键字进行直接选择排序的过程中, 每一趟都要从无序区选出最小关键字元素, 则
在进行第 i 趟排序之前,无序区中关键字元素的个数为( D)
A.i B.i+1
C.n-i D.n-i+1

123、下列排序算法中,其时间复杂度和记录的初始排列无关的是( B)

A.插入排序 B.堆排序
C.快速排序 D.冒泡排序

124、若有序表的关键字序列为( b,c,d,e,f,g,q,r,s,t ),则在二分查找关键字 b 的过程中,先
后进行比较的关键字依次为(A )
A.f,c,b B.f,d,b
C.g,c,b D.g,d,b

125、若在文件中查询年龄在 60 岁以上的男性及年龄在 55 岁以上的女性的所有记录, 则查询条件
为(C )
A.(性别 =“男”) OR(年龄 > 60)OR(性别 =“女”) OR(年龄 >55)
B.(性别 =“男”) OR(年龄 > 60)AND(性别 =“女”) OR(年龄 >55)
C.(性别 =“男”) AND(年龄 > 60)OR(性别 =“女”) AND(年龄 >55)
D.(性别 =“男”) AND(年龄 > 60)AND(性别 =“女”) AND(年龄 >55)

126、按值可否分解,数据类型一般可分为两类,它们是 ©
A. 静态类型和动态类型
B. 原子类型和表类型
C. 原子类型和结构类型
D. 数组类型和指针类型

127、
在这里插入图片描述
A. A f(n) 是0(g(n))
B. B g(n) 是0(f(n))
C. C h(n) 是0(nlogn)
D. D h(n) 是0(n2)

128、指针p、q和r 依次指向某循环链表中三个相邻的结点,交换结点 *q和结点 *r 在表中次序的程序段是 ()
在这里插入图片描述
129、若进栈次序为 a,b,c,且进栈和出栈能够穿插进行,则可能出现的含 3个元素的出栈序列
个数是 ()
A. 3
B. 5
C. 6
D. 7
答案: B

130、假设以数组 A[n]存放循环队列的元素,其头指针 front 指向队头元素的前一个位置、尾指
针rear 指向队尾元素所在的存储位置,则在少用一个元素空间的前提下,队列满的判定条件为 ()
A. rearfront
B. (front+1) %nrear
C. rear+1front
D. (rear+1) %nfront
答案: D

131、串的操作函数 str 定义为:
A. 3
B. 4
C. 5
D. 6
答案: C

132、二维数组 A[10][6]采用行优先的存储方法,若每个元素占 4个存储单元,已知元素
A[3][4]的存储地址为 1000,则元素 A[4][3]的存储地址为 ()
A. 1020
B. 1024
C. 1036
D. 1240
答案: A

133、对广义表 L= (a ,()) 执行操作 tail(L) 的结果是 ()
A. ()
B. (())
C. a
D. (a)
答案: B

134、已知二叉树的中序序列和后序序列均为 ABCDEF ,则该二叉树的先序序列为 ()
A. FEDCBA
B. ABCDEF
C. FDECBA
D. FBDCEA
答案: A

135、已知森林 F={T1,T2,T3,T4,T5},各棵树 Ti(i=1 ,2,3,4,5)中所含结点的个数分别
为7,3,5,1,2,则与 F对应的二叉树的右子树中的结点个数为 ()
A. 2
B. 3
C. 8
D. 11
答案: D

136、若非连通无向图 G含有21条边,则 G的顶点个数至少为 ()
A. 7
B. 8
C. 21
D. 22
答案: B

137、如图所示的有向图的拓扑序列是 ()
在这里插入图片描述
A. c,d,b,a,e
B. c,a,d,b,e
C. c,d,e,a,b
D. c,a,b,d,e
答案: B

138、对关键字序列 (6 ,1,4,3,7,2,8,5)进行快速排序时,以第 1个元素为基准的一次划分的结果为 ()
A. (5,1,4,3,6,2,8,7)
B. (5,1,4,3,2,6,7,8)
C. (5,1,4,3,2,6,8,7)
D. (8,7,6,5,4,3,2,1)
答案: C

139、分块查找方法将表分为多块,并要求 ()
A. 块内有序
B. 块间有序
C. 各块等长
D. 链式存储
答案: B

140、便于进行布尔查询的文件组织方式是 ()
A. 顺序文件
B. 索引文件
C. 散列文件
D. 多关键字文件
答案: D

141、若一个算法的时间复杂度用 T(n) 表示,其中 n 的含义是
( A )
A.问题规模 B.语句条数

C.循环层数 D.函数数量

142、具有线性结构的数据结构是( C )线性结构有:顺序表、栈和队列、串
A.树 B.图
C.栈和队列 D.广义表

143、将长度为 n 的单链表连接在长度为 m的单链表之后,其算法的时间复杂度为( B )
A.O(1) B.O(m)
C.O(n) D.O(m+n)
插入到长度为 m的单链表,需找到表尾, 时间复杂度为 o(m),
连接的时间复杂度为 0(1), 因此总的时间复杂度为 0(m)

144、在带头结点的双向循环链表中插入一个新结点,需要修改的指针域数量是( C )
A.2 个 B.3 个
C.4 个 D.6 个

145、假设以数组 A[60] 存放循环队列的元素,其头指针是front=47 ,当前队列有 50 个元素,则队列的尾指针值为( B )
A.3 B.37

C.50 D.97

146、若栈采用链式存储结构, 则下列说法中正确的是 ( B )
A .需要判断栈满且需要判断栈空
B.不需要判断栈满但需要判断栈空
C .需要判断栈满但不需要判断栈空
D .不需要判断栈满也不需要判断栈空
因为链栈中的结点是动态分配的,能够不考虑上溢,因此无需定义 stackFull 运算。

147、若串 str= ”Software ”,其子串的数目是( D )
A.8 B.9
C.36 D.37

148、设有一个 10阶的下三角矩阵 A,采用行优先压缩存储方式,a ll 为第一个元素,其存储地址为 1000,每个元素占一个地址单元,则 a 85 的地址为 ( C )
A.1012 B.1017
C.1032 D.1039

149、允许结点共享的广义表称为( D )
A.纯表 B.线性表
C.递归表 D.再入表

150、下列数据结构中,不属于二叉树的是( A )
A.B树 B树是一种平衡的多叉树
B.AVL树 AVL树是自平衡二叉查找树
C.二叉排序树
D.哈夫曼树 哈夫曼树是最优二叉树

151、对下面有向图给出了四种可能的拓扑序列,其中错误的是( C )

在这里插入图片描述
A.1,5,2,6,3,4 B.1,5,6,2,3,4
C.5,1,6,3,4,2 D .5,1,2,6,4,3

152、以 v1 为起始结点对下图进行深度优先遍历, 正确的遍历序列是( D )
在这里插入图片描述
A.v1,v2,v3,v4,v5,v6,v7
B.v1,v2,v5,v4,v3,v7,v6
C.v1,v2,v3,v4,v7,v5,v6
D.v1,v2,v5,v6,v7,v3,v4
深度优先遍历类似于树的前序遍历。其特点是尽可能先对纵深方向进行搜索

153、下列排序算法中不稳定的是( A )
A.快速排序 B.归并排序
C.冒泡排序 D.直接插入排序
稳定:直接插入、冒泡、归并、基数 不稳定:直接选
择、希尔、快速、堆

154、一个有序表为 (1,3,9,12,32,41,45,62,75,77,82,95,100),当采用折半查找方法查找值 32 时,查找成功需要的比较次数是( B )mid1=45,mid2=9,mid3=32
A.2 B.3
C.4 D.8

155、采用 ISAM组织文件的方式属于( D )
A.链组织 B.顺序组织

C.散列组织 D.索引组织

156、数据的四种存储结构是 ( A )

A.顺序存储结构、链接存储结构、索引存储结构和散列存储结构
B.线性存储结构、非线性存储结构、树型存储结构和图型存储结构
C.集合存储结构、一对一存储结构、一对多存储结构和多对多存储结构
D.顺序存储结构、树型存储结构、图型存储结构和散列存储结构

157、若对某线性表最常见的操作是在最后一个结点之后插入一个新结点或删除最后一个结点, 要使操作时间最少, 下列选项中,应选择的存储结构是 (C )
A.无头结点的单向链表 B.带头结点的单向链表
C.带头结点的双循环链表 D.带头结点的单循环链表

158、若带头结点的单链表的头指针为 head,则判断链表是否为空的条件是 (B )
A.head=NULL B.head->next=NULL
C.head!=NULL D.head->next!=head

159、若元素的入栈顺序为 1,2,3…,n,如果第 2个出栈的元素是n,则输出的第 i(1<=i<=n) 个元素是 ( D )
A.n-i B.n-i+l
C.n-i+2 D.无法确定

160、串匹配算法的本质是 (C )
A.串复制 B.串比较
C.子串定位 D.子串链接

161、设有一个 10阶的对称矩阵 A,采用行优先压缩存储方式, a 11为第一个元素, 其存储地址为 1,每个元素占一个字节空间,则a 85 的地址为 ( C )
A.13 B.18
C.33 D.40

162、若一棵二叉树的前序遍历序列与后序遍历序列相同, 则该二叉树可能的形状是 ( B )
A.树中没有度为 2的结点 B.树中只有一个根结点
C.树中非叶结点均只有左子树 D.树中非叶结点均只有右子树

163、若根结点的层数为 1,则具有 n个结点的二叉树的最大高度是(A )
在这里插入图片描述

164、在图G中求两个结点之间的最短路径能够采用的算法是( A )
A.迪杰斯特拉( Dijkstra )算法 B.克鲁斯卡尔( Kruskal )算法
C.普里姆 (Prim) 算法 D.广度优先遍历 (BFS)算法

165、下图G=(V,E) 是一个带权连通图, G的最小生成树的权为
( D )
在这里插入图片描述

166、在下图中,从顶点 1出发进行深度优先遍历可得到的序列是(B )
在这里插入图片描述
167、如果在排序过程中不改变关键字相同元素的相对位置,则认为该排序方法是 (B )
A.不稳定的 B.稳定的
C.基于交换的 D.基于选择的

168、设有一组关键字 (19, 14, 23, 1,6,20, 4,27, 5,11, 10, 9),用散列函数 H(key)=key%13 构造散列表,用拉链法解决冲突,散列地址为 1的链中记录个数为 (C )
A.1 B.2
C.3 D.4

169、已知二叉树结点关键字类型为字符,下列二叉树中符合二叉排序树性质的是 ( D )
在这里插入图片描述

170、若需高效地查询多关键字文件,能够采用的文件组织方式为( D )
A.顺序文件 B.索引文件
C.散列文件 D.倒排文件

171、下列选项中与数据存储结构无关的术语是( )

A.顺序表 B.链表
C.链队列 D.栈

172、将两个各有 n 个元素的有序表归并成一个有序表,最少的比较次数是( )
A.n-1 B.n
C.2n-1 D.2n

173、已知循环队列的存储空间大小为 m,队头指针 front 指向队头元素,队尾指针 rear 指向队尾元素的下一个位置,则向队列中插入新元素时,修改指针的操作是( )
A.rear=(rear-1)%m; B.front=(front+1)%m;
C.front=(front-1)%m; D.rear=(rear+1)%m ;

174、递归实现或函数调用时, 处理参数及返回地址, 应采用的数据结构是( )
A.堆栈 B.多维数组
C.队列 D.线性表

175、设有两个串 p 和 q,其中 q 是 p 的子串,则求 q 在 p 中首次出现位置的算法称为( )
A.求子串 B.串联接
C.串匹配 D.求串长

176、对于广义表 A,若 head(A)等于 tail(A) ,则表 A ( )
A.( ) B.(( ))
C.(( ),( )) D.(( ),( ),( ))

177、若一棵具有 n(n>0)个结点的二叉树的先序序列与后序序列正好相反,则该二叉树一定是( )
A.结点均无左孩子的二叉树 B.结点均无右孩子的二叉树
C.高度为 n 的二叉树 D.存在度为 2 的结点的二叉树

178、若一棵二叉树中度为 l 的结点个数是 3,度为 2 的结点个数是 4,则该二叉树叶子结点的个数是( )
A.4 B.5
C.7 D.8

179、下列叙述中错误的是( )
A.图的遍历是从给定的源点出发对每一个顶点访问且仅访问一次
B.图的遍历能够采用深度优先遍历和广度优先遍历
C.图的广度优先遍历只适用于无向图
D.图的深度优先遍历是一个递归过程

180、已知有向图 G=(V ,E),其中 V={V1 ,V2,V3,V4} ,E={<V1 ,V2>,<V1,V3>,<V2,V3>,<V2,V4>,<V3,V4>} ,图 G 的拓扑序列是( )
A.V1,V2,V3,V4 B.V1,V3,V2,V4
C.V1,V3,V4,V2 D.V1,V2,V4,V3

181、平均时间复杂度为 O(n log n)的稳定排序算法是( )
A.快速排序 B.堆排序
C.归并排序 D.冒泡排序

182、已知关键字序列为 (51,22,83,46,75,18,68,30),对其进行快速排序,第一趟划分完成后的关键字序列是( )
A.(18,22,30,46,51,68,75,83)
B.(30,18,22,46,51,75,83,68)
C.(46,30,22,18,51,75,68,83)
D.(30,22,18,46,51,75,68,83)

183、某索引顺序表共有元素 395 个,平均分成 5 块。若先对索引表采用顺序查找, 再对块中元素进行顺序查找, 则在等概率情况下,分块查找成功的平均查找长度是( )
[[(2+80)/2+(3+81)/2+(4+82)/2+(5+83)/2+(6+84)/2]*79]/395

A.43 B.79
C.198 D.200

184、在含有 10 个关键字的 3 阶 B-树中进行查找,至多访问的结点个数为( )
A.2 B.3
C.4 D.5

185、ISAM 文件系统中采用多级索引的目的是( )
A.提高检索效率 B.提高存储效率
C.减少数据的冗余 D.方便文件的修改

186、在数据的逻辑结构中,树结构和图结构都是( A)

A.非线性结构 B.线性结构
C.动态结构 D.静态结构

187、在一个长度为 n 的顺序表中插入一个元素的算法的时间复杂度为( C)
在这里插入图片描述
188、指针 p1 和 p2 分别指向两个无头结点的非空单循环链表中的尾结点,要将两个链表链接成一个新的单循环链表,应执行的操作为(D )
在这里插入图片描述
189、设栈的初始状态为空,入栈序列为 1,2,3,4,5,6,若出栈序列为 2,4,3,6,5,1,则操作过程中栈中元素个数最多时为( B)
1 、4、6

A.2 个 B.3 个
C.4 个 D.6 个

190、队列的特点是(D )
A.允许在表的任何位置进行插入和删除
B.只允许在表的一端进行插入和删除
C.允许在表的两端进行插入和删除
D.只允许在表的一端进行插入,在另一端进行删除

191、一个链串的结点类型定义为
﹟define NodeSize 6
typedef struct node{
char data[NodeSize];
struct node*next;
}LinkStrNode;
如果每个字符占 1 个字节,指针占 2 个字节, 该链串的存储
密度为(D )
A.1/3 B.1/2
C.2/3 D.3/4

192、广义表 A=(a,B,(a,B,(a,B,⋯⋯)))的长度为(C)
A.1 B.2
C.3 D.无限值

193、已知 10×12 的二维数组 A,按“行优先顺序”存储,每个元素占 1 个存储单元,已知 A[1][1] 的存储地址为 420,则A[5][5] 的存储地址为(C )
A.470 B.471
C.472 D.473

194、在一棵二叉树中,度为 2 的结点数为 15,度为 1 的结点数为 3,则叶子结点数为(B )
A.12 B.16
C.18 D.20

195、在带权图的最短路径问题中,路径长度是指(D )
A.路径上的顶点数 B.路径上的边数
C.路径上的顶点数与边数之和 D.路径上各边的权值之和

196、具有 n 个顶点、 e 条边的无向图的邻接矩阵中,零元素的个数为(C )
在这里插入图片描述
197、要以 O(n log n)时间复杂度进行稳定的排序,可用的排序方法是( A)
A.归并排序 B.快速排序
C.堆排序 D.冒泡排序

198、若希望在 1000 个无序元素中尽快求得前 10 个最大元素,应借用(A )
A.堆排序 B.快速排序
C.冒泡排序 D.归并排序

199、对有序表进行二分查找成功时,元素比较的次数(B)
A.仅与表中元素的值有关
B.仅与表的长度和被查元素的位置有关
C.仅与被查元素的值有关
D.仅与表中元素按升序或降序排列有关

200、散列文件是一种(B )
A.顺序存取的文件 B.随机存取的文件
C.索引存取的文件 D.索引顺序存取的文件

201、每个结点有且仅有一个直接前趋和多个 (或无 )直接后继 (A)

A.树状结构 B.网状结构
C.线性结构 D.层次结构

202、某线性表中最常见的操作是在最后一个元素之后插入元素和 删 除 第 一 个 元 素 , 则 最 节 省 运 算 时 间 的 存 储 结 构 是( D )
A.单链表 B.双链表
C.仅有头指针的单循环链表 D.仅有尾指针的单循环链表

203、已知一个栈的入栈序列是 1,2,3,⋯,n,其输出序列为p l ,p 2 ,p 3 ⋯.,p n ,若 p 1 是 n,则 p i 是( C )
A.i B.n-i
C.n-i+l D.不确定

204、下 面 关 于 串 的 叙 述 中 , 正 确 的 是( A )
A.串是一种特殊的线性表 B.串中元素只能 是字母
C.空串就是空白串 D.串的长度必须大于零

205、无向完全图 G 有 n 个结点,则它的边的总数为( C )
在这里插入图片描述
206、若一棵二叉树有 10 个度为 2 的结点, 5 个度为 1 的结点,则度为 0 的结点数是( B )
A.9 B.11
C.15 D.不确定

207、如图所示,在下面的 4 个序列中,不符合
... 深度优先遍历的序列是( A )
A.acfdeb
B.aebdfc
C.aedfbc
D.aefdbc

208、无论待排序列是否有序,排序算法时间复杂度都是 O(n2 )的排序方法是( D )
A.快速排序 B.归并排序
C.冒泡排序 D.直接选择排序

209、已知二叉排序树 G,要输出其结点的有序序列,则采用的遍历方法是( C )
A.按层遍历 B.前序遍历
C.中序遍历 D.后序遍历

210、用 ISAM 和 VSAM 组织的文件都属于( B )
A.散列文件 B.索引顺序文件
C.索引非顺序文件 D.多关键字文件

211、对序列 (15,9,7,8,20,-1,4)进行排序,第一趟排序后的序列变为 (4,9,-1,8,20,7,15),则用的排序方法是( C )
A.选择 B.快速
C.希尔 D.冒泡

212、当采用分块查找时,数据的组织方式为( D )
A.数据分成若干块,每块内数据有序

B.数据分成若干块,每块中数据个数必须相同
C.数据分成若干块,每块内数据有序,块间是否有序均可
D.数据分成若干块,每块内数据不必有序,但块间必须有序

213、下述编码中不是前缀码的是( B )
A.(00,01,10,11) B.(0,1,00,11)
C.(0,10,110,111) D.(1,01,000,001)

214、若一个栈以向量 V[1…n] 存储,初始栈顶指针 top 为 n+l,则 x 进栈的正确操作是( A )指针在最大下标以上
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

215、在一个以 head 为头结点指针的非空单循环链表中, p指针指向尾指针的条件是( D)
A.p - > data = - 1 B.p - > next = NULL
C.p - > next - > next=head D.p - > next = head

216、一个算法的时间耗费的数量级称为该算法的 (D)

A.效率 B.难度
C.可实现性 D.时间复杂度

217、顺序表便于 (D)
A.插入结点 B.删除结点
C.按值查找结点 D.按序号查找结点

218、4.设以数组 A[0…m-1] 存放循环队列, front 指向队头元素,rear 指向队尾元素的下一个位置, 则当前队列中的元素个数为 (A )
A.(rear-front+m) %m B.rear-front+1
C.(front-rear+m) %m D.(rear-front) %m

219、5.下列关于顺序栈的叙述中,正确的是 (A)
A.入栈操作需要判断栈满,出栈操作需要判断栈空
B.入栈操作不需要判断栈满,出栈操作需要判断栈空
C.入栈操作需要判断栈满,出栈操作不需要判断栈空
D.入栈操作不需要判断栈满,出栈操作不需要判断栈空

220、6.A 是一个 10×10 的对称矩阵, 若采用行优先的下三角压缩存储,第一个元素 a 0,0 的存储地址为 1,每个元素占一个存储单元,则 a 7,5 的地址为 (D)
A.25 B.26
C.33 D.34

221、树的后序遍历等价于该树对应二叉树的 ©
A.层次遍历 B.前序遍历
C.中序遍历 D.后序遍历

222、8.使用二叉线索树的目的是便于 (D)
A.二叉树中结点的插入与删除 B.在二叉树中查找双

C.确定二叉树的高度 D.查找一个结点的前趋和后

223、9.设无向图的顶点个数为 n,则该图边的数目最多为 (B)
在这里插入图片描述
224、可进行拓扑排序的图只能是 ©
A.有向图 B.无向图
C.有向无环图 D.无向连通图

225、下列排序方法中稳定的是 (A)
A.直接插入排序 B.直接选择排序
C.堆排序 D.快速排序

226、12下列序列不为堆的是 ©
A.75,45,65,30,15,25 B.75,65,45,30,25,15
C.75,65,30,l5,25,45 D.75,45,65,25,30,15

227、13对线性表进行二分查找时,要求线性表必须是 ©
A.顺序存储 B.链式存储
C.顺序存储且按关键字有序 D.链式存储且按关键
字有序

228、14.分别用以下序列生成二叉排序树,其中三个序列生成的二叉排序树是相同的,不同的序列是 (A)
A.(4,1,2,3,5) B.(4,2,3,l,5)
C.(4,5,2,1,3) D.(4,2,1,5,3)

229、下列关于 m 阶 B 树的叙述中,错误的是 (A)
A.每个结点至多有 m 个关键字
B.每个结点至多有 m 棵子树
C.插入关键字时,经过结点分裂使树高增加
D.删除关键字时经过结点合并使树高降低

230、数据的逻辑结构能够分为 ©

A.动态结构和静态结构 B.顺序结构和链式结构
C.线性结构和非线性结构 D.简单结构和构造结构

231、线性表是一个有限序列,组成线性表的基本单位是
A.数据项 B.数据元素 (B)
C.数据域 D.字符

232、栈中有 a、b 和 c 三个元素, a 是栈底元素, c 是栈顶元素,元素 d 等待进栈,则不可能的出栈序列是 ©
A.dcba B.cbda
C.cadb D.cdba

233、稀疏矩阵的三元组表是 (A)
A.顺序存储结构 B.链式存储结构
C.索引存储结构 D.散列表存储结构

234、已知广义表 G,head(G)与 tail(G) 的深度均为 6,则 G 的深度是 ©
A.5 B.6
C.7 D.8

235、6.下列编码集合中,属于前缀编码的一组是 (B)
A.{11,10,001,101,0001} B.{00,010,0110,1000}
C.{11,01,001,0101,0001} D.{0,10,110,1011}

236、如题 7 图所示二叉树的中序序列为 (A)
在这里插入图片描述

237、8.有向图中所有顶点入度之和与所有顶点出度之和的比是 (B)
A.1/2 B.1
C.2 D.4

238、9.含有 n 个顶点和 e 条边的有向图的邻接矩阵中,零元素的个数是 (D)
在这里插入图片描述
239、n 个顶点的无向连通图,其生成树的边数为 (A)
A.n-l B.n
C.n+l D.nlogn

240、用自底向上的冒泡排序方法对序列 (8,13,26,55,29,44)从大到小排序,第一趟排序需进行交换的次数为 C)
A.2 B.3
C.4 从大到下 自底向上排序 D.5

241、对序列 (8,13,26,55,29,44)从小到大进行基数排序,第一趟排序的结果是 (A)
A.(13,44,55,26,8,29) B.(13,26,55,44,8,29)
C.(8,13,26,29,44,55) D.(29,26,8,44,55,13)

242、采用分块查找时,要求数据 (B)
A.块内有序 B.分块有序
C.分块无序 D.每块中数据个数必须相同

243、下列关于散列函数的说法正确的是 (D)
A.散列函数越复杂越好
B.散列函数越简单越好
C.用除余法构造的散列函数是最好的
D.在冲突尽可能少的情况下,散列函数越简单越好

244、下列关于 m 阶 B 树的叙述中,错误的是
A.每个结点至多有 m 棵子树 (D)
B.每个结点至多有 m-1 个关键字
C.所有的叶结点均在同一层上

245、算法的时间复杂度表征的是 (C)

A.算法的可读性 B.算法的难易程度

C.执行算法所耗费的时间 D.执行算法所耗费的存储空间

246、对需要频繁插入和删除结点的线性表,适合的存储方式是 (B)
A.顺序储存 B.链式存储
C.索引存储 D.散列存储

247、4.迪杰斯特拉 (Dijkstra) 算法的功能是 (A)
A.求图中某顶点到其它顶点的最短路径 B.求图中所有顶点之间的最短路径
C.求图的最小生成树 D.求图的拓扑排序序列

248、5.若栈的进栈序列为 1, 2, 3,4,5,则经过出入栈操作不可能 获得的出栈序列是 (B)
A.4,5,3,2,1 B.4, 3,5,1, 2
C.1,2,3,4,5 D.5,4,3,2, 1

249、A 是 7×4 的二维数组, 按行优先方式顺序存储, 元素 A[0][0] 的存储地址为 1 000,若每个元素占 2 个字节,则元素 A[3][3]的存储地址为 (D)
A.1015 B.1016
C.1028 D.1030

250、7.深度为 4 的完全二叉树的结点数至少为 (B)
A.4 B.8
C.13 D.15

251、若采用邻接矩阵 A 存储有向图 G,则结点 k 的入度等于 A 中 (B)
A.结点 k 对应行元素之和 B.结点 k 对应列元素之和
C.结点 k 对应行和列元素之和 D.非零元素之和

252、9.无向图 G 的邻接矩阵一定是 (A)
A.对称矩阵 B.对角矩阵
C.三角矩阵 D.单位矩阵

253、10.下列关于有向带权图 G 的叙述中,错误的是 (D)
A.图 G 的任何一棵生成树都不含有回路
B.图 G 生成树所含的边数等于顶点数减 1
C.图 G 含有回路时无法得到拓扑序列
D.图 G 的最小生成树总是唯一的

254、11.在下列排序算法中,关键字比较次数与初始排列次序无关的是 (D)
A.冒泡排序 B.希尔排序
C.直接插入排序 D.直接选择排序

255、1 2.对下图进行拓扑排序,能够得到的拓扑序是 (B)
在这里插入图片描述
A.a b c d e B.b a c d e
C.b c a d e D.a b d c e

256、下列线性表中,能使用二分查找的是 (C)
A.顺序存储 (2,12,5,6,9,3,89,34,25)
B.链式存储 (2,12,5,6,9,3,89,34,25)
C.顺序存储 (2,3,5,6,9,12,25,34,89)
D.链式存储 (2,3,5,6,9,12,25,34,89)

257、14.在下列查找方法中,平均查找长度与结点数量无直接关系的是 (C)
A.顺序查找 B.分块查找
C.散列查找 D.基于 B 树的查找

258、下列排序算法中,时间复杂度为 O(nlog
2 n)的算法是 (A)
A.快速排序 B.冒泡排序
C.直接选择排序 D.直接插入排序

259、
在这里插入图片描述
在这里插入图片描述

260、下列选项中,不属于线性结构的是 (A)

A .网 B .栈 C .队列 D .线性表

261、长度为 n 的顺序表, 删除位置 i 上的元素 (0≤i ≤n 一 1) ,需要移动的元素个数为 (B)
A .n—i B.n—i —l C .i D .i+1

262、栈采用不同的存储方式时,下列关于出栈过程的叙述中,正确的是 (Q)
A.顺序栈需要判定栈空,链栈也需要判定
B .顺序栈需要判定栈空,而链栈不需要判定
C .顺序栈不需要判定栈空,而链栈需要判定
D .顺序栈不需要判定栈空,链栈也不需要判定

263、若一个栈以数组 V[0..n-1] 存储,初始栈顶指针 top 为 n,则 x 入栈的正确操作是 (C)
A .top=top+1 ; V[top]=x
B. V[top]=x ;top=top+1
C.top=top 一 1;V[mp]=x
D . V[top]=x ;top=top —l

264、5.在二维数组 a[9][10] 中:每个数组元素占用 3 个存储空间,从首地址 SA开始按行优先连续存放,则元素 a[8][5] 的起始地址是 (D)
A . SA+141
B. SA+144
C. SA+222
D.SA+255

265、广义表 A=(x,((y) ,((a)) ,A)) 的深度是 (D)
A .2 B .3 C .4 D.∞

266、7一棵左子树为空的二叉树在前序线索化后,其空指针域个数为 (C)
A .0 B .1 C .2 D .不确定

267、8.下列关于哈夫曼树的叙述中,错误的是 (A)
A .用 n 个结点构造的哈夫曼树是唯一的
B .哈夫曼树中只有度为 0 或度为 2 的结点
C .树中两个权值最小的结点可能是兄弟结点
D .同一结点集构造的二叉树中,哈夫曼树的 WPL最小

268、9.6 个顶点的强连通图中,含有的边数至少是 (C)
A .4 B .5 C.6 D .

269、
在这里插入图片描述

270、12有向图采用邻接矩阵存储,某一行中非零元素的个数等于 (B)
A .对应顶点 v 的度
B.对应顶点 v 的出度

C .对应顶点 v 的入度
D .依附于对应顶点 v 的边数

271、下列选项中,符合堆定义的是 (C)
A .{102,24,55,60,89,93}
B .{24,89,55,60,93,102}
C.{102,93,55,60,89,24}
D .{102,60。89,93,55,24}

272、14已知关键字序列为 {66,82,25,51,98,108},利用快速排序方法,以第一个元素为基准得到的一趟排序结果为 (D)
A .{25,51,66,82,98,108}
B .{25,51,66,98,82,108}
C .{51,25,66,108,98,82}
D.{51,25,66,82,98,108}

273、下列选项中,其平均查找性能与基于二叉排序树的查找相当的是 (A)
A.二分查找 B .顺序查找 C .分块查找 D .索
引顺序查找

274、按值可否分解,数据类型通常可分为两类,它们是 ©
A. 静态类型和动态类型
B. 原子类型和表类型
C. 原子类型和结构类型
D. 数组类型和指针类型

275、
在这里插入图片描述
276、指针p、q和r 依次指向某循环链表中三个相邻的结点,交换结点 *q和结点 *r 在表中次序的程
序段是 ()
A. p->next=r ;q->next=r->next ;r->next=q ;
B. p->next=r ;r->next=q ;q->next=r->next ;
C. r->next=q ;q->next=r->next ;p->next=r ;
D. r->next=q ;p->next=r ;q->next=r->next ;
答案: A

277、若进栈次序为 a,b,c,且进栈和出栈可以穿插进行,则可能出现的含 3个元素的出栈序列个数是 (B)
A. 3
B. 5
C. 6
D. 7

278、假设以数组 A[n]存放循环队列的元素,其头指针 front 指向队头元素的前一个位置、尾指
针rear 指向队尾元素所在的存储位置,则在少用一个元素空间的前提下,队列满的判定条件为 ()
A. rearfront
B. (front+1) %nrear
C. rear+1front
D. (rear+1) %nfront
答案: D

279、
在这里插入图片描述
280、二维数组 A[10][6]采用行优先的存储方法,若每个元素占 4个存储单元,已知元素
A[3][4]的存储地址为 1000,则元素 A[4][3]的存储地址为 ()
A. 1020
B. 1024
C. 1036
D. 1240
答案: A

281、对广义表 L= (a ,()) 执行操作 tail(L) 的结果是 ()
A. ()
B. (())
C. a
D. (a)
答案: B

282、已知二叉树的中序序列和后序序列均为 ABCDEF ,则该二叉树的先序序列为 ()
A. FEDCBA
B. ABCDEF
C. FDECBA
D. FBDCEA
答案: A

283、已知森林 F={T1,T2,T3,T4,T5},各棵树 Ti(i=1 ,2,3,4,5)中所含结点的个数分别为7,3,5,1,2,则与 F对应的二叉树的右子树中的结点个数为 ()
A. 2
B. 3
C. 8
D. 1

284、若非连通无向图 G含有21条边,则 G的顶点个数至少为 ()
A. 7
B. 8
C. 21
D. 22
答案: B

285、
在这里插入图片描述
286、对关键字序列 (6,1,4,3,7,2,8,5) 进行快速排序时,以第 1个元素为基准的一次划分的结果为 ()
A. (5,1,4,3,6,2,8,7)
B. (5,1,4,3,2,6,7,8)
C. (5,1,4,3,2,6,8,7)
D. (8,7,6,5,4,3,2,1)
答案: C

287、分块查找方法将表分为多块,并要求 ()
A. 块内有序
B. 块间有序
C. 各块等长
D. 链式存储
答案: B

288、便于进行布尔查询的文件组织方式是 ()
A. 顺序文件
B. 索引文件
C. 散列文件
D. 多关键字文件
答案: D

289、若一个算法的时间复杂度用 T(n) 表示,其中 n 的含义是( A )

A.问题规模 B.语句条数
C.循环层数 D.函数数量

290、具有线性结构的数据结构是( C )线性结构有:顺序表、栈和队列、串
A.树 B.图
C.栈和队列 D.广义表

291、将长度为 n 的单链表连接在长度为 m的单链表之后,其算法的时间复杂度为( B )
A.O(1) B. O(m)
C.O(n) D. O(m+n)
插入到长度为 m的单链表, 需找到表尾, 时间复杂度为 o(m),连接的时间复杂度为 0(1), 所以总的时间复杂度为 0(m)

292、在带头结点的双向循环链表中插入一个新结点,需要修改的指针域数量是( C )
A.2 个 B. 3 个
C.4 个 D. 6 个

293、假设以数组 A[60] 存放循环队列的元素,其头指针是 front=47 ,当前队列有 50 个元素,则队列的尾指针值为( B )
A.3 B. 37
C.50 D. 97

294、若栈采用链式存储结构,则下列说法中正确的是( B )
A .需要判断栈满且需要判断栈空
B.不需要判断栈满但需要判断栈空
C .需要判断栈满但不需要判断栈空
D .不需要判断栈满也不需要判断栈空
因为链栈中的结点是动态分配的,可以不考虑上溢,所以无需定义 stackFull 运算。

295、若串 str= ”Software ”,其子串的数目是( D )
A.8 B. 9
C.36 D. 37

296、设有一个 10 阶的下三角矩阵 A,采用行优先压缩存储方式, a ll 为第一个元素,其存储地址为 1000,每个元素占一个地址单元,则 a 85 的地址为 ( C )
A.1012 B. 1017
C.1032 D. 1039

297、允许结点共享的广义表称为( D )
A.纯表 B.线性表
C.递归表 D.再入表

298、下列数据结构中,不属于二叉树的是( A )
A.B树 B树是一种平衡的多叉树 B. AVL树 AVL树是自平衡二叉查找树
C.二叉排序树 D.哈夫曼树 哈夫曼树是最优二叉树

299、
在这里插入图片描述

300、
在这里插入图片描述

301、
下列排序算法中不稳定的是( A )
A.快速排序 B.归并排序
C.冒泡排序 D.直接插入排序
稳定:直接插入、冒泡、归并、基数 不稳定:直接选择、希尔、快速、堆

302、一个有序表为 (1 , 3,9,12,32, 41,45,62,75,77,82,95,100) ,当采用折半查找方法查找值 32 时,查找成功需要的比较次数是( B )mid1=45,mid2=9, mid3=32
A.2 B. 3
C.4 D. 8

303、采用 ISAM组织文件的方式属于( D )
A.链组织 B.顺序组织
C.散列组织 D.索引组织

304、数据的四种存储结构是 (A )

A.顺序存储结构、链接存储结构、索引存储结构和散列存储结构
B.线性存储结构、非线性存储结构、树型存储结构和图型存储结构
C.集合存储结构、一对一存储结构、一对多存储结构和多对多存储结构
D.顺序存储结构、树型存储结构、图型存储结构和散列存储结构

305、若对某线性表最常用的操作是在最后一个结点之后插入一个新结点或删除最后一个结点,要使操作时间最少,下列选项中,应选择的存储结构是 ( C )
A.无头结点的单向链表 B.带头结点的单向链表
C.带头结点的双循环链表 D.带头结点的单循环链表

306、4.若元素的入栈顺序为 1,2,3…,n,如果第 2个出栈的元素是 n,则输出的第 i(1<=i<=n) 个元素是 ( C )
A.n-i B.n-i+l
C.n-i+2 D.无法确定

307、5.串匹配算法的本质是 ( C )
A.串复制 B.串比较
C.子串定位 D.子串链接

308、6.设有一个 10阶的对称矩阵 A,采用行优先压缩存储方式, a 11 为第一个元素,其存储地址为
1,每个元素占一个字节空间,则 a 85 的地址为 ( C)
A.13 B.18
C.33 D.40

309、7.若一棵二叉树的前序遍历序列与后序遍历序列相同,则该二叉树可能的形状是 ( B )
A.树中没有度为 2的结点 B.树中只有一个根结点
C.树中非叶结点均只有左子树 D.树中非叶结点均只有右子树

400、A
在这里插入图片描述
401、在图 G中求两个结点之间的最短路径可以采用的算法是 ( A)
A.迪杰斯特拉( Dijkstra )算法 B.克鲁斯卡尔( Kruskal)算法
C.普里姆 (Prim) 算法 D.广度优先遍历 (BFS)算法

402、D
在这里插入图片描述
403、B
在这里插入图片描述
404、12如果在排序过程中不改变关键字相同元素的相对位置,则认为该排序方法是 ( B )
A.不稳定的 B.稳定的
C.基于交换的 D.基于选择的

405、设有一组关键字 (19, 14, 23, 1,6,20, 4,27, 5,11, 10, 9),用散列函数 H(key)=key%13 构造散列表,用拉链法解决冲突,散列地址为 1的链中记录个数为 ( C )
A.1 B.2
C.3 D.4

406、
在这里插入图片描述

407、15.若需高效地查询多关键字文件,可以采用的文件组织方式为 (D )
A.顺序文件 B.索引文件
C.散列文件 D.倒排文件

408、下列选项中与数据存储结构无关的术语是( D)

A.顺序表 B.链表
C.链队列 D.栈

409、将两个各有 n 个元素的有序表归并成一个有序表,最少的比较次数是(B )
A.n-1 B.n
C.2n-1 D.2n

410、3.已知循环队列的存储空间大小为 m,队头指针 front 指向队头元素,队尾指针 rear 指向队尾元素的下一个位置,则
向队列中插入新元素时,修改指针的操作是( D)
A.rear=(rear-1)%m; B.front=(front+1)%m;
C.front=(front-1)%m; D.rear=(rear+1)%m ;

411、4.递归实现或函数调用时,处理参数及返回地址,应采用的数据结构是(A )
A.堆栈 B.多维数组
C.队列 D.线性表

412、5.设有两个串 p 和 q,其中 q是 p 的子串,则求 q 在 p 中首次出现位置的算法称为( )C
A.求子串 B.串联接
C.串匹配 D.求串长

413、6.对于广义表 A,若 head(A)等于 tail(A) ,则表 A 为(B )
A.( ) B.(( ))
C.(( ),( )) D.(( ),( ),( ))

414、7.若一棵具有 n(n>0)个结点的二叉树的先序序列与后序序列正好相反,则该二叉树一定是(C )
A.结点均无左孩子的二叉树 B.结点均无右孩子的二叉树
C.高度为 n 的二叉树 D.存在度为 2 的结点的二叉树

415、若一棵二叉树中度为 l 的结点个数是 3,度为 2 的结点个数是 4,则该二叉树叶子结点的个数是(B )
A.4 B.5
C.7 D.8

416、9.下列叙述中错误的是(C )
A.图的遍历是从给定的源点出发对每一个顶点访问且仅访问一次
B.图的遍历可以采用深度优先遍历和广度优先遍历
C.图的广度优先遍历只适用于无向图
D.图的深度优先遍历是一个递归过程

417、已知有向图 G=(V ,E),其中 V={V1 ,V2,V3,V4} ,E={<V1 ,V2> ,<V1,V3>,<V2,V3>,<V2,V4>,<V3,
V4>} ,图 G 的拓扑序列是( A)
A.V1,V2,V3,V4 B.V1,V3,V2,V4
C.V1,V3,V4,V2 D.V1,V2,V4,V3

419、11.平均时间复杂度为 O(n log n)的稳定排序算法是(C )
A.快速排序 B.堆排序
C.归并排序 D.冒泡排序

420、已知关键字序列为 (51, 22,83,46,75,18,68,30),对其进行快速排序,第一趟划分完成后的关键字序列是(D )
A.(18,22,30,46,51,68,75,83) B.(30,18,22,46,51,75,83,68)
C.(46,30,22,18,51,75,68,83) D.(30,22,18,46,51,75,68,83)

421、某索引顺序表共有元素 395 个,平均分成 5块。若先对索引表采用顺序查找,再对块中元素进行顺序查找,则在
等概率情况下, 分块查找成功的平均查找长度是 ( A)[[(2+80)/2+(3+81)/2+(4+82)/2+(5+83)/2+(6+84)/2]*79]/395
A.43 B.79
C.198 D.200

422、14在含有 10 个关键字的 3 阶 B-树中进行查找,至多访问的结点个数为(B )
A.2 B.3
C.4 D.5

423、15.ISAM 文件系统中采用多级索引的目的是(A )
A.提高检索效率 B.提高存储效率
C.减少数据的冗余 D.方便文件的修改

424、在数据的逻辑结构中,树结构和图结构都是( A)

A.非线性结构 B.线性结构
C.动态结构 D.静态结构

425、在一个长度为 n 的顺序表中插入一个元素的算法的时间复杂度为( C)
在这里插入图片描述
426、3.指针 p1 和 p2 分别指向两个无头结点的非空单循环链表中的尾结点,要将两个链表链接成一个新的单循环链表,应执行的操作为( D)
A.p1 -> next=p2-> next;p2-> next=p1-> next;
B. p2-> next=p1-> next;p1-> next=p2-> next;
C. p=p2-> next; p1-> next=p;p2-> next=p1-> next;
D. p=p1 -> next; p1-> next= p2-> next;p2-> next=p;

427、4 设栈的初始状态为空,入栈序列为 1,2,3,4,5,6,若出栈序列为 2,4,3,6,5, 1,则操作过程中栈中元素个数最多时为( B)
A.2 个 B.3 个
C.4 个 D.6 个

428、队列的特点是(D )
A.允许在表的任何位置进行插入和删除
B.只允许在表的一端进行插入和删除
C.允许在表的两端进行插入和删除
D.只允许在表的一端进行插入,在另一端进行删除

429、6.一个链串的结点类型定义为
﹟define NodeSize 6
typedef struct node{
char data[NodeSize];
struct node*next;
}LinkStrNode;
如果每个字符占 1 个字节,指针占 2 个字节,该链串的存储密度为(D )
A.1/3 B.1/2
C.2/3 D.3/4

430、广义表 A= (a,B,(a,B,(a,B,⋯⋯)))的长度为( C)
A.1 B.2
C.3 D.无限值

431、8.已知 10×12 的二维数组 A,按“行优先顺序”存储,每个元素占 1 个存储单元,已知 A[1][1] 的存储地址为 420,
则 A[5][5] 的存储地址为( C)
A.470 B.471
C.472 D.473

432、9.在一棵二叉树中,度为 2 的结点数为 15,度为 1 的结点数为 3,则叶子结点数为( B)
A.12 B.16
C.18 D.20

433、10.在带权图的最短路径问题中,路径长度是指( D)
A.路径上的顶点数 B.路径上的边数
C.路径上的顶点数与边数之和 D.路径上各边的权值之和

434、11.具有 n 个顶点、 e条边的无向图的邻接矩阵中,零元素的个数为( C
在这里插入图片描述

435、要以 O(n log n)时间复杂度进行稳定的排序,可用的排序方法是( A)
A.归并排序 B.快速排序
C.堆排序 D.冒泡排序

436、13.若希望在 1000 个无序元素中尽快求得前 10 个最大元素,应借用(A )
A.堆排序 B.快速排序
C.冒泡排序 D.归并排序

437、14.对有序表进行二分查找成功时,元素比较的次数( B)
A.仅与表中元素的值有关 B.仅与表的长度和被查元素的位置有关
C.仅与被查元素的值有关 D.仅与表中元素按升序或降序排列有关

438、散列文件是一种( B)
A.顺序存取的文件 B.随机存取的文件
C.索引存取的文件 D.索引顺序存取的文件

439、每个结点有且仅有一个直接前趋和多个 (或无 )直接后继 (第一个结点除外 )的数据结构称为( A )

A.树状结构 B.网状结构
C.线性结构 D. 层次结构

439、某线性表中最常用的操作是在最后一个元素之后插入元素和删除第一个元素,则最节省运算时间的存储结构是
( D )
A.单链表 B.双链表
C.仅有头指针的单循环链表 D. 仅有尾指针的单循环链表

440、.已知一个栈的入栈序列是 1,2,3,⋯,n,其输出序列为 p l ,p 2 ,p 3 ⋯.,p n ,若 p 1 是 n,则 p i 是(
C )
A.i B.n-i
C.n-i+l D. 不确定

441、下面关于串的叙述中,正确的是( A )
A.串是一种特殊的线性表 B.串中元素只能是字母
C.空串就是空白串 D. 串的长度必须大于零

442、无向完全图 G 有 n 个结点,则它的边的总数为( C )
在这里插入图片描述
443、若一棵二叉树有 10 个度为 2 的结点, 5 个度为 1 的结点,则度为 0 的结点数是( B )
A.9 B.11
C.15 D. 不确定

444、
在这里插入图片描述
445、无论待排序列是否有序,排序算法时间复杂度都是 O(n
2 )的排序方法是(D )
A.快速排序 B.归并排序
C.冒泡排序 D. 直接选择排序

446、已知二叉排序树 G,要输出其结点的有序序列,则采用的遍历方法是( C )
A.按层遍历 B.前序遍历
C.中序遍历 D. 后序遍历

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以添加V获取:vip1024b (备注软件测试)
img

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
1 的结点数为 3,则叶子结点数为( B)
A.12 B.16
C.18 D.20

433、10.在带权图的最短路径问题中,路径长度是指( D)
A.路径上的顶点数 B.路径上的边数
C.路径上的顶点数与边数之和 D.路径上各边的权值之和

434、11.具有 n 个顶点、 e条边的无向图的邻接矩阵中,零元素的个数为( C
在这里插入图片描述

435、要以 O(n log n)时间复杂度进行稳定的排序,可用的排序方法是( A)
A.归并排序 B.快速排序
C.堆排序 D.冒泡排序

436、13.若希望在 1000 个无序元素中尽快求得前 10 个最大元素,应借用(A )
A.堆排序 B.快速排序
C.冒泡排序 D.归并排序

437、14.对有序表进行二分查找成功时,元素比较的次数( B)
A.仅与表中元素的值有关 B.仅与表的长度和被查元素的位置有关
C.仅与被查元素的值有关 D.仅与表中元素按升序或降序排列有关

438、散列文件是一种( B)
A.顺序存取的文件 B.随机存取的文件
C.索引存取的文件 D.索引顺序存取的文件

439、每个结点有且仅有一个直接前趋和多个 (或无 )直接后继 (第一个结点除外 )的数据结构称为( A )

A.树状结构 B.网状结构
C.线性结构 D. 层次结构

439、某线性表中最常用的操作是在最后一个元素之后插入元素和删除第一个元素,则最节省运算时间的存储结构是
( D )
A.单链表 B.双链表
C.仅有头指针的单循环链表 D. 仅有尾指针的单循环链表

440、.已知一个栈的入栈序列是 1,2,3,⋯,n,其输出序列为 p l ,p 2 ,p 3 ⋯.,p n ,若 p 1 是 n,则 p i 是(
C )
A.i B.n-i
C.n-i+l D. 不确定

441、下面关于串的叙述中,正确的是( A )
A.串是一种特殊的线性表 B.串中元素只能是字母
C.空串就是空白串 D. 串的长度必须大于零

442、无向完全图 G 有 n 个结点,则它的边的总数为( C )
在这里插入图片描述
443、若一棵二叉树有 10 个度为 2 的结点, 5 个度为 1 的结点,则度为 0 的结点数是( B )
A.9 B.11
C.15 D. 不确定

444、
在这里插入图片描述
445、无论待排序列是否有序,排序算法时间复杂度都是 O(n
2 )的排序方法是(D )
A.快速排序 B.归并排序
C.冒泡排序 D. 直接选择排序

446、已知二叉排序树 G,要输出其结点的有序序列,则采用的遍历方法是( C )
A.按层遍历 B.前序遍历
C.中序遍历 D. 后序遍历

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以添加V获取:vip1024b (备注软件测试)
[外链图片转存中…(img-tnbW9kkc-1713562506233)]

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 11
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值