《蓝桥杯算法入门》(C/C++、Java、Python三个版本)24年10月出版
推荐:《算法竞赛》,算法竞赛大全书,网购:京东 天猫 当当
文章目录
- 《蓝桥杯算法入门》内容简介
- 本书读者对象
- 作者简介
- 联系与交流
- 《蓝桥杯算法入门 C/C++》版目录
- 《蓝桥杯算法入门 Java》版目录
- 《蓝桥杯算法入门 Python》版目录
《蓝桥杯算法入门》内容简介
本书是蓝桥杯大赛软件类的入门教程(C/C++、Java、Python;研究生组、大学A组、大学B组、大学C组)。对入门阶段涉及到的算法、数据结构进行了详尽的理论解析;用大量真题帮助读者巩固知识点的应用;代码简洁精要可作为比赛模板;文字明快清晰,实现了较好的易读性。
本书详解了蓝桥杯软件赛入门阶段的必考、核心知识点:填空题、模拟题、数据结构、基本算法、搜索、动态规划、数学、图论。
对应蓝桥杯大赛软件类的三种语言,本书分三个版本出版:
《蓝桥杯算法入门C/C++》,2024.10.15网售
《蓝桥杯算法入门Java》,2024.10.25网售
《蓝桥杯算法入门Python》,2024.10.25网售
目前出版的算法竞赛书籍,绝大部分是用C/C++语言写的,极少有其他语言的版本。本书的Java和Python版本,填补了这一空白。
本书读者对象
这是一本“算法入门”书,写给“正在学或刚学过编程语言,但是数据结构、算法零基础”的初学者。适合蓝桥杯大赛软件类研究生组、大学A组、大学B组、大学C组的备赛学习。
本书的读者符合这样的画像:刚学过编程语言,C/C++、Java、Python这三种语言任何一个都行;有基本的编码能力,语法比较熟悉;编过一些代码,但仍然不熟练;不懂数据结构和算法,遇到较难的问题没有思路。
这位勤奋的读者有以下目标:
(1)数据结构和算法入门,建立计算思维。
(2)大量编码,提高编码能力。
(3)参加蓝桥杯大赛并获奖。
如果读者准备参加蓝桥杯全国软件和信息技术专业人才大赛(软件类),看这本书正合适,因为题目大多是蓝桥杯大赛软件类的真题,并且按照蓝桥杯大赛的要求进行了详细的解析。
本书也适合用于准备其他算法竞赛,因为所有的算法竞赛的考点都是相通的。例如全国青少年信息学奥林匹克竞赛(NOI)、国际大学生程序设计竞赛(ICPC)、中国大学生程序设计竞赛(CCPC)、中国高校计算机大赛-团体程序设计天梯赛等。
用一句话概括本书的作用:通过本教材学习,帮助读者从一名蓝桥杯、算法竞赛的小白,到掌握算法知识、建立算法思维、提高代码能力,开始成长为一名专业的计算机编程人才。
作者简介
本书的两位作者罗勇军、杨建国,都是华东理工大学的算法竞赛教练,十多年来一直指导学生参加世界大学生程序设计竞赛ICPC、中国大学生程序设计竞赛CCPC、蓝桥杯大赛,成绩优异,曾两次带队参加ICPC世界总决赛。
本书作者罗勇军曾经出版过《算法竞赛入门到进阶》、《算法竞赛》、《程序设计竞赛专题挑战教程》三本算法竞赛教材,读者可作为参考。
《算法竞赛入门到进阶》:精选了经典的初、中级知识点,适合用于算法课程的教学。
《算法竞赛》:算法大全,覆盖了初、中、高级算法知识点,对每个知识点都提供了详尽的理论说明、经典题解析、模板代码,可伴随整个算法竞赛的学习过程,这本书得到很多读者的喜爱,《蓝桥杯算法入门》中介绍的知识点在这本书中有更详细的解释。
《程序设计竞赛专题挑战教程》:蓝桥杯大赛官方备赛书,介绍了常见的蓝桥杯初、中级知识点。
与这三本书相比,《蓝桥杯算法入门》更适合算法零基础的参赛者阅读,更适合入门,是一本真正的入门书。
联系与交流
联系作者罗勇军,加微信:13916333036。
算法竞赛QQ交流群:1群 930175362、2群 649382035、3群929486294、4群574382408、5群865755570。
《蓝桥杯算法入门 C/C++》版目录

