说明: 此试卷为21级数据结构考前模拟题,老师并未给出标准答案,故以下所有答案均为博主给出,并只供参考,不保证其正确性!!!

一. 单选题

  1. (单选题)
    快速排序方法在( )情况下最不利于发挥其长处。
    A.排序的数据量太大
    B.排序的数据中含有多个相同值
    C.排序的数据个数为奇数
    D.排序的数据已基本有序
    答案:D

  2. (单选题)
    在下列排序方法中,若待排序的数据已经有序,花费时间反而最多的是
    A.快速排序
    B.希尔排序
    C.冒泡排序
    D.堆排序
    答案:A

  3. (单选题)
    图的深度优先遍历类似于二叉树的
    A.先序遍历
    B.中序遍历
    C.后序遍历
    D.层次遍历
    答案:A

  4. (单选题)
    若串S=“software”,其子串的数目是( )。
    A.8
    B.37
    C.36
    D.9
    答案:B

  5. (单选题)
    顺序表中第一个元素的存储地址是100,每个元素的长度为2,则第5个元素的地址是( )。
    A.100
    B.105
    C.108
    D.110
    答案:C

  6. (单选题)
    在数据结构中,从逻辑上可以把数据结构分成( )。
    A.动态结构和静态结构
    B.紧凑结构和非紧凑结构
    C.线性结构和非线性结构
    D.内部结构和外部结构
    答案:C

  7. (单选题)
    通常要求同一逻辑结构中的所有数据元素具有相同的特性,这意味着( )。
    A.数据在同一范围内取值
    B.不仅数据元素所包含的数据项的个数要相同,而且对应数据项的类型要一致
    C.每个数据元素都一样
    D.数据元素所包含的数据项的个数要相等
    答案:B

  8. (单选题)
    线性表L在什么情况下适用于使用链式结构实现?
    A.需不断对L进行删除插入
    B.需经常修改L中的结点值
    C.L中含有大量的结点
    D.L中结点结构复杂
    答案:A

  9. (单选题)
    树最适合于用来表示( )。
    A.有序数据元素
    B.无序数据元素
    C.元素之间无联系的数据
    D.元素之间具有分支层次关系的数据
    答案:D

  10. (单选题)
    对一棵满二叉树,m个树叶,n个结点,深度为h,则( )。
    A.n=h+m
    B.h+m=2n
    C.m=h-1
    D.n=2^h-1
    答案:D

二. 填空题

  1. (填空题)
    假设顺序表中有 10 个数据元素。其中第 1 个元素的地址(即数组的起始地址)是 100,每个元素占用 2 字节内存空间,则第 5 个元素的地址是 108

  2. (填空题)
    已知一棵完全二叉树的第5层(设根为第1层)有8个叶结点,则该完全二叉树的结点个数最少是( 23 )。

  3. (填空题)
    如果一棵二叉树有20个叶结点,则它的度为2的结点数量为( 19 ) 个。 (填写半角阿拉伯数字如1234567890,不要添加空格等字符)
    注:二叉树中叶节点数为度为2的节点数加一

  4. (填空题)
    如果一棵二叉树有20个度为2的结点,则它的叶结点数量为( 21 )个。 (填写半角阿拉伯数字如1234567890,不要添加空格等字符)
    注:二叉树中叶节点数为度为2的节点数加一

  5. (填空题)
    已知一棵完全二叉树的第5层(设根为第1层)有8个叶结点,则该完全二叉树的结点个数最多是( 47 )。

  6. (填空题)
    若以{4,5,6,7,8}作为叶子结点的权值构造哈夫曼树,则其带权路径长度是( 69 )。

  7. (填空题)
    若一个二叉树的叶子结点是某子树的中序遍历序列中的最后一个结点,则它必是该子树的( 先序 )遍历序列中的最后一个结点。

  8. (填空题)
    拓扑排序算法是通过重复选择具有( 0 )个前驱顶点的过程来完成的。

  9. (填空题)
    对于双向链表,在两个结点之间插入一个新结点需修改的指针共( 4 )个。

  10. (填空题)
    设S=“A;/document/Mary.doc”,则strlen(s)= ( 20 )

