数据结构复习

news2024/11/28 14:29:25

期末的一套模拟题,仅供参考,切莫作为期末考试依据!!!

选择题

  1. 数组A[1..5,1..6]每个元素占5个单元,将其按行优先次序存储在起始地址为1000的连续的内存单元中,则元素A[5,5]的地址为:

    A.1120

    B.1125

    C.1140

    D.1145
    解析:1000 + 4 * 6 * 5 + 5 * 5 = 1145 (每个元素占5个单元)

  2. 对于顺序存储的长度为N的线性表,访问结点和增加结点的时间复杂度为:

    A.O(1), O(1)

    B.O(1), O(N)

    C.O(N), O(1)

    D.O(N), O(N)
    解析:这里说的增加结点是插入结点

  3. 在N个结点的顺序表中,算法的时间复杂度为O(1)的操作是:

    A.访问第i个结点(1≤i≤N)和求第i个结点的直接前驱(2≤i≤N)

    B.在第i个结点后插入一个新结点(1≤i≤N)

    C.删除第i个结点(1≤i≤N)

    D.将N个结点从小到大排序

  4. 若某线性表最常用的操作是存取任一指定序号的元素和在最后进行插入和删除运算,则利用哪种存储方式最节省时间?

    A.双链表

    B.单循环链表

    C.带头结点的双循环链表

    D.顺序表

  5. 线性表若采用链式存储结构时,要求内存中可用存储单元的地址

    A.必须是连续的

    B.连续或不连续都可以

    C.部分地址必须是连续的

    D.一定是不连续的

  6. 某线性表中最常用的操作是在最后一个元素之后插入一个元素和删除第一个元素,则采用什么存储方式最节省运算时间?

    A.单链表

    B.仅有尾指针的单循环链表

    C.仅有头指针的单循环链表

    D.双链表

  7. 若某表最常用的操作是在最后一个结点之后插入一个结点或删除最后一个结点。则采用哪种存储方式最节省运算时间?

    A.单链表

    B.双链表

    C.单循环链表

    D.带头结点的双循环链表

  8. 将线性表La和Lb头尾连接,要求时间复杂度为O(1),且占用辅助空间尽量小。应该使用哪种结构?

    A.单链表

    B.单循环链表

    C.带尾指针的单循环链表

    D.带头结点的双循环链表

  9. 线性表L在什么情况下适用于使用链式结构实现?

    A.需不断对L进行删除插入

    B.需经常修改L中的结点值

    C.L中含有大量的结点

    D.L中结点结构复杂

  10. 设栈S和队列Q的初始状态均为空,元素a、b、c、d、e、f、g依次进入栈S。若每个元素出栈后立即进入队列Q,且7个元素出队的顺序是b、d、c、f、e、a、g,则栈S的容量至少是:

    A.1

    B.2

    C.3

    D.4

  11. 假设有5个整数以1、2、3、4、5的顺序被压入堆栈,且出栈顺序为3、5、4、2、1,那么为了获得这样的输出,堆栈大小至少为:

    A.2

    B.3

    C.4

    D.5

  12. 若元素a、b、c、d、e、f依次进栈,允许进栈、退栈操作交替进行,但不允许连续三次进行退栈工作,则不可能得到的出栈序列是?

    A.b c a e f d

    B.c b d a e f

    C.d c e b f a

    D.a f e d c b

  13. 设一个栈的输入序列是1、2、3、4、5,则下列序列中,是栈的合法输出序列的是?

    A.3 2 1 5 4

    B.5 1 2 3 4

    C.4 5 1 3 2

    D.4 3 1 2 5

  14. 有六个元素以6、5、4、3、2、1的顺序进栈,问哪个不是合法的出栈序列?

    A.2 3 4 1 5 6

    B.3 4 6 5 2 1

    C.5 4 3 6 1 2

    D.4 5 3 1 2 6

  15. 若一个栈的入栈序列为1、2、3、…、N,输出序列的第一个元素是i,则第j个输出元素是:

    A.i−j−1

    B.i−j

    C.j−i−1

    D.不确定

  16. 将5个字母ooops按此顺序入栈,则有多少种不同的出栈顺序可以仍然得到ooops

    A.1

    B.3

    C.5

    D.6

  17. 从栈顶指针为ST的链栈中删除一个结点且用X保存被删结点的值,则执行:

    A.X= ST->data;

    B.X= ST; ST = ST->next;

    C.X= ST->data; ST = ST->next;

    D.ST = ST->next; X= ST->data;

  18. 若栈采用顺序存储方式存储,现两栈共享空间V[m]top[i]代表第ii=1或2)个栈的栈顶;栈1的底在V[0],栈2的底在V[m-1],则栈满的条件是:

    A.|top[2]-top[1]|==0

    B.top[1]+top[2]==m

    C.top[1]==top[2]

    D.top[1]+1==top[2]

  19. 若用大小为6的数组来实现循环队列,且当前frontrear的值分别为0和4。当从队列中删除两个元素,再加入两个元素后,frontrear的值分别为多少?

    A.2和0

    B.2和2

    C.2和4

    D.2和6

  20. 已知一棵完全二叉树的第6层(设根为第1层)有8个叶结点,则该完全二叉树的结点个数最多是:

    A.39

    B.52

    C.111

    D.119
    解析:结点个数最多的时候,第6层有24个支结点,和8个叶结点。

  21. 在一个用数组表示的完全二叉树中,如果根结点下标为1,那么下标为17和19这两个结点的最近公共祖先结点在哪里(数组下标)? (注:两个结点的“公共祖先结点”是指同时都是这两个结点祖先的结点)

    A.8

    B.4

    C.2

    D.1

  22. 已知关键字序列(5,8,12,19,28,20,15,22)是最小堆(小根堆),插入关键字3,调整后得到的最小堆是:

    A.3,5,12,8,28,20,15,22,19

    B.3,5,12,19,20,15,22,8,28

    C.3,8,12,5,20,15,22,28,19

    D.3,12,5,8,28,20,15,22,19

  23. 将6、4、3、5、8、9顺序插入初始为空的最大堆(大根堆)中,那么插入完成后堆顶的元素为:

    A.3

    B.5

    C.6

    D.9

  24. 将10、12、1、14、6、5、8、15、3、9、7逐个按顺序插入到初始为空的最小堆(小根堆)中,然后连续执行两次删除最小元素操作(DeleteMin),此后堆顶的元素是什么?

    A.5

    B.6

    C.7

    D.9

  25. 已知图的邻接表如下图所示,则从顶点A出发按广度优先遍历的结果是( )。

    A.ABCDEF

    B.ABCEFD

    C.ABEFCD

    D.ABCEDF

  26. 使用迪杰斯特拉(Dijkstra)算法求下图中从顶点1到其他各顶点的最短路径,当顶点2被纳入确定顶点时,顶点1到顶点4的最短路径长度(dist[4])为( )。

    A.11

    B.14

    C.20

    D.正无穷 

  27. 下图的拓扑排序序列可能为( )。

    A.123456

    B.123564

    C.135246

    D.134256

  28. 以下叙述正确的是( )。

    A.最短路径一定是简单路径

    B.Dijkstra算法不适合有回路的带权图求最短路径

    C.Dijkstra算法不适合求任意两个顶点的最短路径

    D.Floyd算法求两个顶点的最短路径时,pathk-1一定是pathk的子集

  29. 具有n个顶点的有向图最多有( )条边

    A.n(n-1)/2

    B.n(n-1)

    C.n(n+1)

    D.n2

  30. 以下关于无向图邻接矩阵的说法中,错误的是( )

    A.无向图邻接矩阵是对称矩阵,同一条边表示了两次

    B.某个顶点的度等于邻接矩阵中该顶点对应行(或列)中1的个数

    C.判断两顶点v、u是否为邻接点仅需判断邻接矩阵中的对应元素是否为1

    D.某个顶点的度等于邻接矩阵中该顶点对应行与列中1的个数之和