第1章 蓝桥杯大赛软件类概述
1.1 蓝桥杯软件赛参赛规则
1.2 蓝桥杯软件赛题型介绍
1.3 蓝桥杯软件赛判题
1.4 蓝桥杯软件赛知识点
1.5 备赛计划
第2章 杂题和填空题
2.1 杂题和编程能力
2.2 输入输出
2.3 杂题例题
2.4 填空题概述
2.5 填空题例题
第3章 数据结构基础
3.1 数组与高精度
3.2 STL概述
3.2.1 String库
3.2.2 迭代器
3.2.3 容器概述
3.2.4 vector
3.2.5 算法函数概述
3.2.6 set和map
3.3 链表
3.4 队列
3.5 优先队列
3.6 栈
3.7 二叉树
3.8 并查集
3.9 扩展学习
第4章 排序和排列
4.1 十大排序算法
4.1.1 选择排序
4.1.2 冒泡排序
4.1.3 插入排序
4.1.4 希尔排序
4.1.5 计数排序
4.1.6 桶排序
4.1.7 基数排序
4.1.8 归并排序
4.1.9 快速排序
4.1.10 堆排序
4.2 排序函数
4.3 排列和组合
第5章 基本算法
5.1 算法复杂度
5.2 前缀和
5.3 差分
5.4 二分
5.5 贪心
5.6 扩展学习
第6章 搜索
6.1 DFS代码框架
6.2 DFS常见应用
6.3 DFS剪枝
6.4 DFS例题
6.5 BFS基本代码
6.6 BFS与最短路径
6.7 BFS判重
6.8 例题
6.9 扩展学习
第7章 数学
7.1 模运算
7.2 快速幂
7.3 素数
7.4 GCD和LCM
7.5 扩展学习
第8章 动态规划
8.1 动态规划概念
8.2 动态规划的两种编码方法
8.3 DP设计基础
8.4 DP背包
8.4.1 0/1背包
8.4.2 完全背包
8.4.3 分组背包
8.4.4 背包相关问题
8.5 DP例题
8.6 扩展学习
第9章 图论
9.1 图的存储
9.2 最短路算法
9.2.1 Floyd
9.2.2 Bellman-ford
9.2.3 Dijkstra
9.3 最小生成树
9.3.1 Prim算法
9.3.2 Kruskal算法
9.4 扩展学习
《蓝桥杯算法入门 Java》版目录

第1章 蓝桥杯大赛软件类概述
1.1 蓝桥杯软件赛参赛规则
1.2 蓝桥杯软件赛题型介绍
1.3 蓝桥杯软件赛判题
1.4 蓝桥杯软件赛知识点
1.5 备赛计划
第2章 杂题和填空题
2.1 杂题和编程能力
2.2 杂题例题
2.3 填空题概述
2.4 填空题例题
第3章 数据结构基础
3.1 Java常用功能
3.1.1 String
3.1.2 BigInteger
3.1.3 日期类
3.1.4 Set和Map
3.2 数组
3.3 链表
3.4 队列
3.5 优先队列
3.6 栈
3.7 二叉树
3.8 并查集
3.9 扩展学习
第4章 排序和排列
4.1 十大排序算法
4.1.1 选择排序
4.1.2 冒泡排序
4.1.3 插入排序
4.1.4 希尔排序
4.1.5 计数排序
4.1.6 桶排序
4.1.7 基数排序
4.1.8 归并排序
4.1.9 快速排序
4.1.10 堆排序
4.2 排序函数
4.3 排列和组合
第5章 基本算法
5.1 算法复杂度
5.2 前缀和
5.3 差分
5.4 二分
5.5 贪心
5.6 扩展学习
第6章 搜索
6.1 DFS代码框架
6.2 DFS常见应用
6.3 DFS剪枝
6.4 DFS例题
6.5 BFS基本代码
6.6 BFS与最短路径
6.7 BFS判重
6.8 例题
6.9 扩展学习
第7章 数学
7.1 模运算
7.2 快速幂
7.3 素数
7.4 GCD和LCM
7.5 扩展学习
第8章 动态规划
8.1 动态规划概念
8.2 动态规划的两种编码方法
8.3 DP设计基础
8.4 DP背包
8.4.1 0/1背包
8.4.2 完全背包
8.4.3 分组背包
8.4.4 背包相关问题
8.5 DP例题
8.6 扩展学习
第9章 图论
9.1 图的存储
9.2 最短路算法
9.2.1 Floyd
9.2.2 Bellman-ford
9.2.3 Dijkstra
9.3 最小生成树
9.3.1 Prim算法
9.3.2 Kruskal算法
9.4 扩展学习
《蓝桥杯算法入门 Python》版目录

