自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(59)
  • 收藏
  • 关注

原创 Qt项目——天气预报

通过对之前Qt的学习其实我们就已经有一点经验了,做天气预报只需要了解以下内容:stylesheet界面美化Json数据解析HTTP通信自定义控件绘制温度能讲的不重复的也基本上没什么了,其实明白它整个框架,会用常用的控件,不会的就是查手册或者上网查资料 ,剩下的就是多练了,看着代码多敲多写。!!

2025-05-06 20:10:19 837

原创 Qt项目——汽车仪表盘

汽车仪表盘非常的简单,理解绘图事件,会用就能轻而易举的做出来,这期主要是学习QPainter这个控件。这个绘图事件总体来说比较理解,可以根据自己的想象力来画出自己需要的东西,只是审美这种东西每个人都不一样,所以有的人画出来很好看,有的人就很普通。!!

2025-04-21 22:43:25 1025

原创 Qt项目——Tcp网络调试助手服务端与客户端

这期要运用到计算机网络的知识,要搞清楚Tcp协议,学习QTcpServer,学习QTcpClient,学习TextEdit特定位置输入文字颜色学习网络通信相关知识点,复习巩固之前UI控件。1.TCPServer类关于监听,连接,发送,接受的API2.TCPServer在网络通信中常用的信号3.TCPScoket在QT实现Socket常用的API4.TCPScoket在QT实现Socket常用的信号5.EditText的内容读取方法,内容写入方法,在特定行写入特点颜色的方法!!

2025-04-19 15:28:06 966

原创 Qt项目——串口调试助手

这个项目相比记事本来说难度大了很多,实现起来更复杂了,引入了很多个新控件,比如QSerialPort,QTimer、QThread等。相信大家学过c51或者stm32对串口会比较熟悉,再做这个项目之前大家要准备好USB转TTL模块并安装好驱动。在实现这个过程很漫长,其中会出现非常多的bug,我有一个bug找了快两天,查了很久资料才解决,上面每个步骤都是思路其中会有bug,真正编码时还是看我最后的原工程文件的代码,比较完善。当然这个项目是我第一次做有bug也说不准,你们发现可以向我指正。!!

2025-04-15 22:16:20 1044

原创 Qt项目——记事本

这个项目就是搞一个类似于电脑自带的记事本小项目,需要了解信号与槽的原理,了解QFile,QTextStream、QFileDialog、QComboBox等空件。1.支持文本创建,打开,保存,关闭的功能2.UI样式美化3.添加打开快捷键,添加保存快捷4.底部显示行列号及文本字符编码5.Ctrl加鼠标滚轮支持字体放大缩小一定要清楚每个控件的使用方式,控件太多我们不需要死记硬背,不懂的就查官方帮助文档,UI部分要提升熟练度,要回使用信号和槽的机制。!!

2025-04-08 21:17:30 895

原创 Qt开发——问界M9空调

这期我们再来做个简单的Qt项目,这个项目是可调节车能空调温度,开冷风或暖风,还能控制空调出风口方向,代码量挺长的,要搞两个控件文档,准备好相应图片。该控件是可以调整空调的风力档位,主要还是得理解slider控件。

2025-03-16 22:22:28 377 1

原创 Qt开发——HarmonyUI

这次我们一起来简单搞个项目,这个项目是搞一个鸿蒙系统的桌面来玩玩,代码量比较多,要掌握好部分Qt的基础语法。在开始之前我们到网上去找我们想要的APP图片以及背景图片。里面或许很多控件我们还不太熟悉,不过没关系,Qt开发就是多练才能越来越熟练它不像我们学数据结构和算法那样那么烧脑。多拿来看看,多敲代码,它的架构就会搞得很清楚。!!

2025-02-28 16:05:36 749

原创 进阶数据结构——树状数组

核心总结树状数组是一种高效处理前缀和查询和单点更新的数据结构。通过二进制索引和树形结构,将复杂度优化到 O(logn)。学习建议分类刷题:按问题类型集中练习(如动态前缀和、逆序对计数、区间更新)。理解算法原理:掌握树状数组的实现步骤和优化技巧。手写模拟过程:在纸上画出树状数组的结构,模拟操作过程,加深直观理解。通过以上分析,树状数组作为一种高效的数据结构,在算法竞赛和实际应用中具有广泛用途。掌握其核心思想和实现技巧,能够有效提升算法效率。!!

2025-02-14 16:07:16 814

原创 进阶数据结构——离散化