填空题

  1. 在数据结构中,数据的逻辑结构分为 线性结构 和 非线性结构 。
  2. 链接存储的特点是利用 指针 来表示数据元素之间的逻辑关系。
  3. 数据结构由数据的 逻辑结构存储结构运算 三部分组成。
  4. 一个数据结构在计算机中的 映像 称为存储结构。
  5. 数据结构中评价算法的两个重要指标是 时间复杂度空间复杂度
  6. 栈的运算遵循 后进先出 的原则。
  7.  队列 又称为先进先出的线性表。
  8. 链接存储的特点是利用 指针 来表示数据元素之间的逻辑关系。
  9. 基于比较的排序方法,其最好的时间复杂度为 O(nlog2n) 。
  10. 假设二叉树的存储结构为二叉链表,在具有n个结点的二叉链表中(n>0),左孩子指针域和右孩子指针域的个数为 2n ,空指针域的个数为 n+1
  11. 在含有n个结点的树中,边数只能是 n-1
  12. 为了解决队列的假溢出现象,应采用 循环 队列。
  13. 图的深度优先搜索(DFS)使用了一种数据结构,这种数据结构是
  14. 时间复杂度为O(nlogn)的排序算法有归并排序、堆排序和 快速 排序。
  15. 设有一组关键字{9,1,23,14,55,20,84,27},采用哈希函数:H(key)=key mod 7 ,表长为10,用开放地址法的线性探测再散列方法解决冲突。要求:对该关键字序列构造哈希表。计算查找成功,失败的平均查找长度。 依次给出哈希表地址0--9单元的值。14192384|552027|。平均查找长度:ASLsucc = 16/8|2,ASLunsucc = 31/10|3.1.
  16. 在有n个顶点的有向图中,若要使任意两点间可以互相到达,则至少需要 n
  17. 如果无向完全图G中有66条边,则G的生成树有 11 条边。 (填写半角阿拉伯数字如1234567890,不要添加空格等其它字符)
  18. 设二维数组a[10][20],每个数组元素占用1个存储单元,若按列优先顺序存放数组元素,a[0][0]的存储地址为200,则a[6][2]的存储地址是多少?226
  19. 设栈S和队列Q的初始状态均为空,元素{1, 2, 3, 4, 5, 6, 7}依次进入栈S。若每个元素出栈后立即进入队列Q,且7个元素出队的顺序是{2, 6, 5, 4, 7, 3, 1},则栈S的容量至少是:5
  20. 已知一棵完全二叉树的第5层(设根为第1层)有8个叶结点,则该完全二叉树的结点个数最多是:47
  21. 若一个二叉树的叶子结点是某子树的中序遍历序列中的最后一个结点,则它必是该子树的 先序 遍历序列中的最后一个结点。
  22. 若以{4,5,6,7,8}作为叶子结点的权值构造哈夫曼树,则其带权路径长度是 69
  23. 二叉树的遍历

    观察下图所示的二叉树

    先序遍历的序列为: FBEHCDAGI

    后序遍历的序列为: ECHBAIGDF

    中序遍历的序列为: EBHCFADIG

  24. 普里姆算法

    请写出用普里姆算法从顶点A出发生成最小生成树每一步加入的边。

    (1) AB

    (2) BF

    (3) FD

    (4) FC

    (5) DE

    注:顶点 X 到 Y 的无向边简记作:XY 或 YX。

  25. 请写出用普里姆算法从顶点A出发生成最小生成树每一步加入的边。

    ####请务必输入大写字母 且 在英文状态下输入。前后不要有空格和其他多余的符号。
    ####边的表示实例:AB 或 BA,两者都可##

    1)AE

    2)ED

    3)DF

    4)FB

    5)DC

  26. 顺序队列在实现的时候,通常将数组看成是一个首尾相连的循环队列,这样做的目的是为避免产生 假溢出 现象。

  27. 哈夫曼编码

    某电文由8个字母组成,字母出现的频率如下表所示,请写出字母的哈夫曼编码。
     

    字母频率哈夫曼编码
    A71010
    B1900
    C210000
    D61001
    E3211
    F310001
    G2101
    H101011

    电文总长度(WPL)为 261 位。

  28. 关于顺序查找算法

    在下面的线性表中

    ( 15, 24, 32, 47, 50, 58, 62, 79, 83, 96 )
    

    若采用顺序查找算法,假设各元素的检索概率相同,则平均查找长度为 5.5

  29. 关于二分查找算法

    在下面的有序表中

    ( 15, 24, 32, 47, 50, 58, 62, 79, 83, 96 )
    

    若采用二分查找算法,假设各元素的检索概率相同,则平均查找长度为 2.9

  30. 将 {5, 2, 7, 3, 4, 1, 6} 逐个按顺序插入到初始为空的最小堆(小根堆)中。则该树的后序遍历结果为:5,4,3,7,6,2,1