第1章 蓝桥杯大赛软件类概述
1.1 蓝桥杯软件赛参赛规则
1.2 蓝桥杯软件赛题型介绍
1.3 蓝桥杯软件赛判题
1.4 蓝桥杯软件赛知识点
1.5 备赛计划
第2章 杂题和填空题
2.1 杂题和编程能力
2.2 杂题例题
2.3 填空题概述
2.4 填空题例题
第3章 Python语言和数据结构基础
3.1 Python常用功能
3.1.1 输入和输出
3.1.2 字符串
3.1.3 日期库
3.1.4 set和字典去重
3.2 列表与数组
3.3 链表
3.4 队列
3.5 优先队列
3.6 栈
3.7 二叉树
3.8 并查集
3.9 扩展学习
第4章 排序和排列
4.1 十大排序算法
4.1.1 选择排序
4.1.2 冒泡排序
4.1.3 插入排序
4.1.4 希尔排序
4.1.5 计数排序
4.1.6 桶排序
4.1.7 基数排序
4.1.8 归并排序
4.1.9 快速排序
4.1.10 堆排序
4.2 排序函数
4.3 排列和组合
第5章 基本算法
5.1 算法复杂度
5.2 前缀和
5.3 差分
5.4 二分
5.5 贪心
5.6 扩展学习
第6章 搜索
6.1 DFS代码框架
6.2 DFS常见应用
6.3 DFS剪枝
6.4 DFS例题
6.5 BFS基本代码
6.6 BFS与最短路径
6.7 BFS判重
6.8 例题
6.9 扩展学习
第7章 数学
7.1 模运算
7.2 快速幂
7.3 素数
7.4 GCD和LCM
7.5 扩展学习
第8章 动态规划
8.1 动态规划概念
8.2 动态规划的两种编码方法
8.3 DP设计基础
8.4 DP背包
8.4.1 0/1背包
8.4.2 完全背包
8.4.3 分组背包
8.4.4 背包相关问题
8.5 DP例题
8.6 扩展学习
第9章 图论
9.1 图的存储
9.2 最短路算法
9.2.1 Floyd
9.2.2 Bellman-ford
9.2.3 Dijkstra
9.3 最小生成树
9.3.1 Prim算法
9.3.2 Kruskal算法
9.4 扩展学习
相关文章:

《蓝桥杯算法入门》(C/C++、Java、Python三个版本)24年10月出版
推荐:《算法竞赛》,算法竞赛大全书,网购:京东 天猫 当当 文章目录 《蓝桥杯算法入门》内容简介本书读者对象作者简介联系与交流《蓝桥杯算法入门 C/C》版目录 《蓝桥杯算法入门 Java》版目录 《蓝桥杯算法入门 Python》版目录 …...

Soar项目中添加一条新的SQL审核规则示例
soar是一个开源的SQL规则审核工具,是一个go语言项目,可以直接编译构建成一个可执行程序,而且是一个命令行工具,我们可以利用archey来调用soar进行sql规则审核以及sql的分析,包括执行计划的查看及sql建议等。 soar中已…...

RISC-V开发 linux下GCC编译自定义指令流程笔记
第一步:利用GCC提供了内嵌汇编的功能可以在C代码中直接内嵌汇编语言 第二步:利用RSIC-V的中的.insn模板进行自定义指令的插入 第三步:RISC-V开发环境的搭建 C语言插入汇编 GCC提供了内嵌汇编的功能可以在C代码中直接内嵌汇编语言语句方便了…...
java代码是如何与数据库通信的?
Java代码与数据库通信的过程主要通过Java Database Connectivity(JDBC)来实现。JDBC是Java与数据库之间的标准接口,提供了用于执行SQL语句和处理数据库结果的API。以下是Java代码与数据库通信的详细步骤: 一、导入JDBC库 在Java…...

gateway--网关
在微服务架构中,Gateway(网关)是一个至关重要的组件,它扮演着多种关键角色,包括路由、负载均衡、安全控制、监控和日志记录等。 Gateway网关的作用 统一访问入口: Gateway作为微服务的统一入口,…...

北京数字孪生工业互联网可视化技术,赋能新型工业化智能制造工厂
随着北京数字孪生工业互联网可视化技术的深入应用,新型工业化智能制造工厂正逐步迈向智能化、高效化的全新阶段。这项技术不仅实现了物理工厂与数字世界的精准映射,更通过大数据分析、人工智能算法等先进手段,为生产流程优化、资源配置合理化…...

