备战秋招 | 笔试强训24

目录

一、选择题

二、编程题

三、选择题题解

四、编程题题解


一、选择题

1、请指出选择排序,冒泡排序,快速排序的时间复杂度分别是()

A. O(n^2)、O(n^2)、O(n*log2n)

B. O(n*log2n)、、O(n^2)、O(n*log2n)

C. O(n)、O(n^2)、O(n^2)

D. O(n*log2n)、O(n^2)、O(n^2)

2、在单链表中,增加头结点的目的是()

A. 标识表结点中首结点的位置

B. 算法实现上的方便

C. 使单链表至少有一个结点

D. 说明单链表是线性表的链式存储实现

3、下列算法的功能是什么?

/*L是无头节点单链表*/
LinkList Demo(LinkList L)
{ListNode *Q,*P;if(L&&L->next){Q=L;    L=L->next;P=L;while(P->next)P=P->next;p->next=Q;}return L;
}

A. 遍历链表

B. 链表深拷贝

C. 链表反转

D. 单链表转变为循环链表

4、表达式3*2^(4+2*2-6*3)-5求值过程中当扫描到6时,对象栈和运算符栈为(),其中^为乘幂

A. 3,2,4,1,1;(*^(+*-

B. 3,2,8;(*^-

C. 3,2,4,2,2;(*^(-

D. 3,2,8;*^(-

5、假设以数组A[60]存放循环队列的元素,其头指针是front=47,当前队列有50个元素,则队列的尾指针值为()

A. 3

B. 37

C. 97

D. 50

6、一棵完全二叉树第六层有9个叶结点(根为第一层),则结点个数最多有()

A. 112

B. 111

C. 107

D. 109

7、有权值分别为11,8,6,2,5的叶子结点生成一棵哈夫曼树,它的带权路径长度为()

A. 24

B. 71

C. 48

D. 53

8、已知小根堆为8,15,10,21,34,16,12,删除关键字8之后需重建堆,最后的叶子节点为()

A. 34

B. 21

C. 16

D. 12

9、将10个元素散列到100000个单元的哈希表中,则()产生冲突

A. 一定会

B. 一定不会

C. 仍可能会

10、下列排序算法中,元素的移动次数与关键字的初始排列次序无关的是 () 。

A. 直接插入排序

B. 起泡排序

C. 基数排序

D. 快速排序

二、编程题

1、年终奖    题目链接

2、迷宫问题    题目链接

三、选择题题解

1、请指出选择排序,冒泡排序,快速排序的时间复杂度分别是()

A. O(n^2)、O(n^2)、O(n*log2n)

B. O(n*log2n)、、O(n^2)、O(n*log2n)

C. O(n)、O(n^2)、O(n^2)

D. O(n*log2n)、O(n^2)、O(n^2)

正确答案:A

题解:

        基础题; 

2、在单链表中,增加头结点的目的是()

A. 标识表结点中首结点的位置

B. 算法实现上的方便

C. 使单链表至少有一个结点

D. 说明单链表是线性表的链式存储实现

正确答案:B

题解:

        带头以后,在实现插入与删除等算法时会方便的多; 

3、下列算法的功能是什么?

/*L是无头节点单链表*/
LinkList Demo(LinkList L)
{ListNode *Q,*P;if(L&&L->next){Q=L;    L=L->next;P=L;while(P->next)P=P->next;p->next=Q;}return L;
}

A. 遍历链表

B. 链表深拷贝

C. 链表反转

D. 单链表转变为循环链表

正确答案:D

题解:

        我们发现Q存的是第一个结点的位置,while循环是找最后一个结点,并存入P中,最后将P的next指向Q完成首尾相连;

4、表达式3*2^(4+2*2-6*3)-5求值过程中当扫描到6时,对象栈和运算符栈为(),其中^为乘幂

A. 3,2,4,1,1;(*^(+*-

B. 3,2,8;(*^-

C. 3,2,4,2,2;(*^(-

D. 3,2,8;*^(-

正确答案:D

题解:

         此题考察利用栈将中缀表达式转后缀表达式,具体规则是分别使用两个栈,一个为数据栈,一个为运算符栈,遍历中缀表达式,遇到数字则将数字入数据栈,遇到运算符有三种情况,若运算符栈为空,则入栈;若运算符栈不为空且当前运算符大于栈顶运算符,则直接入栈,若运算符栈不为空且当前运算符小于等于运算符栈顶符号,则取出数据栈顶两个数据用运算符栈顶的运算符进行计算,然后将结果继续入栈;

5、假设以数组A[60]存放循环队列的元素,其头指针是front=47,当前队列有50个元素,则队列的尾指针值为()

A. 3

B. 37

C. 97

D. 50

正确答案:B

题解:

         (47 + 50) % 60 = 37;

6、一棵完全二叉树第六层有9个叶结点(根为第一层),则结点个数最多有()

A. 112

B. 111

C. 107

D. 109

正确答案:D

题解:

         首先我们要清楚二叉树的两个特性,第 n 层的结点个数2^(n - 1),满二叉树 n 层结点的总数为2^n - 1;我们首先算出第6层结点个数2^(6 - 1) = 32;而第六层只有9个结点,因此必然存在第七层;我们算出7层总共结点数位2^7 - 1 = 128;然后减去9 * 2;就是完全二叉树的最多节点个数;

7、有权值分别为11,8,6,2,5的叶子结点生成一棵哈夫曼树,它的带权路径长度为()

A. 24

B. 71

C. 48

D. 53

正确答案:B

题解:

         我们首先要会画出我们的哈夫曼树,画出如下图所示;

 

8、已知小根堆为8,15,10,21,34,16,12,删除关键字8之后需重建堆,最后的叶子节点为()

A. 34

B. 21

C. 16

D. 12

正确答案:C

题解:

         具体过程如下图所示;

 

9、将10个元素散列到100000个单元的哈希表中,则()产生冲突

A. 一定会

B. 一定不会

C. 仍可能会

正确答案:C

题解:

         哈希函数只能尽量减少冲突,无法避免冲突;

10、下列排序算法中,元素的移动次数与关键字的初始排列次序无关的是 () 。

A. 直接插入排序

B. 起泡排序

C. 基数排序

D. 快速排序

正确答案:C

题解:

         基数排序元素移动次数与其实次序无关,只与即最大数据的权重位数有关;

四、编程题题解

1、年终奖

思路:采用动态规划的思路,我们定义dp[i][j]为以 i 行 j 列结尾的位置最大价值;不难推出该最大价值为dp[i][j] = max(dp[i - 1][j], dp[i][j - 1]) + 当前格子价值;

class Bonus 
{
public:int getMost(vector<vector<int> > board) {int m = board.size();int n = board[0].size();vector<vector<int>> dp(m + 1, vector<int>(n + 1, 0));for(int i = 1; i <= m; i++)for(int j = 1; j <= n; j++)dp[i][j] = max(dp[i - 1][j], dp[i][j - 1]) + board[i - 1][j - 1];return dp[m][n];}
};

2、迷宫问题

思路:经典的一道DFS题目,我们标记每个位置是否走过,到终点时记录并更新最短路径;

#include <iostream>
#include <type_traits>
#include <vector>
using namespace std;vector<vector<int>> maze, curpath, bestpath;
vector<vector<bool>> is_arrive;
int row, col;void get_road(int x, int y)
{is_arrive[x][y] = true;curpath.push_back({x, y});// 到达终点if(x == row - 1 && y == col - 1){if(bestpath.empty())bestpath = curpath;elseif(curpath.size() < bestpath.size())bestpath = curpath;}// 开始移动探测 右、下、左、上if(y + 1 < col && is_arrive[x][y + 1] == false && maze[x][y + 1] == 0)get_road(x, y + 1);if(x + 1 < row && is_arrive[x + 1][y] == false && maze[x  + 1][y] == 0)get_road(x + 1, y);if(y - 1 >= 0 && is_arrive[x][y - 1] == false && maze[x][y - 1] == 0)get_road(x, y - 1);if(x - 1 >= 0 && is_arrive[x - 1][y] == false && maze[x - 1][y] == 0)get_road(x - 1, y);// 回溯is_arrive[x][y] = false;curpath.pop_back();
}int main()
{cin >> row >> col;// 初始化maze.resize(row, vector<int>(col, 0));is_arrive.resize(row, vector<bool>(col, false));for(int i = 0; i < row; i++)for(int j = 0; j < col; j++)cin >> maze[i][j];get_road(0, 0);for(int i = 0; i < bestpath.size(); i++)cout << "(" << bestpath[i][0] << "," << bestpath[i][1] << ")" << endl;return 0;
}

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

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

相关文章

[虚幻引擎 MongoDB Client 插件说明] DTMongoDB MongoDB数据库连接插件,UE蓝图可以操作MongoDB数据库增删改查。

本插件可以在UE里面使用蓝图操作MongoDB数据库&#xff0c; 对数据库进行查询&#xff0c;删除&#xff0c;插入&#xff0c;替换&#xff0c;更新操作。插件下载地址在文章最后。 1. 节点说明 DT MongoDB | Client Create MongoDB Client - 创建客户端对象 创建一个 MongoDB 客…

【ONE·Linux || 基础IO(二)】

总言 文件系统与动静态库相关介绍。 文章目录 总言2、文件系统2.1、背景知识2.2、磁盘管理2.2.1、磁盘文件系统图2.2.2、inode与文件名 2.3、软硬链接 3、动静态库3.1、站在编写库的人的角度&#xff1a;如何写一个库&#xff1f;3.1.1、静态库制作3.1.3、动态库制作 3.2、站在…

AI编程工具Copilot与Codeium的实测对比

csdn原创谢绝转载 简介 现在没有AI编程工具&#xff0c;效率会打一个折扣&#xff0c;如果还没有&#xff0c;赶紧装起来&#xff0e; GitHub Copilot是OpenAi与github等共同开发的的AI辅助编程工具&#xff0c;基于ChatGPT驱动&#xff0c;功能强大&#xff0c;这个没人怀疑…

服务器中了360后缀勒索病毒怎么解决,360后缀勒索病毒解密数据恢复

某医药公司是一家小型企业&#xff0c;拥有自己的服务器存储重要数据和文件。某天早上&#xff0c;IT管理员发现企业服务器中了360后缀的勒索病毒&#xff0c;所有数据文件都被加密了。这个病毒的入侵让公司业务受到严重影响&#xff0c;企业立即启动了勒索病毒解密数据恢复的措…

机器学习笔记 - YOLO-NAS 最高效的目标检测算法之一

一、YOLO-NAS概述 YOLO(You Only Look Once)是一种对象检测算法,它使用深度神经网络模型,特别是卷积神经网络,来实时检测和分类对象。该算法首次在 2016 年由 Joseph Redmon、Santosh Divvala、Ross Girshick 和 Ali Farhadi 发表的论文《You Only Look Once: Unified, Re…

Stable Diffusion - Stable Diffusion WebUI 支持 SDXL 1.0 模型的环境配置

欢迎关注我的CSDN&#xff1a;https://spike.blog.csdn.net/ 本文地址&#xff1a;https://spike.blog.csdn.net/article/details/132056980 SDXL 1.0 版本 是 Stable Diffusion 的最新版本&#xff0c;是基于潜在扩散模型的文本到图像生成技术&#xff0c;能够根据输入的任何文…

单片机复位电路分析

来分析一下这个电路&#xff1a; 首先这里面有电容&#xff0c;所以是一个动态电路。哈哈哈 假设左上角的电压源是5V的代号为VOLT。 可以知道电容capacitor C1左边的电压也是5V&#xff0c;电容中间隔着一个绝缘体&#xff0c;所以不导电&#xff0c; 这个时候电流无法通过…

利用XSS在线平台获取用户cookie

//XSS弹窗&#xff1a; <script>alert("xss")</script> XSS漏洞&#xff1a; //XSS弹窗&#xff1a; <script>alert("xss")</script> //XSS在线平台&#xff1a; <ScRipT sRc//7ix7kigpovxdbtd32fuspgffmtmufo3wwzgnzaltddewtb…

TS协议之PMT(节目映射表)

TS协议之PAT&#xff08;节目关联表&#xff09; 1.概要 PMT&#xff1a;节目映射表&#xff0c;与PAT成对出现&#xff0c;包含了该节目下所有的节目元素。 PMT数据结构如下&#xff1a; 字段分析&#xff1a; 字段字段描述表id标识一个TS PSI分段的内容是节目关联分段&am…

MacOS上配置docker国内镜像仓库地址

背景 docker官方镜像仓库网速较差&#xff0c;我们需要设置国内镜像服务 我的MacOS docker版本如下 设置docker国内镜像仓库地址 点击Settings点击Docker Engine修改配置文件&#xff0c;添加registry-mirrors {"builder": {"gc": {"defaultKeepS…

Java实现数据库表中的七种连接【Mysql】

Java实现数据库表中的七种连接【Mysql】 前言版权推荐Java实现数据库表中的七种连接左外连接右外连接其他连接 附录七种连接SQL测试Java测试转换方法类 Cla1类 Cla2类Cla3 最后 前言 2023-8-4 16:51:42 以下内容源自《【Mysql】》 仅供学习交流使用 版权 禁止其他平台发布时…

docker配置远程连接端口

配置docker 配置远程连接端口 vi /lib/systemd/system/docker.servicesystemctl daemon-reload && systemctl restart docker firewall-cmd --zonepublic --add-port2375/tcp --permanenthttp://node2:2375/version

pycharm——漏斗图

import pyecharts.options as opts from pyecharts.charts import Funnel""" Gallery 使用 pyecharts 1.1.0 参考地址: https://echarts.apache.org/examples/editor.html?cfunnel目前无法实现的功能:1、暂时无法对漏斗图的长宽等范围操作进行修改 ""…

锂电池充电/保护IC :TP4056 1A线性锂离子电池充电器(DW01A /FS8205A)

1. TP4056 概述 TP4056是一款性能优异的单节锂离子电池恒流/恒压线性充电器。TP4056采用ESOP8封装配合较少的外围原件使其非常适用于便携式产品&#xff0c;并且适合给USB电源以及适配器电源供电。 基于特殊的内部MOSFET架构以及防倒充电路&#xff0c;TP4056不需要外接检测电…

【BASH】回顾与知识点梳理(七)

【BASH】回顾与知识点梳理 七 七. 前六章知识点总结及练习7.1 总结7.2 练习 该系列目录 --> 【BASH】回顾与知识点梳理&#xff08;目录&#xff09; 七. 前六章知识点总结及练习 7.1 总结 由于核心在内存中是受保护的区块&#xff0c;因此我们必须要透过『 Shell 』将我…

大数据课程H1——TELECOM的电信流量项目架构

文章作者邮箱&#xff1a;yugongshiyesina.cn 地址&#xff1a;广东惠州 ▲ 本章节目的 ⚪ 了解TELECOM项目的架构和环境配置&#xff1b; ⚪ 了解TELECOM项目的数据字典&#xff1b; 一、简介 1. 概述 1. 当用户通过网络设备(手机、平板电脑、笔记本电脑等)进…

JavaScript闭包和this

目录 JavaScript闭包和this 1 闭包 1.1 变量作用域 1&#xff09;函数内部可以读取全局变量 2&#xff09;函数外部无法读取函数内部的局部变量 1.2 读取函数内部的局部变量 1&#xff09;在函数内部再定义一个函数 2&#xff09;为外部程序提供访问函数局部变量的入口 1.3…

【CSS】ios上fixed固定定位的input输入框兼容问题

需求 &#xff1a; 实现一个简单的需求&#xff0c;上方是搜索框并且固定顶部&#xff0c;下方是滚动的内容list 问题 : 若如图上方使用固定定位, 下方用scroll-view, 在安卓上是没有问题的, 但是发现ios上会出现兼容问题 : 问题1: 当content list滚动到中间时再去搜索, 展…

c语言每日一练(1)

前言&#xff1a; 每日一练系列&#xff0c;每一期都包含5道选择题&#xff0c;2道编程题&#xff0c;博主会尽可能详细地进行讲解&#xff0c;令初学者也能听的清晰。每日一练系列会持续更新&#xff0c;暑假时三天之内必有一更&#xff0c;到了开学之后&#xff0c;将看学业情…

你值得拥有——流星雨下的告白(Python实现)

目录 1 前言 2 霍金说移民外太空 3 浪漫的流星雨展示 4 Python代码 1 前言 我们先给个小故事&#xff0c;提一下大家兴趣&#xff1b;然后我给出论据&#xff0c;得出结论。最后再浪漫的流星雨表白代码奉上&#xff0c;还有我自创的一首诗。开始啦&#xff1a; 2 霍金说…