信息学奥赛初赛天天练-89-CSP-S2023基础题1-linux常用命令、完全平方数、稀疏图、队列、散列表、二叉树、哈夫曼树

news/2024/9/19 8:57:26/文章来源:https://www.cnblogs.com/myeln/p/18414404
PDF文档公众号回复关键字:20240914

2023 CSP-S 选择题

单项选择题(共15题,每题2分,共计30分:每题有且仅有一个正确选项)

1 在 Linux 系统终端中,以下哪个命令用于创建一个新的目录 ? ( )

A newdir
B mkdir
C create
D mkfold

2 从0,1,2,3,4 中选取 4 个数字,能组成( )个不同四位数(注:最小的四位数是 1000 最大的四位数是 9999)

A 96
B 18
C 120
D 84

3 假设 n 是图的顶点的个数,m 是图的边的个数,为求解某一问题有下面四种不同时间复杂度的算法。对于 m=Θ(n) 的稀疏图而言,下面的四个选项,哪一项的渐近时间复杂度最小( )

A O(m* sqrt(logn) * loglogn)
B O(n^2 + m)
C O(n^2/logm + m*logn)
D O(m + nlogn)

4 假设有 n根柱子,需要按照以下规则依次放置编号为 1,2,3,⋯的圆环:每根柱子的底 部固定,顶部可以放入圆环;每次从柱子顶部放入圆环时,需要保证任何两个相邻圆环的编号之和是一个完全平方数。请计算当有 4根柱子时,最多可以放置( )个圆环

A 7
B 9
C 11
D 5

5 以下对数据结构的表述不恰当的一项是( )

A 队列是一种先进先出(FIFO)的线性结构
B 哈夫曼树的构造过程主要是为了实现图的深度优先搜索
C 散列表是一种通过散列函数将关键字映射到存储位置的数据结构
D 二叉树是一种每个结点最多有两个子结点的树结构

2 相关知识点

1) 常用linux命令

ls:列出目录中的文件和子目录。
cd:切换当前工作目录。
pwd:显示当前工作目录的路径。
cp:复制文件或目录。
mv:移动文件或目录。
rm:删除文件或目录。
mkdir:创建新目录。
rmdir:删除空目录。
touch:创建空文件或更改文件的时间戳。
cat:查看文件内容或将多个文件合并为一个文件

2) 完全平方数

完全平方数是指一个整数可以表示为另一个整数的平方的形式

1(1 * 1)
4(2 * 2)
9(3 * 3)
16(4 * 4)
25(5 * 5)
36(6 * 6)
49(7 * 7)
64(8 * 8)
81(9 * 9)

3) 稀疏图

稀疏图(Sparse Graph)是指边数相对较少的图

在稀疏图中,顶点数为n,边数为m,它们之间的一般关系是m远小于n的平方 m<nlogn

4) 队列

队列是一种特殊的线性表,特殊之处在于它只允许在表的前端(head)进行删除操作,而在表的后端(tail)进行插入操作

队列是一种操作受限制的线性表。进行插入操作的端称为队尾,进行删除操作的端称为队头

队列可以理解成我们平时的排队,先进入的先出去

5) 散列表

散列表,英文名称为Hash Table,又称哈希表、杂凑表等

散列表是根据关键字直接访问的数据结构。散列表通过散列函数将关键字映射到存储地址,建立了关键字和存储地址之间的一种直接映射关系

例如:关键字集key = (17, 24, 48, 25),散列函数H(key) = key % 5,散列函数将关键字映射到存储地址下标,将关键字存储到散列表的对应位置

6) 二叉树

每个结点至多拥有两棵子树(即二叉树中不存在度大于2的结点),并且,二叉树的子树有左右之分,其次序不能任意颠倒,例如下面是一棵二叉树

7) 哈夫曼树

1 选剩下的两棵根权值最小的树合并成一棵新树

2 新树的根权值等于两棵合并前树的根权值和

3 重复1和2

哈夫曼编码

哈夫曼树的左右孩子进行编码称为哈夫曼编码,通常左边为0,右边为1

只对叶子节点进行编码/解码,编码唯一