核心总结离散化是一种将连续数据映射到离散值的技术,适用于处理大规模或稀疏数据。通过排序、去重和映射,可以高效实现离散化。学习建议分类刷题:按问题类型集中练习(如区间查询、统计计数、几何问题)。理解算法原理:掌握离散化的实现步骤和优化技巧。手写模拟过程:在纸上模拟离散化的过程,加深直观理解。!!

2025-02-13 14:43:26 1726

原创 进阶数据结构——并查集

1. 核心总结• 并查集的核心是通过树形结构和优化技术实现高效的集合管理。• 高阶问题的突破口通常在于带权并查集或动态并查集。2. 学习建议• 分类刷题:按问题类型集中练习(如连通性问题、动态连通性、分组问题)。• 理解优化技术:掌握路径压缩和按秩合并的原理与实现。• 手写模拟过程:在纸上画出树形结构,加深直观理解。!!

2025-02-12 15:56:39 1161

原创 进阶数据结构——二叉堆

二叉堆的核心是利用完全二叉树和堆性质实现高效的最值操作。高阶问题的突破口通常在于堆的变种(如二项堆、斐波那契堆)或堆的应用场景(如优先队列、Top-K 问题)。

2025-02-10 20:59:56 746

原创 进阶数据结构——单调队列

单调队列的核心是利用单调性快速获取区间最值,适合解决滑动窗口类问题。高阶问题的突破口通常在于维度转换(如二维转一维)或逻辑等价变形。

2025-02-09 18:05:46 1287 1

原创 进阶数据结构——单调栈

单调栈是一种高效的数据结构,适用于解决特定类型的问题。通过维护栈的单调性,可以快速找到元素之间的关系,提升算法效率。!!

2025-02-09 13:43:53 835

原创 进阶数据结构——链式前向星

链式前向星是一种进阶的数据结构,主要用于图的存储。我希望大家先看这个视频(蓝色字体点进去) 不然你很难理解的。在图论中,图的存储方式主要有邻接矩阵和邻接表两种。邻接矩阵虽然建图简单方便,但占内存较大,节点数量稍微大点的题目就难以使用(适合稠密图);而邻接表虽然节省空间,但其指针形式难写易错,且vector形式的读取速度较慢,易导致大数据下的超时(TLE)。针对上述问题,链式前向星作为一种折中的方式应运而生。链式前向星本质上是一种静态链表,它将数据以链表形式连接在一起。

2025-02-07 16:38:46 1177

原创 进阶数据结构——双向循环链表

这一期我们学习双向循环链表。双向循环链表不同于单链表,双向循环链表是一种特殊的数据结构,它结合了双向链表和循环链表的特点。双向循环链表中的每个节点都包含三个部分:数据域(存储数据)、前驱指针(指向前一个节点)和后继指针(指向下一个节点)。此外,链表的头节点和尾节点通过指针相互连接,形成一个闭环。这种结构使得链表可以从任意一个节点开始遍历整个链表。综上所述,双向循环链表是一种功能强大且灵活的数据结构,适用于需要频繁访问链表前后节点的场景。

2025-02-01 19:32:59 963

原创 进阶数据结构——高精度运算

从这期开始我们就开始进入进阶数据结构的学习了。进阶数据结构中的高精度运算分析,主要聚焦于如何在计算机编程中有效处理超出常规数据类型表示范围的极大或极精确数值。高精度运算是指在计算机编程中,对超出常规数据类型(如整型、浮点型)所能表示范围的极大或极精确数值进行的各种数学运算。在标准的计算机编程语言中,内置的整数和浮点数类型有其固定的字节数和精度限制,一旦数字过大或精度过高,就会导致溢出或精度丢失的问题。因此,高精度运算技术应运而生。

2025-01-30 17:26:41 888

原创 基础项目实战——3D赛车(c++)

这一期我们一起学期3d赛车这个项目实战,这个项目比之前的那几个难度高了很多,所以做起来会比较复杂,里面会涉及一些数学思想。这个项目做完了之后非常有意思还是值得一做的。完整工程文件,提取码为1111(蓝色字体可以点进去)

2025-01-27 16:53:35 3680 2

原创 基础项目实战——学生管理系统(c++)

这一期我们来一起学习我们在大学做过的课程设计——学生管理系统,这是一个非常简单且非常值得像我这样的新手独立完成的一个基础项目,用到基础数据结构里的链表来实现,所以指针和链表不太理解的同学先去理解,这样做这个项目会比较顺畅。大家看完之后一定动手做一做,这个项目很容易的做的快的话其实半个几十分钟可以搞定的。

