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

news2024/10/5 20:23:32

1、排序趟数与序列的原始状态无关的排序方法是()。

Ⅰ、直接插入排序
Ⅱ、简单选择排序
Ⅲ、冒泡排序
Ⅳ、基数排序

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

交换类的排序,其趟数和原始序列状态有关,故冒泡排序与初始序列有关。

  • 直接插入排序:每趟排序都插入一个元素,所以排序趟数固定为n-1躺;
  • 简单选择排序:每趟排序都选出一个最小(或最大)的元素,所以排序趟数固定为n-1;
  • 技术排序:每趟排序都要进行“分配”和“收集”,排序趟数固定为d。
答案:B

2、若序列的原始状态为{1,2,3,4,5,10,6,7,8,9},要想使得排序过程中的元素比较次数最少,则应该采用()方法。

  • A:插入排序
  • B:选择排序
  • C:希尔排序
  • D:冒泡排序
解析

选择排序和序列初态无关,直接排除。

初始序列基本有序时,插入排序比较次数较少。本题中,插入排序仅需比较n+4次,而希尔排序和冒泡排序的比较次数均远大于此。

答案:A

3、下列排序方法中,若将顺序存储更换为链式存储,则算法的时间效率会降低的是()。

Ⅰ、插入排序
Ⅱ、选择排序
Ⅲ、起泡排序
Ⅳ、希尔排序
Ⅴ、堆排序

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

插入排序、选择排序、起泡排序的原本时间复杂度是O( n 2 n^2 n2),更换为链式存储后的时间复杂度还是o( n 2 n^2 n2)。希尔排序和堆排序都利用了顺序存储的随机访问特性,而链式存储不支持这种性质,所以时间复杂度会增加,因此选D。

答案:D

4、对大部分元素已有序的数组排序时,直接插入排序比简单选择排序效率更高,其原因是()。

Ⅰ、直接插入排序过程中元素之间的比较次数更少
Ⅱ、直接插入排序过程中所需的辅助空间更少
Ⅲ、直接插入排序过程中元素的移动次数更少

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

考虑较极端的情况,对于有序数组,直接插入排序的比较次数为n-1,简单选择排序的比较次数始终为1+2+…+n-1=n(n-1)/2,Ⅰ正确。

两种排序方法的辅助空间都是O(1),无差别,Ⅱ错误。

初始有序时,移动次数均为0;对于通常情况,直接插入排序每趟插入都需要依次向后挪位,而简单选择排序只需与找到的最小元素交换位置,后者的移动次数少很多,Ⅲ错误。

答案:A

5、设在磁盘上存放有375000个记录,做5路平衡归并排序,内存工作区能容纳600个记录,为把所有记录排好序,需要做()趟归并排序。

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

初始归并段的个数r=375000/600=625,因此,归并趟数S= ⌈ log ⁡ m r ⌉ \lceil {\log_mr} \rceil logmr= ⌈ log ⁡ 5 625 ⌉ \lceil {\log_5{625}} \rceil log5625=4。

第一趟把625个归并段归并成625/5=125个;

第二趟把125个归并段归并成125/5=25个;

第三趟把25个归并段归并成15/5=5个;

第四趟把5个归并段归并成5/5=1个。

答案:B

6、设有5个初始归并段,每个归并段有20个记录,采用5路平衡归并排序,若不采用败者树,使用传统的顺序选出最小记录(简单选择排序)的方法,总的比较次数为(①);若采用败者树最小的方法,总的比较次数约为(②)。

  • A:20
  • B:300
  • C:396
  • D:500
解析

不采用败者树时,在5个记录中选出最小的需要做4次比较,共有100个记录,需要做99次选择最小记录的操作,所以需要的比较次数为4 × \times × 99=396,故选C。

采用败者树时,5路归并意味着败者树的外结点有5个,败者树的高度h= ⌈ log ⁡ 2 5 ⌉ \lceil {\log_2{5}} \rceil log25=3。每次在参加比较的记录中选择一个关键字最小的记录,比较次数不超过h,共100个记录,需要的比较次数不超过100 × \times × 3 =300,故选B。

答案:C,B

7、置换-选择排序的作用是()。

  • A:用于生成外部排序的初始归并段
  • B:完成将一个磁盘文件排序成有序文件的有效的外部排序算法
  • C:生成的初始归并段的长度是内存工作区的2倍
  • D:对外部排序中输入、归并、输出的并行处理
解析

置换-选择排序是外部排序中生成初始归并段的方法,用此方法得到的初始归并段的长度是不等长的,其长度平均是传统等长初始归并段的2倍,从而使得初始归并段数减少到原来的近二分之一。但是,置换-选择排序不是一种完整的生成有序文件的外部排序算法。

答案:A

