数据结构复习

article/2025/11/6 7:21:51

临近期末整理的一些复习题,仅供参考,切莫作为期末考试依据!!!

选择题

  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://chatgpt.dhexx.cn/article/dut1v2ZM.shtml

相关文章

2022考研数据结构_1 绪论

https://gitee.com/fakerlove/Data-Structure-文章地址 文章目录 1. 数据结构绪论1.1 什么是数据结构?1.2 数据结构起源1.3 程序设计数据结构算法1.4基本概念和术语1.4.1数据1.4.2 数据元素1.4.3 数据项1.4.4 数据对象1.4.5 数据结构 1.5 逻辑结构与物理结构**1.5.…

数据结构考研如何120+?

数据结构考研如何120? 附:各大高校专业课资料整理可以看一下我的博客主页上传的资源哦!感谢关注,点赞,评论♥ 前几天收到私信问:0基础跨考,0基础跨考的话是不是需要先学c语言呢,等…

22计算机408考研—数据结构—线性表、栈、队列、数组

2022计算机考研408—数据结构—线性表、栈、队列、数组 手把手教学考研大纲范围内的线性表、栈、队列、数组 22考研大纲数据结构要求的是C/C,笔者以前使用的都是Java,对于C还很欠缺, 如有什么建议或者不足欢迎大佬评论区或者私信指出 Talk is…

考研_数据结构

绪论 1.算法原地工作是指辅助空间不随着数据规模的增大而增大,不是说不需要辅助空间 2.栈和队列属于逻辑结构而非存储结构,它们的实现才属于存储结构 3.数据元素是数据的基本单位,数据项是数据的最小单位 4.程序需要算法和数据结构结合在…

2019数据结构考研(一)

2019数据结构考研(一) 知识框架 数据结构的基本概念 数据:数据是信息的载体,是所有能描述事物属性的数,字符以及所有能输入到计算机被计算机程序识别和处理的符号的集合数据元素:数据元素是数据的基本单位数据项:数据项是构成数据元素不可分割的最小单位注意:不要混淆数据,数…

考研数据结构汇总

仅供参考!!! 必背知识点 数据结构 是相互之间存在一种或多种特定关系的数据元素的集合 数据结构的三要素: 逻辑结构,存储结构,数据的运算(定义(逻辑结构的,运算的功能…

22计算机408考研—数据结构—排序(详解加例题)

2022计算机考研408—数据结构—排序 手把手教学考研大纲范围内的排序 22考研大纲数据结构要求的是C/C,笔者以前使用的都是Java,对于C还很欠缺, 如有什么建议或者不足欢迎大佬评论区或者私信指出 Talk is cheap. Show me the code. 理论到处都…

王道考研数据结构笔记

2022年4月16日 整理了这篇博客的pdf版本,但是缺的部分可能没法补上啦,把毕业的事忙完了可能!可以!对着书把笔记再整理一遍!所以所以,如果有需要pdf版本的可以私信我(可能回得比较慢,也可以直接加…

数据结构(考研笔记)

参考 原文链https://blog.csdn.net/qq_55593227/article/details/123598044 文章目录 第一章、绪论1.1. 数据结构1.2. 算法1.2.1. 算法的基本概念1.2.2. 算法的时间复杂度1.2.3. 算法的[空间复杂度](https://so.csdn.net/so/search?q空间复杂度&spm1001.2101.3001.7020) 第…

【数据结构】- 【考研复试面试题】-汇总大合集

数据结构-考研复试面试题-汇总大合集 _写在前面的话:第二次写文章,本篇文章涉及内容主要包括数据结构与算法,包含市面上最热门的面试题,加以总结,用于本人的专业课面试复习,包括一些个人理解和总结&#xf…

考研复试——数据结构

文章目录 数据结构什么是数据结构?逻辑结构和物理结构有什么区别?为什么对单链表设置头结点?算法的特点?常见的数据结构有哪些?栈在后缀表达式求值的算法思想:队列溢出现象?解决方法&#xff1f…

【考研】数据结构知识点

绪论 基本概念和术语 数据 :信息的载体数据元素 :数据的基本单位,由若干数据项组成,数据项为不可分割的最小单位数据对象 :数据的子集,具有相同性质的数据元素集合数据类型 :值的集合和定义在此集合的一组…

考研数据结构-基础知识

考验数据结构所需的程序语言基础: 一、(1)基本类型: 数据类型:short、int、long、float、double(用来存储各种数字如整数、小数)。考验数据结构中常用的有两种:int(存储整…

数据结构考研复习(详细指导)(持续更新中)

目录 绪论 数据结构 数据结构在学什么 ​编辑 数据结构的基本概念 算法 算法的基本概念 算法的特性 好算法的特性 算法的时间复杂度 算法的空间复杂度 线性表 定义 基本操作 顺序表 顺序表的定义 顺序表的实现 顺序表的插入和删除 顺序表的查找 单链表 单链…

《王道》数据结构笔记整理2022

数据结构 第一章:绪论1.1数据结构的基本概念1.2数据结构的三要素1.3算法的基本概念1.4算法的时间复杂度1.5算法的空间复杂度 第二章:线性表2.1线性表的定义2.2顺序表的定义2.2.1静态分配:2.2.2动态分配 2.2顺序表的基本操作1.插入操作 :平均时…

跨境支付体系

跨境支付基础概念 两个或两个以上国家或地区之间因国际贸易,国际投资及其他方面所发生的国际间债权债务,借助一定的结算工具和支付体系实现资金跨国或跨地区转移的行为。 主要特性: 1)收付双方可能在不同的国家或地区 2&#xff0…

Braintree-国外支付对接(一)

前言:在国外,要说网上商城支付用的最多的就是Paypal和信用卡。Paypal相当于咱中国的支付宝,所以支付要对接它是必不可少的。在开发项目的初期最先对接的确是Paypal的Rest SDK,后来鉴于领导的要求,需要适用信用卡&#…

支付开发,不得不了解的国内、国际第三方支付流程

https://mp.weixin.qq.com/s/4Xut45PcMASlV4_08O_xmA 这几年的工作中一直与支付打交到,借着 skr-shop 这个项目来与大家一起分享探索一下支付系统该怎么设计、怎么做。我们先从支付的一些常见流程出发分析,找出这些支付的共性,抽象后再去探讨…

澳洲支付服务商RoyalPay微信支付宝APP支付对接

最近项目中需要开发澳洲那边的微信支付宝支付,所以去研究了一下微信境外支付,发现境外只支持服务商模式,即客户需要去与澳洲本地服务商合作,由客户提供材料,服务商帮客户申请支付相关账号,然后调用服务商提…

聚合支付平台排名

随着时代的发展,聚合支付对于商家来说越来越重要,虽说有刷脸支付的噱头,但是聚合支付在支付史上的地位越来越重要。再加上银联、支付宝、微信官方这两年在聚合支付上的发力,和国家层面对聚合支付的政策扶持,聚合支付已…