2025-01-25 17:39:03 2525

原创 基础项目——扫雷(c++)

各位小伙伴们,这期我们一起学习出贪吃蛇以外另一个基础的项目——扫雷,这个项目需要我们自己到网站下载一些需要用的库,所以和贪吃蛇比起相对来说要复杂一点,这期涉及到面向对象的知识,还有文件拆分。这个时候我们发现,有太多数字了,这个我们叫它们 magic number,很难看,而且维护起来极其麻烦,所以我们想办法把数字变成常量。它代表了在这张图片中,每个格子的像素大小,是 96。而 GRID_SIZE 呢,则代表显示到窗口的时候,每个格子实际的像素大小。

2025-01-25 16:44:07 1039 1

原创 基础项目实战——贪吃蛇(c++)

各位小伙伴们好久不见,前段时间非常的忙很多事情,其中包括各种实验报告,各种课程设计,各种考试,所以很长一段时间没更新了,今天正好是放假的第一天,我们一起来学习贪吃蛇这个非常经典的项目实战。EMPTY = 0,//没有食物就是空状态为0FOOD = 1,//有食物的状态是1//地图每个格子//判断地图有没有食物void initMap(Map* map) {//初始化地图y < H;x++) {//地图上每个格子都为空,也就是没有一个格子有食物为0。

2025-01-10 14:05:31 1471

原创 15届蓝桥杯刷题速成

这期我们来做一下蓝桥杯的速成题,一共七道,粗略感受一下蓝桥杯,我们做题的顺序一定是由易到难,这样能节省很多时间去做难题。1. 回文判定。

2024-12-05 19:30:45 3057

原创 初级数据结构——哈希表题库(c++)

