数据结构题目收录(二十四)

news2025/7/20 21:17:20

1、在将序列(6,1,5,9,8,4,7)建成大根堆时,正确的序列变化过程是()。

  • A:6,1,7,9,8,4,5->6,9,7,1,8,4,5->9,6,7,1,8,4,5->9,8,7,1,6,4,5
  • B:6,9,5,1,8,4,7->6,9,7,1,8,4,5->9,6,7,1,8,4,5->9,8,7,1,6,4,5
  • C:6,9,5,1,8,4,7->9,6,5,1,8,4,7->9,6,7,1,8,4,5->9,8,7,1,6,4,5
  • D:6,1,7,9,8,4,5->7,1,6,9,8,4,5->7,9,6,1,8,4,5->9,7,6,1,8,4,5->9,8,6,1,7,4,5
解析

要熟练掌握建堆和调整堆的方法,从序列末尾开始向前遍历,变换过程如下图所示。

请添加图片描述

答案:A

2、下列关于大根堆(至少含2个元素)的叙述中,正确的是()。

Ⅰ、可以将堆视为一棵完全二叉树
Ⅱ、可以采用顺序存储方式保存堆
Ⅲ、可以将堆视为一棵二叉排序树
Ⅳ、堆中的次大值一定在根的下一层

  • A:仅Ⅰ、Ⅱ
  • B:仅Ⅱ、Ⅲ
  • C:仅Ⅰ、Ⅱ和Ⅳ
  • D:Ⅰ、Ⅲ和Ⅳ
解析

堆是一棵完全树,采用一位数组存储,故Ⅰ、Ⅱ正确。大根堆只要求根结点值大于左右孩子值,并不要求左右孩子值有序,Ⅲ错误。堆的定义是递归的,所以其左右子树也是大根堆,所以堆的次大值一定是其左孩子或右孩子,Ⅳ正确。

答案:C

3、以下排序方法中,()在一趟结束后不一定能选出一个元素放在其最终位置上。

  • A:简单选择排序
  • B:冒泡排序
  • C:归并排序
  • D:堆排序
解析

插入排序不能保证在一趟结束后一定有元素放在最终位置上。事实上,归并排序也不能保证。

例如,序列{6,5,7,8,2,1,4,3}进行一趟2路归并排序(从小到大)后为{5,6,7,8,1,2,3,4},显然它们都未被放在最终位置上。

答案:C

4、在下列排序算法中,平均情况下空间复杂度为O(n)的是();最坏情况下空间复杂度为O(n)的是()。

Ⅰ、希尔排序
Ⅱ、堆排序
Ⅲ、冒泡排序
Ⅳ、归并排序
Ⅴ、快速排序
Ⅵ、基数排序

  • A:Ⅰ、Ⅳ、Ⅵ
  • B:Ⅱ、Ⅴ
  • C:Ⅳ、Ⅴ
  • D:Ⅳ
解析

归并排序算法在平均情况下和最坏情况下的空间复杂度都会达到O(n),快速排序只在最坏情况下才会达到O(n),平均情况下为O( log ⁡ 2 n \log_2n log2n)。

答案:D,C

5、若对27个元素只进行三趟多路归并排序,则选取的归并路数最少为()。

  • A:2
  • B:3
  • C:4
  • D:5
解析

对于N个元素进行k路归并排序时,排序的趟数m满足 k m k^m km=N,所以求得k=3。

答案:B

6、2路归并排序中,归并趟数的数量级是()。

  • A:O(n)
  • B:O( log ⁡ 2 n \log_2n log2n)
  • C:O(n log ⁡ 2 n \log_2n log2n)
  • D:O( n 2 n^2 n2)
解析

对于N个元素进行k路归并排序时,排序的趟数m满足 k m k^m km=N,所以m= ⌈ log ⁡ k N ⌉ \lceil{\log_kN}\rceil logkN

所以本题中为 ⌈ log ⁡ 2 n ⌉ \lceil{\log_2n}\rceil log2n

答案:B

7、在内部排序时,若选择了归并排序而未选择插入排序,则可能的理由是()。

Ⅰ、归并排序的代码更短
Ⅱ、归并排序的占用空间更少
Ⅲ、归并排序的运行效率更高

  • A:仅Ⅱ
  • B:仅Ⅲ
  • C:仅Ⅰ、Ⅱ
  • D:仅Ⅰ、Ⅲ
解析

归并排序代码比选择插入排序更复杂,前者的空间复杂度是O(n),后者的是O(1)。前者的时间复杂度是O(n log ⁡ \log logn),后者的是O( n 2 n^2 n2)。所以B正确。