哈夫曼编码是前缀编码,任何一个字符的编码都不是另一个字符编码的前缀(只有叶子节点编码)

哈夫曼编码左边为0,右边为1是通常规定,也可以左边为1右边为0,但确定后编码是唯一的

如果下图为字母a,b,c,d,e的编码,字母旁边对应数字为其出现的频率

3 思路分析

1 在 Linux 系统终端中,以下哪个命令用于创建一个新的目录 ? ( B )

A newdir
B mkdir
C create
D mkfold

分析

根据常用linux命令可知,创建一个目录为mkdir

2 从0,1,2,3,4 中选取 4 个数字,能组成( A )个不同四位数(注:最小的四位数是 1000 最大的四位数是 9999)

A 96
B 18
C 120
D 84

分析

由于0不能做首位,所以不能直接使用排列
分别把这5个数字放入到4位数的对应位
千位 可以是 1 2 3 4 有4种选择
百位 可以是包括0的5个数字任意一个,千位已经使用了1个,所以有4种选择
十位 同百位,有3种选择
个位 同十位,有2种选择
根据乘法原理
4 * 4 * 3 * 2 = 96 种

3 假设 n 是图的顶点的个数,m 是图的边的个数,为求解某一问题有下面四种不同时间复杂度的算法。对于 m=Θ(n) 的稀疏图而言,下面的四个选项,哪一项的渐近时间复杂度最小( )

A O(m* sqrt(logn) * loglogn)
B O(n^2 + m)
C O(n^2/logm + m*logn)
D O(m + nlogn)

分析

根据稀疏图的定义可知,顶点远数远大于边的图
假设n=16 ,m=2时,代入4个选项
A 2 * sqrt(log16) * loglog16=2 * sqrt(4) * log4 =2 * 2 * 2=8
B 16^2+2=256+2=258
C 16^2/1 + 2 * log16=256 + 2 * 4 = 264
D 2 + 16 * log16 = 2+16*4=66
从上述计算结果看A最小,所以选 A

4 假设有 n根柱子,需要按照以下规则依次放置编号为 1,2,3,⋯的圆环:每根柱子的底 部固定,顶部可以放入圆环;每次从柱子顶部放入圆环时,需要保证任何两个相邻圆环的编号之和是一个完全平方数。请计算当有 4根柱子时,最多可以放置( C )个圆环

A 7
B 9
C 11
D 5

分析

根据题目规则每个相邻圆环的编号之和是一个完全平方数,列举几个可能的完全平方数
4,9,16,25,36
尝试依次放入圆环,可知如下情况,可以放置最多
1和8,2和7,3和6,4和5都可以组成完全平方数
再继续放
7和9,6和10,5和11都可以组成完成平方数
无法继续再放入12使得和最上面的数组成完全平方数
因此最多可以放置11个圆环

5 以下对数据结构的表述不恰当的一项是( B )

A 队列是一种先进先出(FIFO)的线性结构
B 哈夫曼树的构造过程主要是为了实现图的深度优先搜索
C 散列表是一种通过散列函数将关键字映射到存储位置的数据结构
D 二叉树是一种每个结点最多有两个子结点的树结构

分析

A 队列的特点就是先进先出,即最先进入队列的元素最先被取出,正确
B 哈夫曼树(Huffman Tree)是一种特殊的二叉树,主要用于数据压缩。它的构造过程是根据字符出现的频率来构建一棵最优二叉树,以便在数据压缩过程中实现最优编码。这与图的深度优先搜索无关,因此是错误的
C 散列表(Hash Table)是一种通过散列函数将关键字映射到存储位置的数据结构,它可以实现快速的查找、插入和删除操作,正确
D 二叉树(Binary Tree)是一种特殊的树结构,其中每个结点最多只能有两个子结点,正确
因此选B

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

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

相关文章

格力-空调遥控器说明书

客厅柜机遥控器 主卧空调遥控器 aa

【YashanDB知识库】单机升级典型问题及应急措施

升级典型问题 官网升级操作指引 离线升级,一般线上操作之前需要照着做一遍,但是由于数据量少、monit进程在测试环境没有启动等原因,一些操作、配置问题在测试过程中不会暴露,在生成操作的时候才暴露,下面3项是比较常见的容易遗漏的: 1、monit进程没停止引起升级失败 moni…