这期就是有关哈希表的二十多道实战题,我们一起学习,有错误的地方希望大家指正。1.——面试题 17.04. 消失的数字(蓝色字体可以点进去看原题)代码题解public:i++){;i++){//没找到i,就说明哈希表被找完了就等于hash.end()return -1;2.——41. 缺失的第一个正数public:i++){;i++){3.——LCR 173. 点名public:i++){;i++){4.——268. 丢失的数字public:i++){;

2024-12-02 20:53:42 1248

原创 初级数据结构——哈希表

这一期我们一起学习初级数据结构最后一篇内容,初级数据结构——哈希表。数据结构中的哈希表(Hash Table,也叫散列表)是一种高效的数据结构,它提供了快速的插入、删除和查找操作。综上所述,哈希表是一种高效的数据结构,具有快速的插入、删除和查找操作。但需要注意的是,哈希表也有其缺点和局限性,因此在实际应用中需要根据具体场景和需求进行选择和优化。下期我们一起来做有关哈希表的经典例题,一共二十多道,巩固一下知识点,加强我们对哈希表的应用能力,更完下期初级数据结构也算是完结了,我们下期不见不散。

2024-12-01 19:08:16 1421

原创 初级数据结构——邻接表

上一期我们已经一起学习了邻接矩阵这个数据结构,这一期我们一起学习它的兄弟初级数据结构——邻接表。邻接表是数据结构中用于表示图的一种重要方法,特别适用于稀疏图。邻接表是一种数组与链表相结合的存储方式。它由一个一维数组(顶点表)和多个链表(边表或邻接链表)组成。顶点表:一个一维数组,用于存储图中的顶点信息。数组中的每个元素对应图中的一个顶点,同时包含一个指向该顶点邻接链表的指针(或引用)。边表(邻接链表):对于顶点表中的每个顶点,都有一个链表与之对应。链表中存储的是与该顶点相邻的所有顶点。

2024-11-30 13:21:26 1464

原创 初级数据结构——邻接矩阵

这一期我们一起学习初级数据结构——邻接矩阵。邻接矩阵是数据结构中的一种重要表示方法,特别是在图论中得到了广泛应用。邻接矩阵(Adjacency Matrix)是表示顶点之间相邻关系的矩阵。设G=(V,E)是一个图,其中V是顶点集合,E是边集合。邻接矩阵是一个二维数组,用于存储图中各顶点之间的连接关系。综上所述,邻接矩阵是一种直观且易于理解的图表示方法,适用于顶点数量相对较少且需要频繁查询顶点间连接关系的场景。

2024-11-29 19:47:41 1606

原创 初级数据结构——二叉搜索树题库(c++)

通过上期(蓝色字体可以点进去)我们已经初步了解了二叉搜索树,那么这期我们就来进行实战,应用和巩固相关的知识点。1.——108. 将有序数组转换为二叉搜索树(蓝色字体可以点进去看原题)代码题解/*** int val;* };*/class Solution {//平衡二叉树每个节点的左子树和右子树高度不超过一TreeNode* sortedArray(vector& nums,int l,int r){//l与r代表数组范围//因为是有序数组构建平衡二叉树根节点一定为数字中间。

2024-11-28 17:45:14 1163

原创 初级数据结构——二叉搜索树

这一期我们一起来学习二叉搜索树。二叉搜索树(Binary Search Tree, BST)是一种重要的数据结构,在计算机科学中广泛应用于查找、插入和删除操作。以下是对二叉搜索树的基本分析,包括其定义、性质、操作的时间复杂度以及一些变体。左子树性质:左子树中所有节点的键值都小于根节点的键值。右子树性质:右子树中所有节点的键值都大于根节点的键值。递归性质:左子树和右子树本身也是二叉搜索树。二叉搜索树是一种简单而有效的数据结构,适用于许多查找、插入和删除操作。

2024-11-27 19:39:09 1539

原创 初级数据结构——二叉树题库(c++)

在上期(蓝色字体可以点进去)我们一起学习了初级数据结构——二叉树,那么这期我们来运用二叉树思想进行实战,巩固知识点。1.——965. 单值二叉树(蓝色字体可以点进去看原题)代码题解/*** int val;* };*/public:if(root->left){//从根节点的左子结点递归遍历完if(!if(root->right){//再从根节点的右子节点递归遍历完if(!2.——222. 完全二叉树的节点个数/*** int val;* };*/

2024-11-26 20:54:00 1192 1

原创 初级数据——二叉树

这一期我一起学习初级数据结构——二叉树,二叉树是一种非常基础且重要的数据结构,广泛应用于计算机科学和软件工程领域。下面是对初级数据结构二叉树的分析,包括基本概念、性质、操作和一些常见的二叉树类型。二叉树是一种非常灵活和强大的数据结构,通过不同的定义和操作,可以实现多种功能和应用。了解和掌握二叉树的基本概念、性质和操作,对于深入理解计算机科学和解决实际问题具有重要意义。相信大家通过本期学习初步了解二叉树,下期作品我会更新二叉树的十几道题库,我们下期一起学习二叉树的实战应用。

2024-11-26 15:34:26 1593

原创 初级数据结构——树

从这一期开始数据结构开始有那么一点复杂了,这期我们一起来学习初级数据结构——树,树是数据结构中的一个重要概念,它用于表示具有层次关系的数据集合。综上所述,树是一种重要的数据结构,它用于表示具有层次关系的数据集合。在树的基础上,还可以构建出更复杂的树形结构,如二叉树、B树、B+树等,以满足不同的应用需求。下期我们将一起学习初级数据结构——二叉树,我们这期不见不散。

2024-11-22 20:14:04 1499

原创 初级数据结构——串题库(c++)

上期作品(蓝色字体可以点进去看上期文章)和大家一起学习了初级数据结构——串,这期我们来一起做有关串的编程题,差不多二十道。1.——1812. 判断国际象棋棋盘中一个格子的颜色(蓝色字体可以点进去看原题)代码题解public://将横纵坐标映射成012345678//如果是奇数就是白格子,否则是黑格子2.——LCR 122. 路径加密代码题解public:i++){3.——1876. 长度为三且各字符不同的子字符串代码题解public:int cnt=0;i

2024-11-21 17:15:26 1113

原创 初级数据结构——串

这期我们一起深入学习初级数据结构——串,数据结构中的串(String)是一种非常常见且基础的数据类型,它由零个或多个字符组成的有限序列。串是由零个或多个字符组成的有限序列,一般记为S=“a1a2…an”(n>=0),其中S是串名,双引号(或单引号)括起来的字符序列是串的值,ai(1

2024-11-20 18:52:47 1676

原创 初级数据结构——栈与队列的互相实现

通过我之前的作品已经初步理解了栈和队列的数据结构,这期我们来学习如何实现这两个数据结构的互相转换。在计算机科学中,栈(Stack)和队列(Queue)是两种常见的数据结构,它们具有不同的操作特性和应用场景。栈遵循后进先出(LIFO, Last In First Out)的原则,而队列遵循先进先出(FIFO, First In First Out)的原则。尽管它们有不同的特性,但我们可以利用其中一种数据结构来实现另一种数据结构。通过以上方法,我们可以使用栈来实现队列,或使用队列来实现栈。

2024-11-19 19:12:45 1391

原创 初级数据结构——队列

这一期我们来深入了解初级数九结构——队列,队列和栈一样重要的数据结构,栈是后进先出的数据结构,而队列是先进先出的数据结构。数据结构中的队列(Queue)是一种特殊的线性表,它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作。这种操作方式使得队列具有先进先出(FIFO, First In First Out)的特性。接下来,我们将对队列进行更深入的分析。综上所述,队列是一种功能强大且灵活的数据结构,适用于多种应用场景。通过选择合适的实现方式,可以优化队列的性能以满足特定需求。

2024-11-18 17:48:12 1308

原创 初级数据结构——栈题库(c++)

在上一期作品(蓝色字体可以点进去看上期作品)我们对栈有了初步的了解,这期我们来进行实战,做一些栈相关的题。1.杭电oj——Bitset(蓝色字体点进去看原题)private:T data;Node* next;Node* head;int size;T pop();delete t;void Stack::push(T x) {//插入操作用头插法,即头节点为栈顶size++;if (!head) {");if (!

2024-11-15 17:53:19 833

原创 初级数据结构——栈

数据结构栈(Stack)是一种线性的数据结构,它只允许在序列的一端(称为栈顶)进行插入和删除操作。这种特性使得栈成为许多算法和问题解决中的有力工具。栈是一种简单而强大的数据结构,它遵循后进先出的原则,并通过数组或链表等数据结构实现。栈在多种算法和场景中都有广泛应用,包括函数调用、递归、表达式求值、深度优先搜索、括号匹配等。理解栈的基本概念和操作对于掌握计算机科学和数据结构的基础知识至关重要。同时,栈的变体也为解决特定问题提供了更多可能性。

2024-11-14 20:36:42 1626

原创 单向链表题库2(c++)

接着上一个作品的题库,没学单向链表的先看我这个作品(蓝色字体点进去),再看题库1巩固知识,然后再看这个题库。1.力扣——LCR 123. 图书整理 I(蓝色字体点进去看原题)代码题解/*** int val;* };*/public:vector<int> reverseBookList(ListNode* head) {//这一题就是反转链表,也就是逆序输出链表//定义一个顺序表用于返回逆序输出的值//一定要注意顺序表是从下标0开始的所以最后一个下标是长度减一。

2024-11-13 17:18:15 704

原创 单向链表题库1

这个题库是用于学完单向链表数据结构来进行训练巩固知识点的,所以没学到单向链表的看我这个作品的内容。(点蓝色字体进去看以前那个作品)1.力扣——876. 链表的中间结点蓝色字体可以点进去看原题/*** int val;* };*/public:ListNode* middleNode(ListNode* head) {//这题主要思路就是快慢指针,快的走两步慢的走一步//节点个数可能为奇数也可能为偶数,所以快指针每走一步要判断是否为空,如果为空中间节点所在位置就是慢指针位置if(!

2024-11-12 20:09:32 889 1

原创 初级数据结构——单向链表

单向链表(Singly Linked List)是一种线性数据结构,由一系列节点组成,每个节点包含数据域和指向下一个节点的指针。单向链表是数据结构中的基础内容,理解其工作原理和基本操作对于进一步学习更高级的数据结构(如双向链表、循环链表、栈、队列等)非常重要我发的这些题目都是很简单很基础的题目,我不想一上来就发难题,先做简单题,后续我会整理题库,每个板块都会发有难度的题。

2024-11-11 19:52:09 1358

原创 初级数据结构——顺序表

顺序表示最基础的数据结构之一,它也是我们学习开始学习数据结构的第一个必须要掌握的数据结构,学习数据结构一定是由浅到深,所以我们最好是先学习简单的在学习有难度的,因为直接学习难的数据结构很容易劝退,让我们来深入了解顺序表。定义:顺序表(Sequence List)是线性表的一种实现方式,它使用一段地址连续的存储单元依次存储线性表的数据元素。特点1.数据元素在物理存储上是连续的,这使得顺序表在访问元素时具有较高的效率。2.顺序表支持随机访问,即可以通过索引直接访问表中的任意元素,时间复杂度为O(1)。

2024-11-08 20:45:39 1267

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除