答案:B

8、若要求排序是稳定的,且关键字为实数,则在下列排序方法中应选()。

  • A:直接插入排序
  • B:选择排序
  • C:基数排序
  • D:快速排序
解析

采用排除法。
由于题目要求是稳定排序,排除选项B和D,又由于基数排序不能对float和double类型的实数进行排序,故排除选项C。

答案:A

9、设被排序的结点序列共有N个结点,在该序列中的结点已十分接近有序的情况下,用直接插入排序、归并排序和快速排序对其进行排序,这些算法的时间复杂度应为()。

  • A:O(N),O(N),O(N)
  • B:O(N),O(N log ⁡ 2 \log_2 log2N)
  • C:O(N),O(N log ⁡ 2 \log_2 log2N),O( N 2 N^2 N2)
  • D:O( N 2 N^2 N2),O(N log ⁡ 2 \log_2 log2N),O( N 2 N^2 N2)
解析

熟练掌握各种排序算法的时间和空间复杂度、稳定性等。

答案:C

10、下列排序算法中属于稳定排序的是(①),平均时间复杂度为O(n log ⁡ 2 \log_2 log2n)的是(②),在最好的情况下,时间复杂度可以达到线性时间的有(③)。堆排序和归并排序在最坏情况下的时间复杂度与最好情况下的时间复杂度是同一数量级的,都是O(n log ⁡ 2 \log_2 log2n)。

Ⅰ、冒泡排序
Ⅱ、堆排序
Ⅲ、选择排序
Ⅳ、直接插入排序
Ⅴ、希尔排序
Ⅵ、归并排序
Ⅶ、快速排序

解析
答案:

①:Ⅰ、Ⅳ、Ⅵ
②:Ⅱ、Ⅵ、Ⅶ
③:Ⅰ、Ⅳ

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

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

相关文章

【TUN模式】对QQ或者微信域名相关的网站访问非常慢、图片加载不出来、网页空白的解决方案

一、问题背景 最近在电脑上登录微信时,或者浏览微信公众号的文章时,经常出现卡顿得出不来图片的情况,即使出来了也是排版异常。 二、研究现状(哈哈哈哈科研人的写作习惯?) 目前网上有些大咖对这个问…

qt 实现PDF阅读器

1、前言 查阅资料可发现,网上的几种pdf阅读器的实现,几乎大多依赖的第三方库,这里就不做介绍了。 qt 自带的关于pdf的显示:pdfwriter、printpreviewwidget,分别为创建pdf 和 打印预览pdf。由此,后者似乎满足…

快速上手Python命令行模块Click

关于Click? 说下 Click 模块是干啥的,简单说,它就是把我们的 Python 脚本的一些函数,通过 添加带有 Click 关键字的装饰器进行装饰进而将函数调用的形式转化为命令行传参的形式然后执行。听不懂也没关系,我们会一步一步来&#x…

【OpenGL开发】VS2017+nuget配置OpenGL开发环境