主观题

  1. 请对下图的无向带权图:从顶点a开始按普里姆算法求其最小生成树,
    (1)写出顶点集
    (2)写出边集@

  2.  若采用以下的图示方式存储二叉树,请:
    (1)写出相应的类型定义。
    (2)写出基于你的类型定义的二叉树中序遍历算法。
    (3)写出调用函数的语句。







     

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/49466.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

轻量应用服务器部署vue项目

首先我已经拥有一个轻量云服务器了.windows2012的版本: 1.搭建 FTP 服务 为了将我们打包好的vue项目传到服务器,我们要先在服务器搭建FTP服务。 具体步骤可以参考官方文档,官方文档的教程十分清楚详细,按照步骤来就不会出错&am…

传奇服务端服务端运行7个窗口的各窗口功能讲解

大家都知道打开传奇版本里的游戏引擎后,就会弹出7各窗口,下面给大家讲解下各窗口的功能定义 GameCenter是游戏服务器启动程序,负责将DBServer.exe处转来的客户 端转发到相应的M2Server.exe。 DBServer.exe是用户数据库服务器,负责…

Allure与Jenkins持续集成

目标:每次提交代码到代码托管平台(gitee),自动触发jenkins项目构建,生成allure测试报告,并发送邮件通知。 1、部署jenkins Jenkins — 快速入门 2、配置Gitee (1)Plugin Manager&…