土地规划与区域经济发展:筑基均衡未来的战略经纬
在新时代背景下,土地规划不仅是空间布局的艺术,更是推动区域经济均衡发展的关键引擎。土地资源的合理配置对于激发区域潜能、促进经济结构优化有着重要意义。本文将深入剖析土地规划如何成为促进区域经济均衡发展的强大动力。 一、土地规划与区域经济的…...
wsl(2) -- ubuntu24.04配置
1. 常用脚本及别名配置 修改的文件内容参考另一篇文章常用bash脚本。 修改~/.bashrc,在文件末尾追加以下内容。 # Add by user export MYTOOLS$HOME/tools export MYBINS$HOME/bin # 系统中其他地方已经添加过了,暂不清楚是哪里添加的 #export PATH$M…...
python快速搭建https服务器
本文介绍了在ubuntu操作系统上搭建https服务器的过程 在一台连接到网络的主机上搭建https服务器,假设该主机的ip地址为:10.98.69.174 创建证书example.crt和私钥example.key openssl req -newkey rsa:2048 -nodes -keyout example.key -x509 -days 365…...

网络原理3-应用层(HTTP/HTTPS)
目录 DNSHTTP/HTTPSHTTP协议报文HTTP的方法请求报头、响应报头(header)状态码构造HTTP请求HTTPS 应用层是我们日常开发中最常用的一层,因为其他层:传输层、网络层、数据链路层、物理层这些都是操作系统和硬件、驱动已经实现好的,我们只能使用…...

JVM(HotSpot):堆空间(Heap)以及常用相关工具介绍
文章目录 一、内存结构图二、堆的定义三、堆内存溢出四、堆内存排查工具 一、内存结构图 二、堆的定义 1、通过new关键字创建的对象,都会放到堆空间中。 2、它是线程共享的,堆中的对象都要考虑线程安全问题。 那有同学肯定会问,方法内通过n…...

【Python语言初识(六)】
一、网络编程入门 1.1、TCP/IP模型 实现网络通信的基础是网络通信协议,这些协议通常是由互联网工程任务组 (IETF)制定的。所谓“协议”就是通信计算机双方必须共同遵从的一组约定,例如怎样建立连接、怎样互相识别等,…...

使用root账号ssh登录虚拟机ubuntu
在C:\Users\Administrator\.ssh目录下的config中,添加ubuntu会在根目录中,建立一个root文件夹。在该文件夹中建一个.ssh目录。像免密登录ubuntu设置中,把公钥考进去。在vscode中打开文件夹中选择要打开的文件夹,就可以不需要在ubu…...

五子棋双人对战项目(1)——WebSocket介绍
目录 一、项目介绍 如何实现实时同步对局? 二、WebSocket 1、什么是WebSocket? 2、WebSocket的报文格式 opcode payload len payload data 3、WebSocket握手过程 4、WebSocket代码的简单编写 三、WebSocket 和 HTTP的关系 1、相同点…...
rabbitMq------信道管理模块
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言信道管理的字段申明/删除交换机申明/删除队列绑定/解绑消息的发布消息确认订阅队列取消订阅信道内存管理类打开信道关闭信道/获取指定信道 总结 前言 信道是在…...

如何只用 CSS 制作网格?
来源:how-to-make-a-grid-like-graph-paper-grid-with-just-css 在看 用于打印到纸张的 CSS 这篇文章时,对其中的网格比较好奇,作者提供了 stackoverflow 的链接,就看到了来源的这个问题和众多回复。本文从里面挑选了一些个人比较…...

Linux安装RabbitMQ安装
1. RabbitMQ介绍 1.1 RabbitMQ关键特性 异步消息传递:允许应用程序在不直接进行网络调用的情况下交换消息。 可靠性:支持消息持久化,确保消息不会在系统故障时丢失。 灵活的路由:支持多种路由选项,包括直接、主题、…...
SpringBoot驱动的社区医院信息管理平台
1系统概述 1.1 研究背景 随着计算机技术的发展以及计算机网络的逐渐普及,互联网成为人们查找信息的重要场所,二十一世纪是信息的时代,所以信息的管理显得特别重要。因此,使用计算机来管理社区医院信息平台的相关信息成为必然。开发…...
MyBatis-Plus如何分页查询?
MyBatis-Plus提供了一种简单而强大的分页查询功能,可以通过使用Page对象和Mapper接口中的方法来实现。以下是分页查询的基本步骤: 添加分页插件依赖 确保你的项目中已经添加了MyBatis-Plus的分页插件依赖。 <dependency><groupId>com.bao…...

