备战秋招 | 笔试强训19
目录
一、选择题
二、编程题
三、选择题题解
四、编程题题解
一、选择题
1、二分查找的时间复杂度()
A. O(N*log(N))
B. O(N)
C. O(log(N))
D. O(N^2)
2、有一个单向链表中有一个A、B两个相邻元素,有一个指针p指向元素A,现将一个指针r指向的S元素要插入到A和B之间,该进行操作()
A. p->next=p->next->next
B. r-next=p;p->next=r->next
C. r->next=p->next;p->next=r
D. r=p->next;->next=r->next
E. r->next=p;p->next=r
F. p=p->next->next
3、双向链表中有两个指针域,llink和rlink分别指向前驱和后继,设p指向链表中的一个结点,现要求删去p所指结点,则正确的删除是()(链中结点数大于2,p不是第一个结点)
A. p->llink->rlink:=p->llink; p->llink->rlink:=p->rlink; dispose(p);
B. dispose(p); p->llink->rlink:=p->llink; p->llink->rlink:=p->rlink;
C. p->link->rlink:=p->llink; dispose(p); p->llink->rlink:=p->rlink;
D. 以上A,B,C都不对
4、一个栈的入栈序列是A,B,C,D,E,则栈的不可能输出序列是()
A. EDCBA
B. DECBA
C. DCEAB
D. ABCDE
5、循环队列放在一维数组A[0…M-1]中,end1指向队头元素,end2指向队尾元素的后一个位置。假设队列两端均可进行入队和出队操作,队列中最多能容纳M-1个元素。初 始时为空,下列判断队空和队满的条件中,正确的是()
A. 队空:end1==end2;队满:end1==(end2+1) mod M
B. 队空:end1==end2;队满:end2==(end1+1) mod (M-1)
C. 队空:end2==(end1+1) mod M;队满:end1==(end2+1) mod M
D. 队空:end1==(end2+1) mod M;队满:end2==(end1+1) mod (M-1)
6、已知二叉树后序遍历序列是bfegcda,中序遍历序列是badefcg,它的前序遍历序列是()
A. abcdefg
B. abdcefg
C. adbcfeg
D. abecdfg
7、某二叉树共有 399 个结点,其中有 199 个度为 2 的结点,则该二叉树中的叶子结点数为()
A. 不存在这样的二叉树
B. 200
C. 198
D. 199
8、设有一组记录的关键字为{19,14,23,1,68,20,84,27,55,11,10,79},用链地址法构造哈希表,哈希函数为H(key)=key MOD 13,哈希地址为1的链中有()个记录
A. 1
B. 2
C. 3
D. 4
9、以下哪种排序是不稳定排序()
A. 冒泡
B. 插入排序
C. 归并排序
D. 快速排序
二、编程题
1、汽水瓶 题目链接
2、查找两个字符串a,b中的最长公共子串 题目链接

三、选择题题解
1、二分查找的时间复杂度()
A. O(N*log(N))
B. O(N)
C. O(log(N))
D. O(N^2)
正确答案:C
题解:
基本概念题;
2、有一个单向链表中有一个A、B两个相邻元素,有一个指针p指向元素A,现将一个指针r指向的S元素要插入到A和B之间,该进行操作()
A. p->next=p->next->next
B. r-next=p;p->next=r->next
C. r->next=p->next;p->next=r
D. r=p->next;->next=r->next
E. r->next=p;p->next=r
F. p=p->next->next
正确答案: C
题解:
如下图所示,我们要插入一个新的结点;
3、双向链表中有两个指针域,llink和rlink分别指向前驱和后继,设p指向链表中的一个结点,现要求删去p所指结点,则正确的删除是()(链中结点数大于2,p不是第一个结点)
A. p->llink->rlink:=p->llink; p->llink->rlink:=p->rlink; dispose(p);
B. dispose(p); p->llink->rlink:=p->llink; p->llink->rlink:=p->rlink;
C. p->link->rlink:=p->llink; dispose(p); p->llink->rlink:=p->rlink;
D. 以上A,B,C都不对
正确答案;D
题解:
正确代码我们可以结合下图来看;