01_openstack概述

一、openstack起源 Openstack是一个由NASA(美国国家航空航天局)和Rackspace合作研发并发起的项目Openstack是一套IaaS解决方案Openstack是一个开源的云计算管理平台以Apache许可证为授权二、Openstack七大组件 1、Horizaon组件 Horizon为Openstack服务的Web控制面板&#xff…

leecode#用Read4读取n个字符#相交链表

题目描述: 给你一个文件,并且该文件只能通过给定的 read4 方法来读取,请实现一个方法使其能够读取 n 个字符。 分析: read4 方法:API read4 可以从文件中读取 4 个连续的字符,并且将它们写入缓存数组 buf…

为什么电脑运行越来越慢?解决方法又是什么呢?

文章目录为什么电脑运行越来越慢?解决方法又是什么呢?一,电脑运行慢的原因二,提高电脑运行速度的方法1,重启电脑2,还原(重置)操作系统3,关闭不使用的应用程序4&#xff0…

CrossOver2023Win电脑软件操作在Mac、Linux系统运行教程

在Mac系统中一直存在一个比较令用户们头疼的问题,那就是安装不了想要的Windows软件。如果使用的第一台电脑就是MacBook那接触到的Windows软件想必并不是很多。但我们中的大多数人都是从小先学习了Windows的操作系统,再过渡到Mac系统上的。 那有小伙伴会…

面试:插件化相关---service

插件service启动分析 同样的,先来看看service的常规启动流程 调用contextimpl.startService/bindService/stopService -> AMS,AMS对应创建ServiceRecord和token后,通知ActivityThreadActivityThread收到startService后,会创建…

少儿编程 电子学会图形化编程等级考试Scratch一级真题解析(选择题)2022年9月

2022年9月scratch一级真题解析 选择题(共25题,每题2分,共50分) 1、点击绿旗,下列哪个选项可以实现播放马叫声并在声音全部播放完后,马向右移动 A、 B、 C、 D、

[附源码]计算机毕业设计JAVA小说网站的设计与实现1

[附源码]计算机毕业设计JAVA小说网站的设计与实现1 项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM m…

基于RV1126 Video分析-----链接 isp 与mipi csi 的media模块