三. 简答题

  1. (简答题)
    简述图的存储方法:
    1、邻接矩阵(5分)
    邻接矩阵是用两个数组来表示图,一个数组是一维数组,存储的顶点信息,一个数组是二维数组,即矩阵,存储顶点之间相邻的信息,也就是边(或弧)信息。如果图中有n个顶点,需要大小为n * n的二维数组来表示图。
    2、邻接表(5分)
    邻接表的存储方法是一种顺序存储与链式存储相结合的存储方法,顺序存储部分用来保存图中顶点的信息,链式存储部分用来保存图中边(或弧)的信息。

  2. (简答题)
    顺序队列的“假溢出”是怎么产生的(5分)?如何知道循环队列是空还是满(5分)?
    ① “假溢出”:一般的一维数组队列的尾指针已经到了数组的上界,不能再有入队操作,但其实数组中还有空位置。
    ② 循环队列 队空标志:front == rear,队满标志:front == (rear + 1) % m。

四. 分析题

  1. (分析题)
    哈夫曼编码
    假设用于通信的电文仅由6个字母{A,B,C,D,E,F}组成,字母在电文中出现的频率分别为0.12,0.04,0.05,0.06,0.01,0.02。【要求该编码对应的哈夫曼树上左分支编码为0,右分支编码为1,且任意结点的左孩子权值不大于右孩子权值】
    (1) (简答题)
    请画出此哈夫曼树(5分)

    (2) (简答题)
    请写出字母对应的哈夫曼编码(5分)
    A : 0
    B :101
    C : 110
    D : 111
    E : 1000
    F : 1001
    (3) (简答题)
    如果采用一种由二进制表示的等长编码方案,至少需要几位二进制编码(2分);请给出该设计方案(3分)
    至少需要3位二进制编码,设计方案为:A为000,B为001,C为011,D为010,E为110,F为111
    (4) (简答题)
    对于上述实例,分析两种方案的编码长度,分析两种方案的优缺点(5分)。

  2. (分析题)
    求两点之间的最短路径,给定图G如下图:

    (1) (简答题)
    写出Dijistra算法思想(5分)
    从起始点开始,采用贪心算法的策略,每次遍历到始点距离最近且未访问过的顶点的邻接节点,直到扩展到终点为止。
    (2) (简答题)
    请写出点A到点F最短路径的详细过程(10分)

    (3) (简答题)
    写出点A到点F最终的路径(3分)
    A -> C -> D -> F
    (4) (简答题)
    并求出点A到点F最终的路径长度(2分)
    最终长度为 3 + 3 + 3 = 9

五. 计算题

  1. (计算题)
    散列表冲突解决
    将关键字序列{47,7,29,11,9,84,54,20,30}散列存储到散列表中,散列表的存储空间是一个下标从0开始的一维数组,散列函数为:H(key)=key mod 11,处理冲突采用线性探测再散列法,要求装填(载)因子为0.69。
    (1)请画出所构造的散列表;(5分)

    注:表长计算方式:关键字个数 / 装填因子 = 9 / 0.69 = 13 (四舍五入)
    (2)分别计算等概率情况下,查找成功和查找不成功的平均查找长度。(5分)
    ASLsucc = (1+7+1+1+2+1+4+2+4)/9 = 23/9
    ASLunsucc = (3+2+1+2+1+1+1+9+8+7+6)/11 = 41/11
    这里取0 ~ 10范围的数,除数取模数,关于另一篇博客里类似的题答案不对,是pta上别的老师出的一道题,问出题人了吧

  2. (计算题)
    冒泡排序(Bubble Sort),是一种计算机科学领域的较简单的排序算法。对关键字序列:49,38,65,97,76,13,27,49采用冒泡排序升序方法。那么请写出第一趟冒泡后的结果(5分),并分析出冒泡排序在最好情况和最坏情况下的时间复杂度(5分)。
    第一趟冒泡后的结果:38 49 65 76 13 27 49 97
    最好情况,即已知序列有序,只需要遍历一遍序列,时间复杂度为 O(n);
    最坏情况,即已知序列逆序,需要的时间为 T = n * (n - 1) / 2,时间复杂度为 O(n2)