征程 6E/M 快速上手实战 Sample-Codec

征程 6E/M 快速上手实战 Sample-Codec 01 Codec 模块简述 Codec(Coder-Decoder)是指编解码器,用于压缩或解压缩视频、图像、音频等媒体数据;J6 Soc 中存在两种硬件编解码单元,分别是 VPU(Video process unit)和 JPU(Jpeg process unit),可提供 4K@90fps 的视频编解码…

【触想智能】工控一体机在船舶航运上应用的优势和应用场景分析

随着船舶航运业的发展,工控一体机在船舶航运领域上的应用越来越广泛。工控一体机的功能和性能可以加强船舶航运领域的自动化和智能化水平。下面,触想智能小编针对工控一体机在船舶航运领域上应用的优势和应用场景进行简单分析,给大家借鉴参考。一、船舶管理工控一体机可以通…

工控机维修

工控机维修是一个涉及硬件和软件多方面知识的综合性工作,针对工控机可能出现的各种故障,以下是一些常见的维修方法和注意事项: 一、常见故障原因及维修方法 电源故障 故障现象:电源指示灯不亮或闪烁,无法启动机器。 解决方法: 检查电源插头是否插紧,电源线是否损坏。 尝…

SAP B1 Web Client MS Teams App集成连载一:先决条件/Prerequisites

一、先决条件/Prerequisites 在设置 SAP Business One 应用之前,确保您已具备以下各项: Before you set up the SAP Business One app, make sure you have acquired the following: 1.Microsoft Teams 管理员账户/A Microsoft Teams admin account您需要使用此账户为贵组织上…

异构仿真:打造更可靠的综合化航空电子软件

​综合化航空电子系统是一类典型的安全关键系统,具有分布式、异构、计算资源和物理资源强耦合等特征。随着IMA(Integrated Modular Avionics,综合模块化航空电子)系统趋于复杂化和智能化,系统的功能越来越多地采用软件来实现,如何打造更为可靠的综合化航空电子软件成为一…

Halo 开发者指南——项目运行、构建

准备工作 环境要求OpenJDK 17 LTS Node.js 20 LTS pnpm 9 IntelliJ IDEA Git Docker(可选)名词解释 工作目录 指 Halo 所依赖的工作目录,在 Halo 运行的时候会在系统当前用户目录下产生一个 halo-next 的文件夹,绝对路径为 ~/halo-next。里面通常包含下列目录或文件:​db​…

react-pdf预览在线PDF的使用

记录在PC端和移动端使用react-pdf插件预览pdf文件的使用1、在react项目中安装react-pdf依赖包 建议安装8.0.2版本的react-pdf,如果安装更高版本的可能出现一些浏览器的兼容性问题;npm install react-pdf@8.0.2 -S 1、PC端的使用 1.1、封装一个组件:PdfViewModal.tsximport …

数业智能心大陆探索生成式AIGC创新前沿

近日,数业智能心大陆参与了第九届“创客中国”生成式人工智能(AIGC)中小企业创新创业大赛。在这场汇聚了众多创新力量的研讨过程中,广东数业智能科技有限公司基于多智能体的心理健康技术探索与应用成果,从众多参赛者中脱颖而出。彰显了公司在技术创新领域的深厚实力,也为…

CSS 设置中英文和数字文本的换行

CSS 设置中英文和数字文本的换行CSS 设置中英文和数字文本的换行 在 CSS 中,可以使用不同的规则来控制中文、英文、数字等文本的换行行为。以下是一些常用的 CSS 属性和技巧,用于处理不同类型文本的换行。 1. 中文自动换行 中文字符之间通常不需要额外处理即可自动换行。不过…

ADC_DMA_双buffer传输

ADC有很多通道,但是只有一个寄存器,在使用过程中,常常使用DMA去传输,速度非常快,该文探究了在RTOS下使用两个线程以及DMA的中断,之间去同步,从而确保对ADC采集的连续性和快速性。ADC_DMA_双buffer传输线程A切换buffer地址 开启ADC转换,并使用DMA传输 等待获取DMA中断的…