从前文&#xff1a;<<图像处理模块所代表的V4L2设备注册>> 中了解到。rkcif_mipi设备注册的过程就是以设备通知器为线索&#xff0c;从顶向下&#xff0c;依次找到下一级设备&#xff0c;添加到V4L2设备种&#xff0c;循环处理。将全部的子设备整理到 V4L2设备中&a…

《InnoDB引擎五》Checkpoint技术

Checkpoint技术 缓冲池的设计目的是为了协调CPU速度与磁盘速度的鸿沟。因此页的操作首先都是在缓冲池中完成的。如果一条DML语句&#xff0c;比如Update或Delete改变了页中的记录&#xff0c;那么此时页是脏的&#xff0c;即缓冲池中的页要比磁盘的新&#xff0c;那么数据库就需…

网络编程简单学习

目录 一、 概述 1. 什么是计算机网络&#xff1f; 2. 网络编程的目的 3. 需要达到什么样的效果&#xff1f; 二、 网络通信的两个要素 1. 通信双方地址 2. 规则&#xff1a;网络通信协议 三、IP地址 1. IP地址概述 2. IP地址分类 3. 域名 四、端口 五、通信协议 …

Python破解WIFI密码完整源代码,实测可成功破解

目录 # 修正记录&#xff1a;2022-12-01 1&#xff0c;先安装Python环境(这个不用多说了吧) 2&#xff0c;安装PyWifi 3,自己手工整理高频弱口令&#xff0c;不建议程序生成的字典&#xff0c;生成的字典成功率实在太低。 4&#xff0c;自己生成字典的算法&#xff1a; 5…

九联UNT413A_S905L3A__AI语音_默认打开ADB_完美线刷固件包【可救砖】

UNT413A_S905L3A__AI语音_默认打开ADB_完美线刷固件包【可救砖】_基于云南原机制作_端口5555 固件特点&#xff1a; 1、修改dns&#xff0c;三网通用&#xff1b; 2、开放原厂固件屏蔽的市场安装和u盘安装apk&#xff1b; 3、无开机广告&#xff0c;无系统更新&#xff0c;…

PyQt5 设置窗口背景

PyQt5 设置窗口背景使用setStyleSheet设置窗口背景图片使用setStyleSheet设置窗口背景颜色使用QPalette设置窗口背景颜色使用QPalette设置窗口背景图片使用paintEvent设置窗口背景颜色使用paintEvent设置窗口背景图片窗口背景主要包括&#xff1a;背景色和背景图片。设置窗口背…

跨境电商必知的交叉销售和追加销售:2022终极指南

关键词&#xff1a;跨境电商、交叉销售、追加销售 跨境电商可以从客户那里获得的潜在收入不会在销售点结束。 交叉销售和追加销售通过吸引客户增加支出来增加您的收入。这是一个双赢的局面&#xff0c;消费者获得了卓越的体验&#xff0c;而你赚到了更多的钱。 但是&#xff0c…

【Pandas数据处理100例】(九十七):Pandas中的eval()函数使用方法

前言 大家好,我是阿光。 本专栏整理了《Pandas数据分析处理》,内包含了各种常见的数据处理,以及Pandas内置函数的使用方法,帮助我们快速便捷的处理表格数据。 正在更新中~ ✨ 🚨 我的项目环境: 平台:Windows10语言环境:python3.7编译器:PyCharmPandas版本:1.3.5N…

axure到底好不好学,有哪些技巧

Axure学习难吗&#xff1f;这个问题一直引起很多朋友的讨论&#xff0c;有的觉得难&#xff0c;有的觉得不难。当然&#xff0c;人不一样&#xff0c;每个人的学习方式也不一样&#xff0c;对学习难度的理解自然也不一样&#xff0c;这个问题自然没有定论。 ​在学习的时候&…

数据库------E-R图和关系模型

1、请输出下面E-R图,并转换成关系模型 有实体 A B C A属性有a1(主键),a2,a3 B属性有b1(主键),b2,b3 C属性有c1(主键),c2,c3 A和B之间有X关系,B和C之间有Y关系,A和C之间有Z关系 一个A对应多个B,一个B对应多个A 一个A对应一个C,一个C对应一个A 一个B对应一个C,一个C对应多…