软件设计师——数据结构(一)

📑前言

本文主要是【数据结构】——软件设计师——数据结构的文章,如果有什么需要改进的地方还请大佬指出⛺️

🎬作者简介:大家好,我是听风与他🥇
☁️博客首页:CSDN主页听风与他
🌄每日一句:狠狠沉淀,顶峰相见

目录

    • 📑前言
    • 1.下面有向图的拓扑序列是( )。
    • 2.若采用顺序存储结构,则平均需要移动( )个元素
    • 3.具有3个节点的二叉树有( )种形态。
    • 4.以下关于二叉排序树(或二叉查找树、二叉搜索树)的叙述
    • 5.令其所有元素依次通过一个初始为空的栈后
    • 📑文章末尾

1.下面有向图的拓扑序列是( )。

1.拓扑序列是有向无环图中所有顶点的一个线性序列,若有向图中存在弧<v,w>或存在从顶点v到w的路径,则在该有向图的任一拓扑序列中,v一定在w之前。下面有向图的拓扑序列是( )。
img

  • (A) 41235
  • (B) 43125
  • © 42135
  • (D) 41325

答案与解析

  • 试题难度:容易
  • 知识点:数据结构与算法基础>图的拓扑排序
  • 试题答案:[[‘A’]]
  • 试题解析:拓扑排序通俗一点来讲,其实就是依次遍历没有前驱结点的结点。而某一时刻没有前驱结点的结点有可能存在多个,所以一个图的拓扑排序可能有多个。
    4号结点没有前趋,所以拓扑排序的第一个元素是4。当4访问完了就可以访问1,1号访问完了就可以访问2,2号访问完了就可以访问3或5。所以拓扑排序结果为:41235。

2.若采用顺序存储结构,则平均需要移动( )个元素

2.设有一个包含n个元素的有序线性表。在等概率情况下删除其中的一个元素,若采用顺序存储结构,则平均需要移动( )个元素;若采用单链表存储,则平均需要移动( )个元素。

  • (A) 1

  • (B) (n-1)/2

  • © logn

  • (D) n

  • (A) 0

  • (B) 1

  • © (n-1)/2

  • (D) n/2

答案与解析

  • 试题难度:一般

  • 知识点:数据结构与算法基础>顺序表与链表

  • 试题答案:[[B],[A]]

  • 试题解析:

    若用顺序表存储,则最好情况是删除最后一个元素,此时不用移动任何元素,直接删除,最差的情况是删除第一个元素,此时需要移动n-1个元素,所以平均状态是移动(n-1)/2。

    若用链表存储,直接将需要删除元素的前趋next指针指向后继元素即可,不需要移动元素,所以移动元素个数为0。

3.具有3个节点的二叉树有( )种形态。

  • (A) 2
  • (B) 3
  • © 5
  • (D) 7

答案:C

在这里插入图片描述

4.以下关于二叉排序树(或二叉查找树、二叉搜索树)的叙述

4.以下关于二叉排序树(或二叉查找树、二叉搜索树)的叙述中,正确的是( )。

  • (A) 对二叉排序树进行先序、中序和后序遍历,都得到结点关键字的有序序列
  • (B) 含有n个结点的二叉排序树高度为⌊log2n⌋+1
  • © 从根到任意一个叶子结点的路径上,结点的关键字呈现有序排列的特点
  • (D) 从左到右排列同层次的结点,其关键字呈现有序排列的特点

答案与解析

  • 试题难度:一般
  • 知识点:数据结构与算法基础>二叉排序树
  • 试题答案:[[‘D’]]
  • 试题解析:对于二叉排序树的遍历,只有中序遍历可以得到递增的有序序列,而后序遍历和先序遍历都不可以,因此A选项错误。
    对于二叉排序树的构造,最差可能会形成单枝树,因此节点数与树的高度,没有绝对的关系,B选项错误。
    对于二叉树的路径,只能保证当前节点与其子节点的大小关系,而对于下层节点,并不能保证与其他节点的大小。比如,对于根节点为30,其左孩子为19,右孩子为40;对于19的左孩子为10,右孩子为25;则从30→25,路径为30,19,25,并不是有序序列。因此C选项错误。
    对于D选项,对于二叉排序树或者是一棵空树,或者是具有下列性质的二叉树:
    (1)若左子树不空,则左子树上所有结点的值均小于或等于它的根结点的值;
    (2)若右子树不空,则右子树上所有结点的值均大于或等于它的根结点的值;
    (3)左、右子树也分别为二叉排序树
    那么同层次的节点,右子树大于根节点,根节点大于左子树,则右子树大于左子树,则同层次有序排列。

2563~@7R5_GNP6___9PN5SV.png

5.令其所有元素依次通过一个初始为空的栈后