8、在做m路平衡归并排序的过程中,为实现输入/内部归并/输出的并行处理,需要设置(①)个输入缓冲区和(②)个输出缓冲区。

  • A:2

  • B:m

  • C:2m-1

  • D:2m

  • A:2

  • B:m

  • C:2m-1

  • D:2m

解析

在做m路平衡归并排序的过程中,为实现输入/内部归并/输出的并行处理,需要设置2m个输入缓冲区和2个输出缓冲区,以便在执行内部归并时,能同时进行输入/输出操作。若仅设置m个输入缓冲区,则仅能进行串行操作,无法并行处理。

答案:D,A

9、已知三叉树T中6个叶结点的权分别是2,3,4,5,6,7,T的带权(外部)路径长度最小是()。

  • A:27
  • B:46
  • C:54
  • D:56
解析

将哈夫曼树的思路推广到三叉树的情形。

为了构成严格的三叉树,需添加权为0的虚叶结点,对于严格的三叉树,( n 0 n_0 n0-1)%(3-1)=u=1 ≠ \ne = 0,需要添加m-u-1=3-1-1=1个叶结点,说明7个叶结点刚好可以构成一棵严格的三叉树。按照哈夫曼树的原则,权为0的叶结点应离树根最远,构造的最小带权生成树如下图所示。

请添加图片描述

最下带权路径长度为(2+3) × \times × 3+(4+5) × \times × 2+(6+7) × \times × 1=46。

答案:B

10、设外存上有120个初始归并段,进行12路归并时,为实现最佳归并,需要补充的虚段个数是()。

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

在12路归并树中只存在度为0和度为12的结点,设度为0的结点数、度为12的结点数和要补充的结点数分别为 n 0 n_0 n0 n 1 2 n_12 n12 n 补 n_补 n,则有 n 0 n_0 n0=120+ n 补 n_补 n n 0 n_0 n0=(12-1) n 1 2 n_12 n12+1,可得 n 1 2 n_12 n12=(120-1+ n 补 n_补 n)/(12-1)。

由于结点数 n 1 2 n_12 n12为整数,所以 n 补 n_补 n是使上式整除的最小整数,求得 n 补 n_补 n=2,所以答案选B。

答案:B

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

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

相关文章

GUI编程--PyQt5--QDiaglog