云原生之容器编排实践-OpenEuler23.09离线安装Kubernetes与KubeSphere
背景 有互联网的日子确实美好,不过有时候,仅仅是有时候,你可能会面临离线部署 Kubernetes 与 KubeSphere 集群的要求。。 我们借助由青云开源的容器平台, KubeSphere 来进行可视化的服务部署。 KubeSphere 是在 Kubernetes 之上…...

【人工智能】神经网络的优化器optimizer(二):Adagrad自适应学习率优化器
一.自适应梯度算法Adagrad概述 Adagrad(Adaptive Gradient Algorithm)是一种自适应学习率的优化算法,由Duchi等人在2011年提出。其核心思想是针对不同参数自动调整学习率,适合处理稀疏数据和不同参数梯度差异较大的场景。Adagrad通…...
【python异步多线程】异步多线程爬虫代码示例
claude生成的python多线程、异步代码示例,模拟20个网页的爬取,每个网页假设要0.5-2秒完成。 代码 Python多线程爬虫教程 核心概念 多线程:允许程序同时执行多个任务,提高IO密集型任务(如网络请求)的效率…...
实现弹窗随键盘上移居中
实现弹窗随键盘上移的核心思路 在Android中,可以通过监听键盘的显示和隐藏事件,动态调整弹窗的位置。关键点在于获取键盘高度,并计算剩余屏幕空间以重新定位弹窗。 // 在Activity或Fragment中设置键盘监听 val rootView findViewById<V…...

selenium学习实战【Python爬虫】
selenium学习实战【Python爬虫】 文章目录 selenium学习实战【Python爬虫】一、声明二、学习目标三、安装依赖3.1 安装selenium库3.2 安装浏览器驱动3.2.1 查看Edge版本3.2.2 驱动安装 四、代码讲解4.1 配置浏览器4.2 加载更多4.3 寻找内容4.4 完整代码 五、报告文件爬取5.1 提…...

智能分布式爬虫的数据处理流水线优化:基于深度强化学习的数据质量控制
在数字化浪潮席卷全球的今天,数据已成为企业和研究机构的核心资产。智能分布式爬虫作为高效的数据采集工具,在大规模数据获取中发挥着关键作用。然而,传统的数据处理流水线在面对复杂多变的网络环境和海量异构数据时,常出现数据质…...

视觉slam十四讲实践部分记录——ch2、ch3
ch2 一、使用g++编译.cpp为可执行文件并运行(P30) g++ helloSLAM.cpp ./a.out运行 二、使用cmake编译 mkdir build cd build cmake .. makeCMakeCache.txt 文件仍然指向旧的目录。这表明在源代码目录中可能还存在旧的 CMakeCache.txt 文件,或者在构建过程中仍然引用了旧的路…...

人机融合智能 | “人智交互”跨学科新领域
本文系统地提出基于“以人为中心AI(HCAI)”理念的人-人工智能交互(人智交互)这一跨学科新领域及框架,定义人智交互领域的理念、基本理论和关键问题、方法、开发流程和参与团队等,阐述提出人智交互新领域的意义。然后,提出人智交互研究的三种新范式取向以及它们的意义。最后,总结…...

pikachu靶场通关笔记19 SQL注入02-字符型注入(GET)
目录 一、SQL注入 二、字符型SQL注入 三、字符型注入与数字型注入 四、源码分析 五、渗透实战 1、渗透准备 2、SQL注入探测 (1)输入单引号 (2)万能注入语句 3、获取回显列orderby 4、获取数据库名database 5、获取表名…...
鸿蒙(HarmonyOS5)实现跳一跳小游戏
下面我将介绍如何使用鸿蒙的ArkUI框架,实现一个简单的跳一跳小游戏。 1. 项目结构 src/main/ets/ ├── MainAbility │ ├── pages │ │ ├── Index.ets // 主页面 │ │ └── GamePage.ets // 游戏页面 │ └── model │ …...

JDK 17 序列化是怎么回事
如何序列化?其实很简单,就是根据每个类型,用工厂类调用。逐个完成。 没什么漂亮的代码,只有有效、稳定的代码。 代码中调用toJson toJson 代码 mapper.writeValueAsString ObjectMapper DefaultSerializerProvider 一堆实…...