5.对于一个长度为n(n>1)且元素互异的序列,令其所有元素依次通过一个初始为空的栈后,再通过一个初始为空的队列。假设队列和栈的容量都足够大,且只要栈非空就可以进行出栈操作,只要队列非空就可以进行出队操作,那么以下叙述中,正确的是( )。

  • (A) 出队序列和出栈序一定互为逆序
  • (B) 出队序列和出栈序列一定相同
  • © 入栈序列与入队序列一定相同
  • (D) 入栈序列与入队序列一定互为逆序

答案与解析

  • 试题难度:一般
  • 知识点:数据结构与算法基础>队列与栈
  • 试题答案:[[‘B’]]
  • 试题解析:从题目的描述来看,出栈之后,直接入队,然后出队。所以:入队序列=出栈序列,又因为出队序列=入队序列。所以出队序列和出栈序列一定相同。

📑文章末尾

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

running小程序重要技术流程文档

一、项目文件说明&#xff1a; &#xff08;注&#xff1a;getMyMoney无用已删除&#xff09; 二、重要文件介绍 1.reinfo.js&#xff1a;位于utils文件下&#xff0c;该文件封装有统一的请求URL&#xff0c;和请求API同意封装供页面调用&#xff1b;调用时候需要在页面上先…

unittest与pytest的区别

Unittest vs Pytest 主要从用例编写规则、用例的前置和后置、参数化、断言、用例执行、失败重运行和报告这几个方面比较unittest和pytest的区别: 用例编写规则 用例前置与后置条件 断言 测试报告 失败重跑机制 参数化 用例分类执行 如果不好看&#xff0c;可以看下面表格&…

算能 MilkV Duo开发板实战——opencv-mobile (迷你版opencv库)的移植和应用

前言 OpenCV是一种开源的计算机视觉和机器学习软件库&#xff0c;旨在提供一组通用的计算机视觉工具。它用于图像处理、目标识别、人脸识别、机器学习等领域&#xff0c;广泛应用于计算机视觉任务。 OpenCV-Mobile是OpenCV库的轻量版本&#xff0c;专为移动平台&#xff08;A…

[MySQL] SQL优化之性能分析

&#x1f308;键盘敲烂&#xff0c;年薪30万&#x1f308; 目录 一、索引优化 1、索引是什么&#xff1a; 2、索引的数据结构&#xff1a; 3、索引种类&#xff1a; 4、sql分析&#xff08;回表查询&#xff09; 二、定位慢查询语句 1、慢查询日志 2、profile详情 3、…

洛谷P3807 Lucas定理

传送门&#xff1a; P3807 【模板】卢卡斯定理/Lucas 定理 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)https://www.luogu.com.cn/problem/P3807题干&#xff1a; 给定整数n,m,p 的值&#xff0c;求出C&#xff08;nm&#xff0c;n&#xff09;​mod p 的值。 输入数据保证…

案例027:基于微信小程序的校园二手平台的设计与实现

文末获取源码 开发语言&#xff1a;Java 框架&#xff1a;SSM JDK版本&#xff1a;JDK1.8 数据库&#xff1a;mysql 5.7 开发软件&#xff1a;eclipse/myeclipse/idea Maven包&#xff1a;Maven3.5.4 小程序框架&#xff1a;uniapp 小程序开发软件&#xff1a;HBuilder X 小程序…

SAP UI5 walkthrough step3 Controls

在上一步&#xff0c;我们是直接用index.html 中的body 里面的DIVision去输出 hello world&#xff0c; 在这个章节&#xff0c;我们将用SAP UI5 的标准控件 sap/m/Text 首先&#xff0c;我们去修改 webapp/index.html <!DOCTYPE html> <html> <head><…

Pytorch深度强化学习1-6:详解时序差分强化学习(SARSA、Q-Learning算法)

目录 0 专栏介绍1 时序差分强化学习2 策略评估原理3 策略改进原理3.1 SARSA算法3.2 Q-Learning算法 0 专栏介绍 本专栏重点介绍强化学习技术的数学原理&#xff0c;并且采用Pytorch框架对常见的强化学习算法、案例进行实现&#xff0c;帮助读者理解并快速上手开发。同时&#…

【论文极速读】LVM,视觉大模型的GPT时刻?

【论文极速读】LVM&#xff0c;视觉大模型的GPT时刻&#xff1f; FesianXu 20231210 at Baidu Search Team 前言 这一周&#xff0c;LVM在arxiv上刚挂出不久&#xff0c;就被众多自媒体宣传为『视觉大模型的GPT时刻』&#xff0c;笔者抱着强烈的好奇心&#xff0c;在繁忙工作之…

class073 背包dp-01背包、有依赖的背包【算法】

