(37)A. 从A[i]开始直到A[1],每个数向后移动一个位置
B. 从A[1]开始直到A[i],每个数向后移动一个位置
C. 从A[i]开始直到A[N],每个数向前移动一个位置
D. 从A[N]开始直到A[i],每个数向后移动一个位置
● 若某二叉树的先序遍历序列和中序遍历序列分别为PBECD、BEPCD,则该二叉树的后序遍历序列为(38)。
(38)A.PBCDE B.DECBP C.EBDCP D.EBPDC
● 无向图的邻接矩阵一定是(39)。
(39)A. 对角矩阵 B. 稀疏矩阵 C. 三角矩阵 D. 对称矩阵
● 对具有n个元素的有序序列进行二分查找时,(40)。
(40)A. 查找元素所需的比较次数与元素的位置无关
B. 查找序列中任何一个元素所需要的比较次数不超过log2(n+1)
C. 元素位置越靠近序列后端,查找该元素所需的比较次数越少
D. 元素位置越靠近序列前端,查找该元素所需的比较次数越少
三、2007年上半年
●若将下图(a)所示的无向图改为完全图,则还需要增加(36)条边;下图(b)的邻接矩阵表示为(37)(行列均以A、B、C、D、E为序)。
(36)A.1B.2C.5D.15
(37)
●若线性表(23,14,45,12,8,19,7)采用散列法进行存储和查找。
设散列函数为H(Key)=Keymod7并采用线性探查法(顺序地探查可用存储单元)解决冲突,则构造的散列表为(38),其中,mod表示整除取余运算。
(38)
●在执行递归过程时,通常使用的数据结构是(39)。
(39)A.堆栈(stack)B.队列(queue)C.图(graph)D.树(tree)
●用二分法来检索数据,最确切的说法是(40)。
(40)A.仅当数据随机排列时,才能正确地检索数据
B.仅当数据有序排列时,才能正确地检索数据
C.仅当数据量较大时,才能有效地检索数据
D.仅当数据量较小时,才能有效地检索数据
●若原始数据序列(23,4,45,67,12,8,19,7)采用直接插入排序法(顺序地将每个元素插入到它之前的适当位置)排序,则进行完第4趟后的排序结果是(41)。
(41)A.4,8,45,23,67,12,19,7B.4,7,8,12,23,45,67,19
C.4,12,8,19,7,23,45,67D.4,12,23,45,67,8,19,7
●对下图所示的二叉树进行后序遍历(左子树、右子树、根结点)的结果是(42)。
(42)A.523461B.523416C.264135D.256431
●数组A[-5..5,0..8]按列存储。
若第一个元素的首地址为100,且每个元素占用4个存储单元,则元素A[2,3]的存储地址为(43)。
(43)A.244B.260C.364D.300
四、2007年下半年
●n个元素依次全部进入栈后,再陆续出栈并经过一个队列输出。
那么,(36)。
(36)A.元素的出队次序与进栈次序相同
B.元素的出队次序与进栈次序相反
C.元素的进栈次序与进队次序相同
D.元素的出栈次序与出队次序相反
●若一个栈以向量V[1..n]存储,且空栈的栈顶指针top为n+1,则将元素x入栈的正确操作是(37)。
(37)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;
●广度优先遍历的含义是:
从图中某个顶点v出发,在访问了v之后依次访问v的各个未被访问过的邻接点,然后分别从这些邻接点出发依次访问它们的邻接点,且“先被访问的顶点的邻接点”先于“后被访问的顶点的邻接点”被访问,直至图中所有已被访问的顶点的邻接点都被访问到。
(38)是下图的广度优先遍历序列。
(38)A.126345B.123456C.165234D.164523
●对于长度为11的顺序存储的有序表,若采用折半查找(向下取整),则找到第5个元素需要与表中的(39)个元素进行比较操作(包括与第5个元素的比较)。
(39)A.5B.4C.3D.2
●与单向链表相比,双向链表(40)。
(40)A.需要较少的存储空间B.遍历元素需要的时间较短
C.较易于访问相邻结点D.较易于插入和删除元素
●如果待排序序列中两个元素具有相同的值,在排序前后它们的相互位置发生颠倒,则称该排序算法是不稳定的。
(41)是稳定的排序方法,因为这种方法在比较相邻元素时,值相同的元素并不进行交换。
(41)A.冒泡排序B.希尔排序C.快速排序D.简单选择排序
●对下图所示的二叉树进行中序遍历(左子树、根、右子树)的结果是(42)。
(42)A.253461B.253416
C.265413 D.264531
●采用一维数组S存储一个n阶对称矩阵A的下三角部分(按行存放,包括主对角线),设元素A[i][j]存放在S[k]中(i、j、k均从1开始取值),且S[1]=A[1][1],则k与i、j的对应关系是(43)。
例如,元素A[3][2]存在S[5]中。
(43)A.B.
C.D.
五、2008年上半年
●若二维数组P[1..5,0..8]的首地址为base,数组元素按行存储,且每个元素占用1个存储单元,则元素P[3,3]在该数组空间的地址为(32)。
(32)A.base+13B.base+16C.base+18D.base+21
●设初始栈为空,s表示入栈操作,x表示出栈操作,则(33)是合法的操作序列。
(33)A.sxxsssxxxB.xxssxxssC.sxsxssxxD.xssssxxx
●满二叉树的特点是每层上的结点数都达到最大值,因此对于高度为h(h>1)的满二叉树,其结点总数为(36)。
对非空满二叉树,由根结点开始,按照先根后子树、先左子树后右子树的次序,从1、2、3、…依次编号,则对于树中编号为i的非叶子结点,其右子树的编号为(37)(高度为3的满二叉树如下图所示)。
(36)A.2B.2h-1C.2h–1D.2h-1+1
(37)A.2iB.2i-1C.2i+1D.2i+2
●在数据结构中,结点(数据元素)及结点间的相互关系组成数据的逻辑结构。
按逻辑结构的不同,数据结构通常可分为(38)两类。
(38)A.线性结构和非线性结构B.紧凑结构和稀疏结构
C.动态结构和静态结构D.内部结构和外部结构
●采用哈希(或散列)技术构造查找表时,需要考虑冲突(碰撞)的处理,冲突是指(39)。
(39)A.关键字相同的记录被映射到不同的哈希地址
B.关键字依次被映射到编号连续的哈希地址
C.关键字不同的记录被映射到同一个哈希地址
D.关键字的数目超过哈希地址的数目
●数据结构中的树最适合用来表示(40)的情况。
(40)A.数据元素有序B.数据元素之间具有多对多关系
C.数据元素无序D.数据元素之间具有一对多关系
●某循环队列的容量为M,队头指针指向队头元素,队尾指针指向队尾元素之后,如下图所示(M=8),则队列中的元素数目为(41)(MOD表示整除取余运算)。
(41)A.rear–frontB.front–rear
C.(rear–front+M)MODMD.(front–rear+M)MODM
●二叉排序树或者是一棵空树,或者是具有如下性质的二叉树:
若其左子树非空,则左子树上所有结点的值均小于根结点的值;若其右子树非空,则右子树上所有结点的值均大于根结点的值;其左、右子树本身就是两棵二叉排序树。
根据该定义,对一棵非空的二叉排序树进行(42)遍历,可得到一个结点元素的递增序列。
(42)A.先序(根、左、右)B.中序(左、根、右)
C.后序(左、右、根)D.层序(从树根开始,按层次)
●对于n个元素的关键字序列{k1,k2,…,kn},若将其按次序对应到一棵具有n个