自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 一个轻量型的web服务器项目开发:第一部分

当满足条件时,另一个线程可以发送信号给条件变量,唤醒等待的线程继续执行。条件变量用于在线程之间进行通信和同步等待条件的发生,主要弥补互斥锁可能会造成的死锁问题。当线程释放共享资源时,需要通过释放信号量来增加信号量的值,以通知其他线程可以继续执行。互斥锁主要用于多线程遇到公共部分时的情况,多个线程对同一个值进行了操作,但是线程之间是不应该有相互影响的。互斥锁通常是用于对关键代码段进行保护,只有获取了互斥锁的线程才能执行关键代码段,其他线程必须等待锁的释放才能继续执行。

2024-07-03 13:46:43 236 1

原创 专题:优先队列

优先队列是stl库里用的很广泛的一个函数了,作用是自动排列队列中的数,使用的是堆排序。所以复杂度为logn,用法很简单,直接使用是按照升序排列的。即priority_queueq;当然我们常常会使用降序排列的优先队列,那么只需要priority_queueq;

2024-04-09 21:00:21 180

原创 专题:next_permutation函数

这是c++ stl库自带的全排列函数,在很多时候都是很好用的一个函数。作用是将数组进行自动全排列直到按照降序排列为止,所以一般在用前我们需要把对应的数组先按照升序排列.函数需要传入需要排列数组的起始和结束位置。

2024-04-09 20:53:05 193

原创 专题:高精度加减法

高精度加减法通常用于很大的数字进行加减的运算,这时直接相加都会爆long long,所以我们的核心思想是转化为数组进行加减法即可

2024-04-09 20:47:05 108

原创 专题:搜索-DFS与BFS

当然啦,其实dfs与bfs差别并不算大,而且也是属于比较简单的算法,不过都是很重要的,所以多刷刷题掌握就好。

2024-04-07 13:53:24 1299

原创 专题:前缀和

前缀和问题一般用来求某个区间值的和是否满足某个条件。还是很有用的一种算法的。

2024-04-05 20:47:01 95

原创 专题:归并排序

归并排序也是一个很高效的排序算法,只是没有快排那么简单,毕竟只需要调用函数就行。但是归并排序通常用于计算允许交换相邻的元素来达到升序所需要的最少步数。反正关于相邻元素的交换常常会用到该算法。该算法通过交换两个相邻的序列元素来处理 n个不同整数的序列,直到序列按升序排序。您的任务是确定超快速排序需要执行多少交换操作才能对给定的输入序列进行排序。在这个问题中,您必须分析特定的排序算法----超快速排序。其中a数组是需要修改的数组,temp是辅助数组。1.归并排序模板,可以直接记下来。,超快速排序生成输出。

2024-04-04 16:21:06 103

原创 专题:滑动窗口

滑动窗口问题主要需要掌握左右端点的移动方式以及结束条件。,请你返回子数组内所有元素的乘积严格小于。例题: 力扣-乘积小于k的子数组。的连续子数组的数目。

2024-04-03 17:34:10 131

原创 大臣的旅费-详细解析版

代码给了很详细的解析,希望能帮到你。

2024-03-15 13:22:54 116 1

原创 蓝桥杯-日志统计

还是在代码中加了很详细的注释,比较适合小白一点。

2024-03-07 20:02:37 111 1

原创 力扣动态规划-零钱兑换

咋说呢,本来想用背包思想做的,但是发现直接套通用公式不行,然后自己画图推出来递归公式就做出来了。说实话,学算法真的蛮累的,好多时候一个题花的时间都要用h来计算,不过有进步了真的很开心,希望大家都能在刷题的路上坚持下去。题目来自力扣,我一般不会发布力扣相关的题解,因为上面的题解真的还是很详细了,但这是最近第一道自己做出来的动态规划题,敲开心。还是老规矩,代码中有很详细的解析,希望能帮到大家。

2024-01-07 16:15:52 498 1

原创 蓝桥杯真题,包子凑数,完全背包问题

新年的第一篇博客,祝大家新年快乐呀!,今天带来的是蓝桥杯的一个完全背包问题,还是代码有很详细的注释,希望对你有帮助。

2024-01-01 17:41:52 581

原创 BFS—蓝桥杯真题,全球变暖