4、一个栈的入栈序列是A,B,C,D,E,则栈的不可能输出序列是()
A. EDCBA
B. DECBA
C. DCEAB
D. ABCDE
正确答案:C
题解:
C选项,当我们第一个出D时,代表ABC已经入栈,此时我们出一个C,栈中还有AB,我们再入一个E,然后再出一个E,接着栈顶的元素应该是B而不是A,故C错误;
5、循环队列放在一维数组A[0…M-1]中,end1指向队头元素,end2指向队尾元素的后一个位置。假设队列两端均可进行入队和出队操作,队列中最多能容纳M-1个元素。初 始时为空,下列判断队空和队满的条件中,正确的是()
A. 队空:end1==end2;队满:end1==(end2+1) mod M
B. 队空:end1==end2;队满:end2==(end1+1) mod (M-1)
C. 队空:end2==(end1+1) mod M;队满:end1==(end2+1) mod M
D. 队空:end1==(end2+1) mod M;队满:end2==(end1+1) mod (M-1)
正确答案:A
题解:
两个下标在相同位置时为空,队尾+1模上空间大小等于队头等于满;故选A;
6、已知二叉树后序遍历序列是bfegcda,中序遍历序列是badefcg,它的前序遍历序列是()
A. abcdefg
B. abdcefg
C. adbcfeg
D. abecdfg
正确答案:B
题解:
我们每次可通过后序确定一个根,并在中序中分割左右子树;具体分析如下;

