的非递归算法应该设置〔堆栈〕。
120.假设长度为 n 的非空线性表采用顺序
存储结构,删除表的第 i 个数据元素,i 的
合法值应该
121.是〔C. 1≤i≤n〕。
122.假设某线性表中最常用的操作是取第
i 个元素和删除最后一个元素,则采用什
么存储方
123.式最节省时间〔顺序表〕。
124.一组记录的关键字为{45, 80, 55,
40, 42, 85},则利用堆排序的方法建立
的初始堆为〔85, 80, 55, 40, 42,
45〕。
125.设有 6000 个无序的元素,希望用最
快的速度挑选出其中前 5 个最大的元素,
最好选用(堆排序)法。
126.排序方法中,从未排序序列中挑选元
素,将其放入已排序序列的一端的方法,
称为(选择排序)。
127.带头结点的单链表 head 为空的判断
条件是(head->next==NULL)。
128.在一个单链表中,假设删除(*p)结点
的后继结点,则执行(p->next=p-
>next->next)。
129.在一棵具有 n 个结点的二叉树中,所
有结点的空子树个数等于〔n+1〕
130.有向图中,以顶点 v 为终点的边的数
目,称为顶点 v 的〔入度〕。
131.假设频繁地对线性表进行插入和删除
操作,该线性表应该采用的存储结构是
〔链式〕。
132.设一个栈的输入序列是
1,2,3,4,5,则以下序列中,是栈的
合法输出序列的是〔3 2 1 5 4〕。
133.有数据
{53,30,37,12,45,24,96},从
空二叉树开始逐个插入数据来形成二叉查
找树,假设希望高度最小,则应选择下面
输入序列是
〔37,24,12,30,53,45,96〕。
134.二叉树的第 I 层上最多含有结点数为
〔2I〕。
135.稀疏矩阵一般采用的压缩存储方法为
(三元组表)。
136.某二叉树的前序和后序序列正好相同,
则该二叉树一定是什么样的二叉树(空或
只有一个结点)。
137.假设长度为 n 的线性表采用顺序存储
结构,在表的第 i 个位置插入一个数据元
素,需要移动表中元素的个数是〔n-
i+1〕。
138.设有数组 A[i,j],数组的每个元素长
度为 3 字节,i 的值为 1 到 8 ,j 的值为 1
到 10,数组从内存首地址 BA 开始顺序存
放,当用以列为主存放时,元素 A[5,8]
的存储首地址为(BA+180)。
139.二维数组 A[5][6]的每个元素占 5 个
单元,将其按行优先顺序存储在起始地址
为 3000 的连续的内存单元中,则元素
A[4][5]的存储地址为〔3145〕。
140.一个具有 n 个顶点的图采用邻接矩阵
表示,则该矩阵的大小为〔n*n〕。
141.假设字符串“1234567”﹪〕。
142.假设在一棵非空树中,某结点 A 有 3
个兄弟结点〔包括 A 自身〕,B 是 A 的双
亲结点,则 B 的度为〔3〕。
143.设有三个元素 X,Y,Z 顺序进栈
〔进的过程中允许出栈〕,以下得不到的
出栈排列是(ZXY)。
144.树形结构的特点是:一个结点可以有
(多个直接后继)。
145.使具有 30 个顶点的无向图成为一个
连通图至少应有边的条数是〔29〕。
146.使具有 9 个顶点的无向图成为一个
连通图至少应有边的条数是〔8〕。
147.在顺序表〔n 足够大〕中进行顺序查
找,其查找不成功的平均长度是〔n+1
〕。
148.设树 T 的度为 4,其中度为 1,2,3
和 4 的结点个数分别为 4,2,1,1 则 T
中的叶子数为〔8〕。
149.栈的插入和删除操作进行的位置在
〔栈顶〕。
150.假设一棵二叉树具有 20 个度为 2 的
结点,6 个度为 1 的结点,则度为 0 的结
点个数是〔21〕。
151.一棵线索二叉树的线索个数比链接个
数多〔2〕个。
152.在循环 链表中,从任何一结点出发
都能访问到表中的所有结点。
153.在 n 个结点的顺序表中插入一个结点
需平均移动 n/2 个结点。
154.循环队列的引入,目的是为了克服假
溢出 。
155.假设连通网络上各边的权值均不相同,
则该图的最小生成树有 1 棵 。
156.二叉树的遍历方式有三种:先序遍历、
中序遍历、后序遍历。
157.假设一棵二叉树有 15 个叶结点,则
该二叉树中度为 2 的结的点个数为 14。
158.设某二叉树的后序遍历序列为
ABKCBPM,则可知该二叉树的根为 M 。
159.数据结构的三个方面:数据的逻辑结
构、物理结构、运算。
160.每个结点只有一个链接域的链表叫做
单链表。
161.组成串的数据元素只能是字符。
162.具有 n 个结点的二叉树采用链接结构
存储,链表中存放 NULL 指针域的个数为
〔n+1〕。
163.在一个无向图中,所有顶点的度数之
和等于所有边数〔2〕倍。
164 设二叉树根结点的层次为 0,一棵高
度为 h 的满二叉树中的结点个数是
(2h+1-1)。
165.将一棵有 50 个结点的完全二叉树按
层编号,则对编号为 25 的结点 x,该结
点(有左孩子,无右孩子)。
166.树〔或树形〕的定义是什么?答:一
个树〔或树形〕就是一个有限非空的结点
集合 T,其中有一个特别标出的称为该树
之根 root〔T〕的结点;其余〔除根外〕
的结点划分成 个不相交集合
,而且这些集合的
每一个又都是树。
167 在图形结构中,每个结点的前驱结点
数和后续结点数可以有(任意多个 )。
168.什么是树的路径长度?答:树的路径
长度是指从根结点到树中每个叶结点的路
径长度之和。
二、选择
1.假设某线性表中最常用的操作是取第 i
个元素和删除最后一个元素,则采用什么
存储方式最节省时间〔A〕。A. 顺序表
B. 单链表 C. 双链表 D. 单循环链表
2.在下述的排序方法中,不属于内排序方
法的是〔C〕。
3.以下四个关键词序列中,不是堆的序列
为(C)。
A.{05,23,16,68,94,72,71,73} B.
{05,16,23,68,94,72,71,73}
C.{05,23,16,73,94,72,71,68} D.
{05,23,16,68,73,71,72,94}
4.以下排序算法中,某一趟结束后未必能
选出一个元素放其最终位置上的是
( D )。
A. 堆排序 B. 冒泡排序 C. 快速排序 D.
直接插入排序
5.用孩子兄弟链表表示一棵树,假设要找
到结点 x 的第 5 个孩子,只要先找到 x 的
第一个孩子,然后(D)。
6.链栈和顺序栈相比,有一个较明显的优
点是(A)。
A.通常不会出现栈满的情况 B. 通常不会
出现栈空的情况
7.任何一棵二叉树的叶结点在其先根、中
根、后根遍历序列中的相对位置(C)。
A. 肯定发生变化 B. 有时发生变化 C. 肯
定不发生变化 D. 无法确定
8.排序方法中,从未排序序列中挑选元素,
将其放入已排序序列的一端的方法,称为
(D)。
A.希尔排序 B. 冒泡排序 C. 插入排序 D.
选择排序
9.堆是一种什么排序〔B〕。A.插入 B.
选择 C. 交换 D. 归并
10.以下排序方法中不稳定的排序是
(C)。A.直接插入排序 B. 冒泡排序 C. 堆
排序 D. 归并排序
11.一个无向连通图的生成树是含有该连
通图的全部顶点的 (A)。
A.极小连通子图 B. 极大连通子图 C. 极小
子图 D. 极大子图
12.如下陈述中正确的选项是(A )。
13.快速排序不利于发挥其长处的情况是
〔C〕。
[A] 待排序数据量太大 [B] 待排序数据相
同值过多
[C] 待排序数据已基本有序[D] 待排序数
据值差过大
14.性表中采用折半查找法查找元素,该
线性表必须满足〔C〕。
[A] 元素按值有序 [B] 采用
顺序存储结构
[C] 元素按值有序,且采用顺序存储结构
[D] 元素按值有序,且采用链式存储结构
15.r 在排序前已按元素键值递增顺序排列,
则比较次数较少的排序方法是(A) 。
16.一个递归的定义可以用递归过程求解,
也可以用非递归过程求解,但单从运行时
间来看,通常递归过程比非递归过程
〔B〕
17.如果待排序序列中两个数据元素具有
相同的值,在排序后它们的位置发生颠倒,
则称该排序是不稳定的。不稳定的排序方
法是〔D〕。A.起泡排序 B.归并排序
C.直接插入法排序 D.简单项选择择排
序
18.将一棵有 50 个结点的完全二叉树按层
编号,则对编号为 25 的结点 x,该结点
(B)。
A.无左、右孩子 B. 有左孩子,无右孩子
C.有右孩子,无左孩子 D.有左、右孩子
19.假设某链表最常用的操作是在最后一
个结点之后插入一个结点和删除最后一个
结点,则采用那种存储方式最节省时间
(C)。A. 单链表 B. 双链表 C. 带头结点
的双循环链表 D. 单循环链表
20.以下排序算法中,第一趟排序完毕后,其
最大或最小元素一定在其最终位置上的算
法是( D )。
A. 归并排序 B. 直接插入排序 C. 快速排
序 D. 冒泡排序
21.树形结构最适合用来描述〔C〕。[A]
有序的数据元素[B] 无序的数据元素
[C] 数据元素之间具有层次关系的数据
[D] 数据元素之间没有关系的数据
22.设有 7000 个无序的元素,希望用最快
的速度挑选出其中前 5 个最大的元素,最
好选用方法是(C)。
23.链表不具有的特点是(A)。
24.假设待排序对象序列在排序前已按其
排序码递增顺序排序,则比较次数最少的
方法排序是〔A〕。
A.直接插入排序 B.快速排序 C.归并
排序 D.直接选择排序
25.以下关键字序列中是堆的序列为
(D)。
A.16,72,31,23,94,53 B.
94,23,31,72,16,53
B.16,53,23,94,31,72D.
16,23,53,31,94,72
26.以下四个关键字序列中,那个序列不是
堆(C)。
A. {05,23,16,68,94,72,71,73} B.
{05,16,23,68,94,72,71,73}
C. {05,23,16,73,94,72,71,68} D.
{05,23,16,68,73,71,72,94}
27.下面 4 个序列中,满足堆的定义是
〔D〕。
A. 13,27,49,76,76,38,85,97 B.
76,38,27,49,76,85,13,97
C. 13,76,49,76,27,38,85,97 D.
13,27,38,76,49,85,76,97
28.采用线性探查法处理冲突所构成的散
列表上进行查找,可能要探测到多个位置,
在查找成功情况下,所探测的这些位置上
的键值〔D〕。
A. 一定都是同义词 B. 一定都不是同义词
C. 都相同 D. 不一定都是同义词
29.性表中采用折半查找法查找元素,该
线性表必须满足〔C〕。
[A] 元素按值有序 [B] 采用
顺序存储结构
[C] 元素按值有序,且采用顺序存储结构
[D] 元素按值有序,且采用链式存储结构
三、简答
1.对于一个队列,如果输入项序列由 1,2,3,4 所组成,试给出全部可能的输出序列。
答:1,2,3,4。
2. 将表达式 (a+b) *c+d - (e+g)*h 改写成后缀表达式。
答: 后缀表达式为:ab+c*d+eg+h*-
3.对于一个栈,给出输入序列 A,B,C,试给出全部可能的输出序列。