这个题目和普通岛屿淹没题有点不一样的是要求完全被淹没的岛屿,所以我们把被淹没的地方设置为'x'就好了,然后看一堆x中是否有'#',有就说明没有被完全淹没。这样就可以算出最后的结果啦,找到思路后就是一个普通的bfs算法。希望能帮到看不太懂题解的小伙伴。

2023-12-25 20:00:54 29

原创 bfs算法题,洛谷搜索题单Meteor Shower S

还是洛谷搜索题单的一道bfs算法题,坑有点多,如果洛谷题解不容易理解的话,希望这篇文章可以帮的到你。代码每步都有很详细的解释。

2023-12-25 16:12:05 132

原创 一个搜索问题,洛谷自然数的拆分问题

【代码】一个搜索问题,洛谷自然数的拆分问题。

2023-12-23 20:08:47 36 1

原创 洛谷吃奶酪,dfs加状态压缩剪枝

洛谷的吃奶酪问题,dfs加状态压缩剪枝

2023-12-18 17:45:00 29 1

原创 图的相关应用

总之,图的创建和遍历是图算法中的基本操作,对于理解和应用图算法非常重要。在实际应用中,我们需要根据具体情况选择合适的创建和遍历方式,以实现高效的图算法。广度优先遍历(BFS)是从某个节点开始,先访问该节点,然后依次访问该节点的所有邻居节点,再访问邻居节点的邻居节点,直到所有节点都被访问。邻接表是一种链表的形式,其中每个节点表示一个顶点,节点的值为该顶点的编号,节点的指针指向与该顶点相邻的其他顶点。深度优先遍历(DFS)是从某个节点开始,先访问该节点,然后递归访问该节点的所有邻居节点,直到所有节点都被访问。

2023-06-12 17:45:47 36 1

原创 哈夫曼树的创建以及编码

同时,必须要保证编码不存在二义性(任意字符编码都不是其它字符编码的前缀)。哈夫曼编码就是符合上述要求的编码方式,采用自底向上的形式构造哈夫曼树。在数据传送时,信息表现为0和1的二进制形式。

2023-06-12 17:16:47 86

原创 二叉树的建立以及三种遍历方式

二叉树的建立,然后用三种方法遍历。

2023-06-12 11:26:36 407 1

原创 链队列初学

链式队列是链表的一种形式,当然也是队列的一种特殊形式,链队列可以无限扩充(内存够的情况下),所以这是它具有的一个很大的优点。链队列和链表一样,有一个头结点,但是他还有一个额外的尾节点,因为队列的特殊性,对他的入队和出队都只需要对头和尾结点进行操作就行了,之后若有元素要入队列,我们就动态分配一个新的结点并存入数据,之后连接这个结点到头结点上,队尾指针再后移,就实现了队列队头删除、队尾插入的特点。

2023-04-24 19:19:45 28

原创 括号匹配问题

括号匹配问题就是判断给出的一段括号是否都能成功匹配,也就是是否符合我们平时写的括号类型,这个问题在没有学习栈之前是很难完成的,但是学习栈之后就很容易实现了,我们将所给的一串字符逐个压入栈,然后到后括号时进行判断,如果最前面栈存在相匹配的则都进行出栈处理。否则就判断括号匹配失败就返回0即可。

2023-04-24 15:55:43 26

原创 Hanoi问题

Hanoi问题

2023-04-23 12:09:49 63

原创 线性表的总结

线性表中的每个数据元素都有一个唯一的前驱元素和一个唯一的后继元素,除了第一个元素没有前驱元素,最后一个元素没有后继元素。顺序存储结构是将线性表中的元素依次存放在一块连续的存储区域中,可以通过元素在存储区中的位置来进行访问。链式存储结构是通过指针来实现元素之间的连接,每个元素包含一个数据域和一个指针域,指针域存储了下一个元素的地址。插入操作可以在指定位置插入一个元素,删除操作可以删除指定位置的元素,查找操作可以根据元素的值或位置查找元素,遍历操作可以依次访问线性表中的所有元素。

2023-04-19 21:51:10 121

原创 多项式的加法

数据结构多项式的加法

2023-04-10 12:51:37 52

原创 静态链表初学

数据结构的单链表初学

2023-04-10 12:43:08 40

原创 数据结构链表

数据结构链表

2023-04-03 20:34:27 42 1

原创 数据结构顺序表

数据结构学习顺序表后的第一次收获

2023-03-27 12:37:47 24

原创 数据结构的第一节课

数据结构初学

2023-03-22 13:55:20 56 1

空空如也

空空如也

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

TA关注的人

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