文章目录1、简介1.1 先决条件1.2 查找并安装包1.3 卸载软件包1.4 更新包1.5 管理解决方案的包1.6 “合并”选项卡2、nuget配置程序源2.1 在线源2.2 本地源3、nuget安装库3.1 nuget安装nupengl.core(C)3.2 nuget安装Giawa.OpenGL(C#&#xff0…

听音乐赚钱App,每天听歌收益5美金,保姆级教学,被动收入人人可做

文章目录调研操作变现链接调研 今天分享的就是一个无门槛挂机项目。不需要科学上网,只要听歌就能赚钱。 首先我们需要先认识平台,这个平台叫做current。 是一个听音乐赚积分的平台,它这个赚钱逻辑也非常简单,在平台听歌就可以获取积分,不过最后是可以用积分兑换美金的。官方的说…

索辰科技在科创板过会:拟募资金额有所下调,上半年亏损4000万元

11月24日,上海证券交易所科创板披露的信息显示,上海索辰信息科技股份有限公司(下称“索辰科技”)获得上市委会议通过。据贝多财经了解,索辰科技于2022年6月29日递交招股书,准备在科创板上市。 据了解&#…

Word处理控件Aspose.Words功能演示:在 Python 中将 Word 文档转换为 PNG、JPEG 或 BMP

MS Word 文件到图像格式的转换让您可以将文档的页面嵌入到您的 Web 或桌面应用程序中。为了在 Python 应用程序中执行此转换,本文介绍了如何使用 Python 将 Word DOCX或DOC文件转换为PNG、JPEG或BMP图像。此外,您将学习如何使用不同的选项控制 Word 到图…

MySQL一致性读实现原理

一致性读实现原理前言MySQL中的事务事务的ACID事务的并发问题事务隔离级别InnoDB并发控制MVCC特性MVCC快照隔离级别与快照REPEATABLE READREAD COMMITTEDUndo回滚段一致性读总结前言 现在,主流关系型数据库产品基本都实现了MVCC的特性,快照在MVCC中起着…

Eureka(注册中心)

1.SpringCloud快速开发入门 1.1 搭建和配置一个服务提供者 我们知道,SpringCloud构建微服务是基于SpringBoot开发的。 1、 创建一个SpringBoot工程(SpringBoot的Web工程),并且添加SpringBoot的相关依赖; 2、 创建服…

Linus 文件处理(二)

目录 一、前言 二、标准 I/O 库 1、fopen 2、fread 3、fwrite 4、fclose 5、 fflush 6、fseek 7、fgetc, getc, and getchar 8、fputc, putc, and putchar 9、fgets and gets 三、文件和目录维护 1、chmod 2、chown 3、unlink, link, and symlink 4、mkdir and…

Anaconda3安装与配置教程(2022.11)

(1)首先前往 Anaconda 官网:Anaconda,下载安装文件: (2)安装时只需要注意设置好安装路径即可,本文安装路径为:D:\Anaconda3,安装好后打开开始菜单能看到如下启…

Java集合框架详解(四)Map接口、HashMap类、LinkedHashMap类

一、Map接口 Map接口的特点: (1)映射键值对的形式(key和value); (2)Map集合中,key是不能重复的,value是可以重复的; (3)…

电脑视频压缩软件哪个好?分享:一款支持上千种视频格式压缩神器

为了追求高清画质,现在的视频文件越来越大了。超大的文件虽然可以给人们带来更好的视觉效果,也给传输和发送带来了很大的麻烦。那有没有一款电脑视频压缩软件解决视频无损压缩问题呢?答案是肯定的! 当前, 视频压缩已经…

自动控制系统实验总结

目录 自动控制系统实验总结 稳定性 稳态精准 动态过程 自动控制系统实验总结 自动控制系统是否能很好地工作,是否能精确地保持被控量按照预定的要求规律变化这取决于被控对象和控制器及各功能元器件的特性参数是否设计得当。 在理想情况下,控制系统的输出量…

DM-微皮恩

DM_VPN 动态多站点,Hub-spoken 总分站点的VPN架构,常用于总分之间的结构。 一、DMVPN的四个组件 1. MGRE 2. NHRP(下一跳地址解析协议) 3. Dynamic Routing Protocl 4. IPsec VPN 二、MGRE 1.配置(多点GRE隧道) interface tunnel 0 #进入隧道接口…

FPGA时序约束(一)基本概念入门及简单语法

文章目录一、建立时间和保持时间是什么?二、时序分析分类三、时钟约束方法3.1 时钟约束3.2 输入延时约束3.3输出延时约束3.4时序例外四、时序约束语法补充文章目前大部分参考明德扬时序约束,只是一个学习总结,侵权删 原文链接:FPG…

【跨境电商】如何创建吸引人的免费送货电子邮件营销

关键词:跨境电商、电子邮件营销、免费送货 除了用于接触新受众的新策略外,电子邮件营销仍然是推动更多电子商务网站转化的最有效选择之一。在大多数情况下,电子邮件用于推销新产品,通知客户有关销售、交易和季节性活动的信息&…

域名服务:域名迁移

摘要:这里记录一下西部数据域名的迁移步骤,迁移的域名为从西部数据一个账号迁移至另一个西数数据账号。域名的实体认证为同一主体,迁移后无需重新备案。此处为一家公立医院。 相关文章 域名服务:西部数据域名迁移阿里云Symantec免…

leetcode337打家劫舍3刷题打卡

337. 打家劫舍 III - 力扣(Leetcode) 小偷又发现了一个新的可行窃的地区。这个地区只有一个入口,我们称之为 root 。 除了 root 之外,每栋房子有且只有一个“父“房子与之相连。一番侦察之后,聪明的小偷意识到“这个…

索引生命周期管理ILM看完不懂你找我

阅读完本文你可以学到什么是索引生命周期管理,各个阶段可以做的操作以及如何使用索引模版使用索引生命周期策略,下面就跟我一起来吧 基础理论篇 索引生命周期管理(ILM)是一种可以让我们随着时间推移自动化的管理索引的一种方式。我…