大数据结构参考问题详解.doc
《大数据结构参考问题详解.doc》由会员分享,可在线阅读,更多相关《大数据结构参考问题详解.doc(15页珍藏版)》请在课桌文档上搜索。
1、word数据结构模拟卷A 一、选择题1. 在一个长度为n的顺序表的任一位置插入一个新元素的渐进时间复杂度为 A 。A. O(n)B. O(n/2)C. O(1)D. O(n2)2. 带头结点的单链表first为空的判定条件是: B 。A. first = NULL; B. first-link = NULL;C. first-link = first; D. first != NULL;3. 从逻辑上可以把数据结构分为 C 两大类。A动态结构、静态结构 B顺序结构、链式结构C线性结构、非线性结构 D初等结构、构造型结构4. 在系统实现递归调用时需利用递归工作记录保存实际参数的值。在传值参数情形
2、,需为对应形式参数分配空间,以存放实际参数的副本;在引用参数情形,需保存实际参数的 D ,在被调用程序中可直接操纵实际参数。A. 空间B. 副本C. 返回地址D. 地址5. 以下数据结构中,哪一个是线性结构 D 。A广义表 B. 二叉树 C. 稀疏矩阵 D. 串6. 以下属于逻辑结构的是 C 。A顺序表 B. 哈希表 C.有序表 D. 单链表7. 对于长度为9的有序顺序表,假如采用折半搜索,在等概率情况下搜索成功的平均搜索长度为C的值除以9。A. 20 B. 18 C. 25 D. 228. 在有向图中每个顶点的度等于该顶点的 C 。A. 入度 B. 出度C. 入度与出度之和D. 入度与出度之
3、差9. 在基于排序码比拟的排序算法中, C 算法的最坏情况下的时间复杂度不高于O(nlog2n)。A. 起泡排序B. 希尔排序C. 归并排序D. 快速排序10. 当的值较小时,散列存储通常比其他存储方式具有 B 的查找速度。A. 较慢B. 较快C. 二、填空题1. 二维数组是一种非线性结构,其中的每一个数组元素最多有_2_个直接前驱或直接后继。2. 将一个n阶三对角矩阵A的三条对角线上的元素按行压缩存放于一个一维数组B中,A00存放于B0中。对于任意给定数组元素BK,它应是A中第_(K+1)/3_行的元素。3. 链表对于数据元素的插入和删除不需移动结点,只需改变相关结点的_指针_域的值。4.
4、在一个链式栈中,假如栈顶指针等于NULL如此为_空栈_。5. 主程序第一次调用递归函数被称为外部调用,递归函数自己调用自己被称为内部调用,它们都需要利用栈保存调用后的_返回_地址。6. 在一棵树中,_叶子_结点没有后继结点。7. 一棵树的广义表表示为a (b (c, d (e, f), g (h) ), i (j, k (x, y) ) ),结点f的层数为_3_。假定根结点的层数为0。8. 在一棵AVL树高度平衡的二叉搜索树中,每个结点的左子树高度与右子树高度之差的绝对值不超过_1_。9. n (n0) 个顶点的无向图最多有_ n(n-1)/2_条边,最少有_0_条边。10. 在索引存储中,假
5、如一个索引项对应数据对象表中的一个表项记录,如此称此索引为_稠密_索引,假如对应数据对象表中的假如干个表项,如此称此索引为_稀疏_索引。三、判断题1. 数组是一种复杂的数据结构,数组元素之间的关系既不是线性的也不是树形的(对)2. 链式存储在插入和删除时需要保持物理存储空间的顺序分配,不需要保持数据元素之间的逻辑顺序(错)3. 在用循环单链表表示的链式队列中,可以不设队头指针,仅在链尾设置队尾指针(对)4. 通常递归的算法简单、易懂、容易编写,而且执行的效率也高(错)5. 一个广义表的表尾总是一个广义表(对)6. 当从一个小根堆最小堆中删除一个元素时,需要把堆尾元素填补到堆顶位置,然后再按条件
6、把它逐层向下调整,直到调整到适宜位置为止(对)7. 对于一棵具有n个结点,其高度为h的二叉树,进展任一种次序遍历的时间复杂度为O(h)( 错)8. 存储图的邻接矩阵中,邻接矩阵的大小不但与图的顶点个数有关,而且与图的边数也有关(错)9. 直接选择排序是一种稳定的排序方法(错)10. 闭散列法通常比开散列法时间效率更高(错)四、运算题1. 设有一个1010的对称矩阵A,将其下三角局部按行存放在一个一维数组B中,A00存放于B0中,那么A85存放于B中什么位置。解:根据题意,矩阵A中当元素下标I与J满足IJ时,任意元素AIJ在一维数组B中的存放位置为I * (I + 1) / 2 + J,因此,A
7、85在数组B中位置为8* (8+1) / 2 + 5 = 41。2. 这是一个统计单链表中结点的值等于给定值x的结点数的算法,其中while循环有错,请重新编写出正确的while循环。int count (ListNode * Ha, ElemType x ) / Ha为不带头结点的单链表的头指针int n = 0;while ( Ha-link != NULL ) Ha = Ha-link;if ( Ha-data = x ) n+;return n;解:while ( Ha != NULL ) if ( Ha-data = x ) n+;Ha = Ha-link;3. 一棵二叉树的前序和中
8、序序列,求该二叉树的后序序列。前序序列:A, B, C, D, E, F, G, H, I, J中序序列:C, B, A, E, F, D, I, H, J, G后序序列:解:后序序列:C, B, F, E, I, J, H, G, D, A4. 一个有序表 (15,26,34,39,45,56,58,63,74,76,83,94) 顺序存储于一维数组a12中,根据折半搜索过程填写成功搜索下表中所给元素34, 56, 58, 63, 94时的比拟次数。34 56 58 63 94 元素值 比拟次数34 56 58 63 9402 1 3 4 4解:判断结果元素值 比拟次数 5. 设散列表为HT
9、17, 待插入关键码序列为Jan, Feb, Mar, Apr, May,June, July, Aug, Sep, Oct, Nov, Dec,散列函数为H (key) = i / 2,其中,i是关键码第一个字母在字母表中的序号。现采用线性探查法解决冲突。字母ABCDEFGHIJKLM序号12345678910111213字母NOPQRSTUVWXYZ序号14151617181920212223242526(1) 试画出相应的散列表;H(Jan) = 10/2 = 5,成功.H(Feb) = 6/2 = 3,成功.H(Mar) = 13/2 = 6,成功.H(Apr) = 1/2 = 0,成
10、功.H(May) = 13/2 = 6,= 7,成功,H(June) = 10/2 = 5,= 6,= 7,=8,成功.H(July) = 10/2 = 5,= 6,= 7,= 8,= 9,成功.H(Aug) = 1/2 = 0,= 1,成功.H(Sep) = 19/2 = 9,= 10,成功.H(Oct) = 15/2 = 7,= 8,= 9,= 10,= 11,成功.H(Nov) = 14/2 = 7,= 8,= 9,= 10,= 11,= 12,成功.H(Dec) = 4/2 = 2,成功.(1) 相应的散列表:012345678910111213AprAugDecFebJanMarMa
11、yJuneJulySepOctNov(1)(2) (1)(1) (1) (1) (2) (4)(5)(2) (5)(6)(2) 计算等概率下搜索成功的平均搜索长度;1/12 * (1 + 2 + 1 + 1 + 1 + 1 + 2 + 4 + 5 + 2 + 5 + 6) = 31 / 12五、算法设计题二叉树中的结点类型用BinTreeNode表示,被定义为:struct BTreeNode chardata;BinTreeNode *leftChild, *rightChild; ;其中data为结点值域,leftChild和rightChild分别为指向左、右子女结点的指针域,根据下面函
12、数声明编写出求一棵二叉树中结点总数的算法,该总数值由函数返回。假定参数BT初始指向这棵二叉树的根结点。 int BTreeCount ( BinTreeNode* BT );解:int BTreeCount(BinTreeNode* BT)if(BT=NULL)return 0; /2分else return BTreeCount(BT-leftChild)+BTreeCount(BT-rightChild)+1; /4分数据结构模拟卷 B一、单项选择题1以下与数据的存储结构无关的术语是 C 。A循环队列 B. 链表 C. 哈希表 D. 栈2以下数据结构中,哪一个是线性结构 D 。A广义表 B
13、. 二叉树 C. 稀疏矩阵 D. 串3以下那一个术语与数据的存储结构无关? B 。A栈 B. 哈希表 C. 线索树 D. 双向链表4在下面的程序段中,对x的赋值语句的频度为 C 。FOR i:=1 TO n DO FOR j:=1 TO n DO x:=x+1;A O(2n) BO(n) CO(n2) DO(log2n)5.下面关于线性表的表示中,错误的答案是哪一个 B 。A线性表采用顺序存储,必须占用一片连续的存储单元。B线性表采用顺序存储,便于进展插入和删除操作。C线性表采用存储,不必占用一片连续的存储单元。D线性表采用存储,便于插入和删除操作。6线性表是具有n个 C 的有限序列n0。A表
14、元素 B字符 C数据元素 D数据项 E信息项一指定序号的元素和在最后进展插入和删除运算,如此利用 A 存储方式最节省时间。A顺序表 B双链表 C带头结点的双循环链表 D单循环链表8.某线性表中最常用的操作是在最后一个元素之后插入一个元素和删除第一个元素,如此采用 D 存储方式最节省运算时间。A单链表 B仅有头指针的单循环链表 C双链表 D仅有尾指针的单循环链表9.下面给出的四种排序法中( D )排序法是不稳定性排序法。 A. 插入 B. 冒泡 C. 二路归并 D. 堆积10. 如下排序算法中,其中 D 是稳定的。 A. 堆排序,冒泡排序 B. 快速排序,堆排序 C. 直接选择排序,归并排序 D
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构 参考 问题 详解
![提示](https://www.desk33.com/images/bang_tan.gif)
链接地址:https://www.desk33.com/p-9943.html