7、某二叉树共有 399 个结点,其中有 199 个度为 2 的结点,则该二叉树中的叶子结点数为()
A. 不存在这样的二叉树
B. 200
C. 198
D. 199
正确答案:A
题解:
公式,n0 = n2 + 1;计算得出200;
8、设有一组记录的关键字为{19,14,23,1,68,20,84,27,55,11,10,79},用链地址法构造哈希表,哈希函数为H(key)=key MOD 13,哈希地址为1的链中有()个记录
A. 1
B. 2
C. 3
D. 4
正确答案:D
题解:
题目即让我们求得上述哪些数据模13等于1;分别为1,14,27,79;故选D;
9、以下哪种排序是不稳定排序()
A. 冒泡
B. 插入排序
C. 归并排序
D. 快速排序
正确答案:D
题解:
快排无法保证排序的稳定性;
四、编程题题解
1、汽水瓶
思路:我们模拟喝汽水的过程,我们创建一个变量记录当前瓶子个数,一个变量记录总共喝了多少瓶;然后模拟喝汽水过程求解;
#include <iostream>
using namespace std;int main()
{int n;while(cin >> n){if(n == 0)break;// 记录当前瓶子个数int botton = n;int water = 0;while(botton >= 3){// 可以兑换汽水数water += botton / 3;// 求得喝完以后的瓶子数botton = botton % 3 + botton / 3;}// 处理特殊情况,借瓶子if(botton == 2)water += 1;cout << water << endl;}return 0;
}
2、查找两个字符串a,b中的最长公共子串
思路:此题建议使用动态规划来做,找到以i-1结尾的str1与str2最大连续字符的个数;

#include <iostream>
#include <string>
#include <vector>
using namespace std;string LComSub(string& str1, string& str2)
{int len1 = str1.size();int len2 = str2.size();// 多开一个位置vector<vector<int>> dp(len1 + 1, vector<int>(len2 + 1, 0));int start = 0;int max = 0;for(int i = 1; i <= len1; i++){for(int j = 1; j <= len2; j++){if(str1[i - 1] == str2[j - 1])dp[i][j] = dp[i - 1][j - 1] + 1;if(dp[i][j] > max){max = dp[i][j];start = i - max;}}}return str1.substr(start, max);
}int main()
{string str1, str2;cin >> str1 >> str2;// 最短字符串放在str1中if(str1.size() > str2.size())str1.swap(str2);cout << LComSub(str1, str2) << endl;
}相关文章:
备战秋招 | 笔试强训19
目录 一、选择题 二、编程题 三、选择题题解 四、编程题题解 一、选择题 1、二分查找的时间复杂度() A. O(N*log(N)) B. O(N) C. O(log(N)) D. O(N^2) 2、有一个单向链表中有一个A、B两个相邻元素,有一个指针p指向元素A,现将…...
第一章 计算机网络概述
第一章 计算机网络概述 1.1 计算机网络在信息时代的作用 1.2 因特网概述 网络分类: 网络:许多计算机连接在一起的的局域网; 互联网:internet许多网络连接在一起; 因特网:Internet 全球最大的互联网&…...
谷粒商城第六天-商品服务之分类管理下的获取三级分类树形列表
目录 一、总述 1.1 前端思路 1.2 后端思路 二、前端部分 2.1 在网页中建好目录及菜单 2.1.1 建好商品目录 2.1.2 建好分类管理菜单 编辑 2.2 编写组件 2.2.1 先完成组件文件的创建 2.2.2 编写组件 2.2.2.1 显示三级分类树形列表 三、后端部分 3.1 编写商品分类…...
【UI自动化测试】Appium+Python+Unittest+HTMLRunner
简介 获取AppPackage和AppActivity 定位UI控件的工具 脚本结构 PageObject分层管理 HTMLTestRunner生成测试报告 启动appium server服务 以python文件模式执行脚本生成测试报告 【B站最通俗易懂】Python接口自动化测试从入门到精通,超详细的进阶教程,看完…...
【限时优惠】红帽openstack管理课程(CL210) 即将开课
课程介绍 通过实验室操作练习,学员将能够深入学习红帽企业 Linux OpenStack 平台各服务的手动安装方法,还将了解 OpenStack 开发社区的未来发展计划。 培训地点: 线下面授:苏州市姑苏区干将东路666号401室; 远程…...
Golang之路---02 基础语法——函数
函数 函数定义 func function_name( [parameter list] ) [return_types] {函数体 }参数解释: func:函数由 func 开始声明function_name:函数名称,函数名和参数列表一起构成了函数签名。[parameter list]:参数列表&a…...
数据结构和算法入门(时间/空间复杂度介绍--java版)
数据结构和算法入门(时间/空间复杂度介绍–java版) write in front 作者: 向大佬学习 专栏: 数据结构(java版) 作者简介:大二学生 希望能学习其同学和大佬的经验! 本篇博客简介&…...
Spring Mvc 文件上传(MultipartFile )—官方原版
一、创建应用程序类 要启动Spring Boot MVC应用程序,首先需要一个启动器。在这个示例中,已经添加了spring-boot-starter thymelaf和spring-boot-starter web作为依赖项。要使用Servlet容器上传文件,您需要注册一个MultipartConfigElement类&…...
【E题】2023年电赛运动目标控制与自动追踪系统方案
系统的设计和制作可以按照以下步骤进行: 设计红色光斑位置控制系统: 选择合适的红色激光笔,并将其固定在一个二维电控云台上。 使用电机和编码器来控制电控云台的水平和垂直运动。 设计一个控制电路,可以通过输入控制信号来控制…...
企业网络安全之零信任和身份认证
零信任并不是一种技术,而是一个安全概念,是一种建立安全战略的理念、方法和框架。 零信任提供了一系列概念和思想,其中心思想是怀疑一切,否定一切,不再以网络边界为限,不能再将内部网络定义为可信任的&…...
【雕爷学编程】MicroPython动手做(28)——物联网之Yeelight 5
知识点:什么是掌控板? 掌控板是一块普及STEAM创客教育、人工智能教育、机器人编程教育的开源智能硬件。它集成ESP-32高性能双核芯片,支持WiFi和蓝牙双模通信,可作为物联网节点,实现物联网应用。同时掌控板上集成了OLED…...
[运维|中间件] 东方通TongWeb使用笔记
参考文献 东方通tongweb部署服务 东方通tongweb部署服务 使用笔记 默认访问地址 http://ip:9060/console/默认用户名密码 TongWeb7.0默认用户名密码:thanos,thanos123.com...
WIZnet W6100-EVB-Pico DHCP 配置教程(三)
前言 在上一章节中我们讲了网络信息配置,那些网络信息的配置都是用户手动的去配置的,为了能跟电脑处于同一网段,且电脑能成功ping通板子,我们不仅要注意子网掩码,对于IP地址主机位和网络位的划分,而且还要注…...
【Linux】Ansible 脚本 playbook 剧本
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 Ansible 脚本 playbook 剧本 playbook 剧本Templates 模块tags 模块Roles 模块在一个 playbook 中使用 roles 的步骤 playbook 剧本 playbooks 本身由以下各部分组成 &#…...
解决 tensorflow 出现的 ImportError: Could not find the DLL(s) ‘msvcp140_1.dll‘. 问题
在安装完tensorflow库后出现 问题详述: ImportError: Could not find the DLL(s) msvcp140_1.dll. TensorFlow requires that these DLLs be installed in a directory that is named in your %PATH% environment variable. You may install these DLLs by downlo…...
百度与AI:历史、投资和监管
来源:猛兽财经 作者:猛兽财经 百度的人工智能在中国具有先发优势 随着ChatGPT的爆火,人工智能重新引起了投资者的注意,然而人工智能并不是突然爆火的,而是全球众多公司在人工智能技术上进行数十年如一日的研发和积累&a…...
Kafka3.0.0版本——Broker(Zookeeper服务端存储的Kafka相关信息)
目录 一、启动zookeeper集群及kafka集群服务启动1.1、先启动三台zookeeper集群服务,再启动三台kafka集群服务1.2、使用PrettyZoo连接zookeeper客户端工具 二、在zookeeper服务端存储的Kafka相关信息 一、启动zookeeper集群及kafka集群服务启动 1.1、先启动三台zook…...
【图论】无向图连通性(tarjan算法)
割边:dfn[u]<low[v] 割点:dfn[u]<low[v] (若为根节点,要有两个v这样的点) 一.知识点: 1.连通: 在图论中,连通性是指一个无向图中的任意两个顶点之间存在路径。如果对于图中的任意两个顶点 u 和 v&…...
Docker安装
Docker实践 yum安装 YUM源可以使用官方YUM源、清华大学开源镜像站配置YUM源,也可以使用阿里云开源镜像站提供的YUM源,建议选择使用阿里云开源镜像站提供的YUM源,原因速度快。 地址: https://developer.aliyun.com/mirror/ 我们安装ce版 …...
06. 计数原理
6. 计数原理 6.1 分类加法计数原理与分步乘法计数原理 分类加法计数原理定义 完成一件事,有 n n n 类办法,在第1类办法中有 m 1 m_1 m1 种不同的方法,在第2类办法中有 m 2 m_2 m2 种不同的方法,…,在第 n n…...
大数据学习栈记——Neo4j的安装与使用
本文介绍图数据库Neofj的安装与使用,操作系统:Ubuntu24.04,Neofj版本:2025.04.0。 Apt安装 Neofj可以进行官网安装:Neo4j Deployment Center - Graph Database & Analytics 我这里安装是添加软件源的方法 最新版…...
Flask RESTful 示例
目录 1. 环境准备2. 安装依赖3. 修改main.py4. 运行应用5. API使用示例获取所有任务获取单个任务创建新任务更新任务删除任务 中文乱码问题: 下面创建一个简单的Flask RESTful API示例。首先,我们需要创建环境,安装必要的依赖,然后…...
边缘计算医疗风险自查APP开发方案
核心目标:在便携设备(智能手表/家用检测仪)部署轻量化疾病预测模型,实现低延迟、隐私安全的实时健康风险评估。 一、技术架构设计 #mermaid-svg-iuNaeeLK2YoFKfao {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg…...
STM32+rt-thread判断是否联网
一、根据NETDEV_FLAG_INTERNET_UP位判断 static bool is_conncected(void) {struct netdev *dev RT_NULL;dev netdev_get_first_by_flags(NETDEV_FLAG_INTERNET_UP);if (dev RT_NULL){printf("wait netdev internet up...");return false;}else{printf("loc…...
【Zephyr 系列 10】实战项目:打造一个蓝牙传感器终端 + 网关系统(完整架构与全栈实现)
🧠关键词:Zephyr、BLE、终端、网关、广播、连接、传感器、数据采集、低功耗、系统集成 📌目标读者:希望基于 Zephyr 构建 BLE 系统架构、实现终端与网关协作、具备产品交付能力的开发者 📊篇幅字数:约 5200 字 ✨ 项目总览 在物联网实际项目中,**“终端 + 网关”**是…...
ios苹果系统,js 滑动屏幕、锚定无效
现象:window.addEventListener监听touch无效,划不动屏幕,但是代码逻辑都有执行到。 scrollIntoView也无效。 原因:这是因为 iOS 的触摸事件处理机制和 touch-action: none 的设置有关。ios有太多得交互动作,从而会影响…...
wpf在image控件上快速显示内存图像
wpf在image控件上快速显示内存图像https://www.cnblogs.com/haodafeng/p/10431387.html 如果你在寻找能够快速在image控件刷新大图像(比如分辨率3000*3000的图像)的办法,尤其是想把内存中的裸数据(只有图像的数据,不包…...
【UE5 C++】通过文件对话框获取选择文件的路径
目录 效果 步骤 源码 效果 步骤 1. 在“xxx.Build.cs”中添加需要使用的模块 ,这里主要使用“DesktopPlatform”模块 2. 添加后闭UE编辑器,右键点击 .uproject 文件,选择 "Generate Visual Studio project files",重…...
使用SSE解决获取状态不一致问题
使用SSE解决获取状态不一致问题 1. 问题描述2. SSE介绍2.1 SSE 的工作原理2.2 SSE 的事件格式规范2.3 SSE与其他技术对比2.4 SSE 的优缺点 3. 实战代码 1. 问题描述 目前做的一个功能是上传多个文件,这个上传文件是整体功能的一部分,文件在上传的过程中…...
在 Visual Studio Code 中使用驭码 CodeRider 提升开发效率:以冒泡排序为例
目录 前言1 插件安装与配置1.1 安装驭码 CodeRider1.2 初始配置建议 2 示例代码:冒泡排序3 驭码 CodeRider 功能详解3.1 功能概览3.2 代码解释功能3.3 自动注释生成3.4 逻辑修改功能3.5 单元测试自动生成3.6 代码优化建议 4 驭码的实际应用建议5 常见问题与解决建议…...