class073 背包dp-01背包、有依赖的背包【算法】 算法讲解073【必备】背包dp-01背包、有依赖的背包 code1 P1048 [NOIP2005 普及组] 采药 // 01背包(模版) // 给定一个正数t&#xff0c;表示背包的容量 // 有m个货物&#xff0c;每个货物可以选择一次 // 每个货物有自己的体积…

ChatGPT 应用开发(一)ChatGPT OpenAI API 免代理调用方式(通过 Cloudflare 的 AI Gateway)

前言 开发 ChatGPT 应用&#xff0c;我觉得最前置的点就是能使用 ChatGPT API 接口。首先我自己要能成功访问&#xff0c;这没问题&#xff0c;会魔法就可以本地调用。 那用户如何调用到我的应用 API 呢&#xff0c;我的理解是通过用户能访问到的中转服务器向 OpenAI 发起访问…

带阻滤波器:原理、应用及性能分析?|深圳比创达电子EMC

在现代电子技术和通信领域中&#xff0c;滤波器是一种常见的电路元件&#xff0c;用于处理信号&#xff0c;去除不需要的频率成分或者增强感兴趣的频率成分。本文将重点探讨带阻滤波器&#xff0c;它是一种特殊类型的滤波器&#xff0c;具有在特定频率范围内抑制信号的功能。我…

JVM Optimization Learning(五)

目录 一、JVM Optimization 1、G1 1、G1内存模型 2、基础概念 3、G1特点&#xff1a; 4、CMS日志分析 5、G1日志分析 2、GC参数 2.1、GC常用参数 2.2、Parallel常用参数 2.3、CMS常用参数 2.4、G1常用参数 一、JVM Optimization 1、G1 G1官网说明&#xff1a;Gar…

【微软技术栈】发布自己造的轮子 -- 创建Nuget包(分布操作)

目录 1、您的项目 2、创建 .nuspec 文件 3、一张图片胜过一千个拉取请求 4、包括自述文件 MD 文件 5、构建软件包 6、将包部署到 Nuget.Org 7、手动上传软件包 8、自动化和脚本化部署 9、我们如何构建和部署 ErrLog.IO Nuget 包 10、Nuget统计数据 11、最后的思考 创建 Nuget 包…

生产上线需要注意的安全漏洞

一、关闭swagger 1、关闭swagger v3 # 需同时设置auto-startupfalse&#xff0c;否则/v3/api-docs等接口仍能继续访问 springfox:documentation:enabled: falseauto-startup: falseswagger-ui:enabled: false 2、关闭swagger v2 # 只要不是true就不启用 swagger:enable: fa…

YOLOv8/YOLOv7/YOLOv5/YOLOv4/Faster-rcnn系列算法改进【NO.83】将主干特征提取网络Backbone改为RevCol

前言 作为当前先进的深度学习目标检测算法YOLOv8,已经集合了大量的trick,但是还是有提高和改进的空间,针对具体应用场景下的检测难点,可以不同的改进方法。此后的系列文章,将重点对YOLOv8的如何改进进行详细的介绍,目的是为了给那些搞科研的同学需要创新点或者搞工程项目…

Vue3: 给表格多个字段添加排序功能

问题 在Vue3项目中&#xff0c;使用element-plus的表格组件绘制表格后&#xff0c;需要令表格的多个字段可以进行选择排序&#xff08;选择升序或者降序&#xff09;但是排序功能好像有时候会出错&#xff0c;需要排序的字段多了之后&#xff0c;排序功能有时候会不起作用 解…

分子生成领域的stable diffusion - GEOLDM

一、关于stable diffusion 很多人都知道stable diffusion&#xff0c;stable diffusion的出现改变了机器生成领域&#xff0c;让AI技术第一次无比的接近正常人。大语言模型&#xff0c;AIGC概念于是兴起。基于stable diffusion 大家开发了lora&#xff0c; hyperwork等微调技术…

JDK 9 模块化系统 (Module System) 和 多版本兼容 Jar (Multi-Release Jar)

博文目录 文章目录 Module System原因JDK 模块化模块描述文件关键字 启用模块化测试结论 Multi-Release jar (MRJAR)原因原理结论用 IDEA 创建多版本兼容 Jar项目结构pom.xml测试 Module System 原因 Java 9引入了模块化系统的主要原因是为了解决Java平台面临的复杂性和可维…

从电商API接口谈电商ERP系统介绍

部分网友反馈小红书APP出现闪退问题。对此&#xff0c;小红书客服微博发文称&#xff0c;如遇到小红书APP无法启动的情况&#xff0c;用户可前往App Store下载最新版本&#xff08;详情可见&#xff1a; &#xff09;小红书闪退崩溃出bug&#xff0c;IT人员要背故障吗&#xff…