数据结构考试题
一判断题10*1分1调用一次深度优先遍历可以访问到图中的所有顶点。( 错) 2分块查找的平均查找长度不仅与索引表的长度有关,而且与块的长度有关。( 对) 3冒泡排序在初始关键字序列为逆序的情况下执行的交换次数最多。( 对 ) 4满二叉树一定是完全二叉树,完全二叉树不一定是满二叉树。( 对) 5设一棵二叉树的先序序列和后序序列,则能够唯一确定出该二叉树的形状。(错 ) 6层次遍历初始堆可以得到一个有序的序列。( 错)7设一棵树T可以转化成二叉树BT,则二叉树BT中一定没有右子树。(对) 8线性表的顺序存储结构比链式存储结构更好。(错 )9中序遍历二叉排序树可以得到一个有序的序列。(对)10.快速排序是排序算法中平均性能最好的一种排序。( 对)1不论是入队列操作还是入栈操作,在顺序存储结构上都需要考虑“溢出”情况。(对)2当向二叉排序树中插入一个结点,则该结点一定成为叶子结点。(对)3设某堆中有n个结点,则在该堆中插入一个新结点的时间复杂度为O(log2n)。(对 )4. 完全二叉树中的叶子结点只可能在最后两层中出现。(对)5哈夫曼树中没有度数为1的结点。(对)6对连通图进行深度优先遍历可以访问到该图中的所有顶点。(对)7先序遍历一棵二叉排序树得到的结点序列不一定是有序的序列。(对)8由树转化成二叉树,该二叉树的右子树不一定为空。(错)9线性表中的所有元素都有一个前驱元素和后继元素。(错) 10.带权无向图的最小生成树是唯一的。( 错 )1. 如果两个关键字的值不等但哈希函数值相等,则称这两个关键字为同义词。( 对)2. 设初始记录关键字基本有序,则快速排序算法的时间复杂度为O(nlog2n)。(错)3. 分块查找的基本思想是首先在索引表中进行查找,以便确定给定的关键字可能存在的块号,然后再在 相应的块内进行顺序查找。(对 )4. 二维数组和多维数组均不是特殊的线性结构。(错 )5. 向二叉排序树中插入一个结点需要比较的次数可能大于该二叉树的高度。 (错)6. 如果某个有向图的邻接表中第i条单链表为空,则第i个顶点的出度为零。(对)7. 非空的双向循环链表中任何结点的前驱指针均不为空。(对 )8. 不论线性表采用顺序存储结构还是链式存储结构,删除值为X的结点的时间复杂度均为0(n)。(对)9. 图的深度优先遍历算法中需要设置一个标志数组,以便区分图中的每个顶点是否被访问过。)10. 稀疏矩阵的压缩存储可以用一个三元组表来表示稀疏矩阵中的非0元素。()1. 有向图的邻接表和逆邻接表中表结点的个数不一定相等。(x)2. 对链表进行插入和删除操作时不必移动链表中结点。()3. 子串“ABC”在主串“AABCABCD”中的位置为2。( “)4. 若一个叶子结点是某二叉树的中序遍历序列的最后一个结点,则它必是该二叉树的先序遍 历序列中的最后一个结点。()5. 希尔排序算法的时间复杂度为0(®)。( x )6. 用邻接矩阵作为图的存储结构时,则其所占用的存储空间与图中顶点数无关而与图中边数 有关。( x)7. 中序遍历一棵二叉排序树可以得到一个有序的序列。C )8. 入栈操作和入队列操作在链式存储结构上实现时不需要考虑栈溢出的情况。()9. 顺序表查找指的是在顺序存储结构上进行查找。(x )10. 堆是完全二叉树,完全二叉树不一定是堆。(J )二选择题 15*2 分:1 以下数据结构中哪一个是非线性结构?( D )A. 队列 B. 栈 C. 线性表 D. 二叉树2 树最适合用来表示(A )。B.无序数据元素D.元素之间无联系的数据D. 2k-1A.有序数据元素C.元素之间具有分支层次关系的数据3 二叉树的第 k 层的结点数最多为 ( D ).A 2k-1B.2K+1 C.2K-14若有18个元素的有序表存放在一维数组A19中,第一个元素放A1中,现进行二分查找,则查找A 3的比较序列的下标依次为( C )A. 1, 2, 3B. 9, 5, 2, 3C. 9, 5, 3D. 9, 4, 2, 35对于线性表(7,34,55,25,64, 46,20,10)进行散列存储时,若选用H (K) =K %9作为散列函数, 则散列地址为 1 的元素有( D )个,A 1B2C 3D 46下面关于线性表的叙述错误的是( D )。(A) 线性表采用顺序存储必须占用一片连续的存储空间(B) 线性表采用链式存储不必占用一片连续的存储空间(C) 线性表采用链式存储便于插入和删除操作的实现(D) 线性表采用顺序存储便于插入和删除操作的实现.7.设某棵二叉树的中序遍历序列为ABCD,前序遍历序列为CABD,则后序遍历该二叉树得到序列为 ( A )。(A) BADC(B) BCDA(C) CDAB(D) CBDA8数据的最小单位是(A )。(A) 数据项(B) 数据类型(C) 数据元素(D) 数据变量9. 设一个有序的单链表中有n个结点,现要求插入一个新结点后使得单链表仍然保持有序,则该操作的时 间复杂度为( D )。(A) O(log n)(B) O(1)(C) O(n2)(D) O(n)210. 设有序表中有1000个元素,则用二分查找查找元素X最多需要比较(B )次。(A) 25(B) 10(C) 7(D) 111 执行一趟快速排序能够得到的序列是(A )。(A) 41,12,34,45,27 55 72,63(B) 45,34,12,4155 72, 63,27(C) 63,12,34,45,27 55 41,72(D) 12, 27, 45, 41 55 34, 63, 7212设一条单链表的头指针变量为head且该链表没有头结点,则其判空条件是(A )。(A) head=0(B) head->next=0(C) head->next=head (D) head!=013时间复杂度不受数据初始状态影响而恒为0(nlogn)的是(A )。2(A) 堆排序(B) 冒泡排序(C) 希尔排序(D) 快速排序14.程序段 s=i=0; do i=i+1; s=s+i; while(i<=n);的时间复杂度为(A )。(A) O(n) (B) O(nlog2n)(C) O(n2) (D) O(n3/2)15下列程序段的时间复杂度为( A)。for(i=0; i<m; i+) for(j=0; j<t; j+) cij=0;for(i=0; i<m; i+) for(j=0; j<t; j+) for(k=0; k<n; k+) cij=cij+aik*bkj;(A) O(m*n*t)(B) O(m+n+t)(C) O(m+n*t)(D) O(m*t+n) 16。设顺序线性表中有n个数据元素,则删除表中第i个元素需要移动(A )个元素。(A) n-i(B) n+l -i(C) n-1-i(D) i 17设指针变量p指向双向链表中结点A,指针变量s指向被插入的结点X,则在结点A的后面插入结点X 的操作序列为(D )。(A) p->right=s; s->left=p; p->right->left=s; s->right=p->right;(B) s->left=p;s->right=p->right;p->right=s; p->right->left=s;(C) p->right=s; p->right->left=s; s->left=p; s->right=p->right;(D) s->left=p;s->right=p->right;p->right->left=s; p->right=s;18 设某链表中最常用的操作是在链表的尾部插入或删除元素,则选用下列( D )存储方式最节省运算时 间。(A) 单向链表(B) 单向循环链表(C) 双向链表(D) 双向循环链表19设输入序列为 1、2、3、4、5、6,则通过栈的作用后可以得到的输出序列为( B )。(A) 5,3, 4,6,1, 2(B)3,2,5,6,4, 1(C) 3,1 , 2,5,4, 6(D)1 ,5,4,6,2, 320 设一组权值集合 W=(15, 3, 14, 2, 6, 9, 16, 17),要求根据这些权值集合构造一棵哈夫曼树,则这棵 哈夫曼树的带权路径长度为(D )。(A) 129(B) 219(C) 189(D) 22921设一组初始记录关键字序列为(Q,H,C,Y,P,A,M,S,R,D,F,X),则按字母升序的第一趟冒 泡排序结束后的结果是( )。(A)F,H,C,D,P,A,M,Q,R,S,Y,X(B)P,A,C,S,Q,D,F,X,R,H,M,Y(C)A,D,C,R,F,Q,M,S,Y,P,H,X(D)H,C,Q,P,A,M,S,R,D,F,X,Y1数据结构的三个层次:逻辑结构、存储结构、操作。数据结构的基本结构关系图:线性 结构、树形结构、图状结构。2 算法的时间复杂度的求解3 线性表4 单链表三简答题和应用题45 分:1算法的五个特征:有穷性、确定性、可行性、输入、输出 2线性表顺序存储和链式存储的比较(优缺点) 链式存储结构:(1) 占用额外的空间以存储指针(浪费空间)(2) 存取某个元素速度慢(3) 插入元素和删除元素速度快(4) 没有空间限制,存储元素的个数无上限,基本只与内存空间大小有关.顺序存储结构:(1) 空间利用率高(2) 存取某个元素速度快(3) 插入元素和删除元素存在元素移动,速度慢,耗时(4) 有空间限制,当需要存取的元素个数可能多于顺序表的元素个数时,会出现" 溢出"问题.当元素个数远少于预先分配的空间时,空间浪费巨大.在存取元素频繁,但删除或插入操作较少的情况宜用顺序表.堆排序,二分查找 适宜用顺序表.3 栈和队列的特点: 栈的特点:后进先出,只能在栈顶插入和删除;队列的特点:先进先出,只允许在队尾插入 和队首删除。5AOV 网的定义:用顶点表示活动,用弧表示活动间的优先关系的有向图称为顶点表示活动的网,简称AOV 网。应用题:1 拓扑排序2 二叉树的五种形态(有三个结点的二叉树)34稳定性的分析、排序5 二叉树的三种遍历序列(已知两种序列,画出二叉树的第三种序列) 6树、二叉树和森林之间的转换7 赫夫曼树8 链接表和连接矩阵的画法,写出两种遍历序列9 最小生成树(普利姆、克鲁斯卡尔)10 哈希表的构造11 顺序查找、折半查找12 四种排序过程(第10章)四算法设计15 分注:判断题和选择题是本人组的题仅供参考