21级数据结构考前模拟题相关推荐

  1. 计算机中政治面貌代码,2012年3月计算机等考二级Access考前模拟题(4)

    一.基本操作题 (1)在考生文件夹下,"samp1.mdb"数据库文件中建立表"tCourse",表结构如下: (2)设置"课程编号"字段为 ...

  2. 2022年湖南省中医助理医师考试考前模拟题

    本次我们将分享2022年湖南省中医助理医师考试考前模拟题,根据近年来中医助理医师考试资格证专业知识真题,以及最新中医助理医师考试大纲,包含中医助理医师考试资格证专业知识重点题型以及知识点,有助于考生复 ...

  3. 2022年湖南省牙医执业医师考试考前模拟题

    本次我们将分享2022年湖南省牙医执业医师考试考前模拟题,根据近年来牙医执业医师考试资格证专业知识真题,以及最新牙医执业医师考试大纲,包括牙医执业医师考试资格证专业知识重点题型以及知识点,有助于考生复 ...

  4. 公共关系计算机操作题,2012年计算机二级Access考前模拟题及答案(8)

    一.基本操作题 在考生文件夹下,存在两个数据库文件和一个照片文件,数据库文件名分别为"samp1.mdb"和"dResearch.mdb",照片文件名为&quo ...

  5. 21级数据结构与算法实验6——图论

    7-1 邻接矩阵表示法创建无向图 分数 20 全屏浏览题目 切换布局 作者 王东 单位 贵州师范学院 采用邻接矩阵表示法创建无向图G ,依次输出各顶点的度. 输入格式: 输入第一行中给出2个整数i(0 ...

  6. 21级数据结构与算法实验7——查找表

    目录 7-1 电话聊天狂人 7-2 两个有序序列的中位数 7-3 词频统计 7-4 集合相似度 7-5 悄悄关注 7-6 单身狗 7-7 词典 7-8 这是二叉搜索树吗? 7-9 二叉搜索树 7-1 ...

  7. 21级数据结构与算法实验1——顺序表

    7-1 顺序表的建立及遍历 分数 30 作者 陈晓梅 单位 广东外语外贸大学 读入n值及n个整数,建立顺序表并遍历输出. 输入格式: 读入n及n个整数 输出格式: 输出n个整数,以空格分隔(最后一个数 ...

  8. BUAA(2021春)空闲空间合并(期末考试模拟题)——结构体二级排序

    BUAA数据结构期末模拟题--空闲空间合并 看前须知 考试回顾 题目内容 问题描述 输入形式 输出形式 样例 样例说明 题解 思考和详解 参考代码 看前须知 要点介绍和简要声明. 考试回顾 格式控制输 ...

  9. 湖南工业大学c语言 期末考试程序改错,江苏省计算机等级考试C语言上机模拟题...

    c语言上机考试资料 江苏省等级考试(2级C)上机模拟题 模拟题一 一.改错题(18分) [题目] 函数fun的功能是:输出M行M列整数方阵,然后求两条对角线上各元素之和,返回此和数. 含有错误的程序如 ...

最新文章

  1. POJ 1679 The Unique MST(次小生成树)
  2. red hat 升级 php 5.6,Centos7下编译php5.6.19出错,怎么解决?
  3. python transform_Pandas的数据分组-transform函数
  4. 托管与非托管的混合编程问题
  5. 温柔又有耐心的男孩最吸引人
  6. oracle 分页_80分页查询,不止写法
  7. 为什么先编码再解码? 即先降采样,然后上采样
  8. java 处理unicode_Java与Unicode
  9. 网络协议 22 - RPC 协议(下)- 二进制类 RPC 协议
  10. 老闪创业那些事儿(外传)——历经世事的魏爷
  11. 【小米】刷入第三方ROM统一教程
  12. 渥太华大学计算机科学博士,加拿大渥太华大学计算机科学CO-OP录取案例
  13. obtain,get,gain有什么区别
  14. 只有程序猿才知道的12个人艰不拆的真相
  15. Orinda无线ap
  16. docker 部署nginx 挂载nginx.conf配置文件
  17. NVIDIA Jetson TK1开发板上手
  18. HTML网页字体动态显示
  19. 开启全面屏体验 | 手势导航 (一)
  20. Redis-desktop-manager显示黑屏

热门文章

  1. K 近邻算法 API
  2. 【Arcgis水文分析】使用DEM数据提取流域水系
  3. 【学习】数据聚合和分组运算【groupby】
  4. stem科学实验课关联
  5. APM应用性能管理工具Pinpoint测评
  6. 华为资深架构师耗时十年精心整理:Java高级开发需要的分布式技术
  7. 基于ViewFlipper实现图片浏览组件
  8. 切,老掉牙的TCP知识
  9. 阿里内部Android笔记火爆IT圈,已拿offer入职
  10. 【电台Vol.03】 很遗憾,这可能小媛最后一次跟大家说晚安了。