文章目录QDialogQFontDialogQColorDialogQFileDialogQInputDialogQDialog 对话框基类,继承QWidget;用于短期任务,分为模态、非模态 模态,阻塞在当前窗口;分为应用程序级别&窗口级别(仅阻塞关联的窗口&…

关于使用鼠标时间mouseMove拖拽元素及元素抖动的解决方案

最近在做一个画布相关的项目时有一个场景是移动画布,最先开始想到的是拖拽事件,但是用户希望元素是实时的变化,所以决定使用mouseMove事件来做。 思路 通过mouseDown事件确定鼠标按下的位置根据mouseMove事件来计算出鼠标相对初始状态的横向…

MySQL锁杂谈

【说明】 1.MySQL版本5.7.37 2.事务隔离级别 REPEATABLE-READ 3.表结构 Create Table: CREATE TABLE isolation_innodb (id bigint(20) NOT NULL AUTO_INCREMENT,name varchar(10) DEFAULT NULL,money int(11) DEFAULT NULL,PRIMARY KEY (id) ) ENGINEInnoDB AUTO_INCREMENT4…

jsp库存管理系统Myeclipse开发mysql数据库web结构java编程计算机网页项目

一、源码特点 JSP 库存管理系统 是一套完善的web设计系统,对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。开发环境为TOMCAT7.0,Myeclipse8.5开 发,数据库为Mysql,使用ja…

VMware Cloud Director数据库操作

VMware Cloud Director 是一个云服务平台,以自助服务模式提供安全、隔离、弹性的虚拟数据中心计算、网络、存储和安全。在NFV整个架构中属于VIM层,与NFVI层(对VMware来说即vSphere虚拟化环境)对接获取虚拟化资源并提供给租户。 NF…

服务访问质量(QoS)——QoS技术概述与配置

作者简介:一名在校云计算网络运维学生、每天分享网络运维的学习经验、和学习笔记。 座右铭:低头赶路,敬事如仪 个人主页:网络豆的主页​​​​​​ 目录 前言 一.QoS技术概述 1.QoS的应用需求 ①网络拥塞的影响&#xff1a…

【Linux】项目自动化构建工具:make/Makefile的使用

文章目录一、背景1、make和makefile是什么?2、为什么要使用make和makefile?二、原理1、使用make和makefile2、依赖关系和依赖方法3、具体原理4、项目清理一、背景 1、make和makefile是什么? make是一个命令,是一个解释makefile中指令的命令…

Linux项目:自主web服务器

文章目录项目描述Web与 http 发展史DNSURI URL URNHTTP 概述项目纲要项目架构套接字的封装HTTP服务启动日志信息与工具类请求、响应类读取请求读取请求行读取请求报头分析请求行分析请求报头读取正文构建响应预处理返回静态网页CGI机制CGI机制的基本概念CGI函数的实现子CGI程序…

【点云处理】点云法向量估计及其加速(4)

上篇文章【点云处理】点云法向量估计及其加速(3)介绍了如何使用pcl提供的gpu版本法向量计算接口对点云发向量计算进行加速。不足之处在于点云k近邻查找依然比较耗时,成为影响整体计算性能的瓶颈。这篇文章就如何优化点云K近邻查找效率进行实验。上一篇文章的示例代码…

redis数据库的下载安装/免安装版

文章目录下载方式一下载方式二免安装版redis是一款高性能的NOSQL系列的非关系型数据库这里分享三个下载源,只介绍免安装版下载方式一 官网下下载https://redis.io(国外网站下载速度比较慢) 下载方式二 Redis中文网http://www.redis.net.cn…

想你所想,华为云桌面Workspace助你轻松办公

想你所想,华为云桌面Workspace助你轻松办公 双11作为近年来最受关注的购物季,从最开始的电商,到现在各行各业纷纷下场推出活动,期望在此段时间内迅速积累用户,从而提升产品知名度和用户基础。华为云也不例外&#xff0…

学生个人博客网页设计作品 学生个人网页模板 个人网页制作 HTML学生个人网站作业设计

🎉精彩专栏推荐 💭文末获取联系 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 💂 作者主页: 【主页——🚀获取更多优质源码】 🎓 web前端期末大作业: 【📚毕设项目精品实战案例 (10…

应用商店的ASO和搜索引擎的SEO的区别

ASO和SEO,目标相似,有着异曲同工之妙,两者都是提高搜索排名的方式,具体有什么区别呢?今天柚鸥ASO给大家做一下总结。 SEO是指搜索引擎优化,利用搜索引擎的规则来提高网站(例如:百度…

室内定位解决方案-最新全套文件

室内定位解决方案-最新全套文件一、建设背景二、建设思路三、建设方案四、获取 - 室内定位全套最新解决方案合集一、建设背景 室内定位顾名思义就是定位室内目标对象的位置,可以是人也可以是物体的位置的一种技术方案,根据定位精度的不同,被…

C++ Primer Plus第五版笔记(p1-50)

1 在unix中 echo 获得状态 2iostream 包含istream以及ostream:随着时间的推移&#xff0c;字符是按照顺序生成或者是消耗的 3cin标准输入 cout标准输出 Cerr标准错误 clog 一般性信息 4cin>>c1>>c2&#xff1b;连续输入 5cout是ostream的对象&#xff0c;第一个<…

VirtualBox安装openEuler

下载&#xff1a; https://www.openeuler.org/zh/mirror/list/ 根据设备架构选择对应的版本&#xff1a;windows是x86架构 选择下面这个4.2G大小的&#xff1a; 安装&#xff1a; 1&#xff0c;点击新建&#xff1a; 按下图设置 设置内存大小&#xff0c;使用的cpu数…

SpringBoot项目在使用Maven打包war中遇到的问题

问题描述 在使用maven打包&#xff08;package&#xff09;springboot项目为war项目后&#xff0c;在本地机器上使用Tomcat跑这个项目&#xff0c;访问资源时出现下面的错误&#xff1a; o.s.b.w.servlet.support.ErrorPageFilter : Cannot forward to error page for reque…

TIKTOK出海公会为什么是2022出海风口?有哪些机遇与挑战?

近两年在全球迅速扩张市场的TIKTOK一举跃为全球下载量第一的APP&#xff0c;背靠十几亿月活用户的流量矿山&#xff0c;成为首个非Facebook系达成此成就的应用&#xff0c;可谓是赚足了全世界的目光。与此同时&#xff0c;大量跨境商家与自媒体从业者也盯上了TIKTOK的造富潜力&…

zlib-1.2.11库、libpng-1.6.36库编译及交叉编译 —— 附带shell编译脚本及源码

目录 一、zlib-1.2.11库编译 二、libpng-1.6.36库编译 三、编译zlib和libpng的编译脚本 编译libpng库之前需要先下载编译zlib库&#xff0c;因为libpng需要依赖zlib才能编译通过。 编译环境如下&#xff1a;ubunt 14.04、gcc 4.8.4、arm-hisiv100nptl-linux-gcc 一、zlib-1.2…

SAP S4客户与供应商如何管理 事务代码 BP

在 S4里里面&#xff0c; “客户”与“供应商”的概念被整合为为“业务伙伴”了 &#xff0c;所以SAP也用也新的事务代码来管理“业务伙伴” 新的业务代码是BP 。 在旧版本的SAP里面采用供应商和客户的方式来管理业务伙伴&#xff0c;有一些弊端&#xff0c;例如&#xff1a; 1…