自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 第三章 内存管理

内存管理是计算机系统中关键的基础技术,它直接影响程序的性能、稳定性与安全性。在C++等底层语言中,内存管理主要包括动态分配与释放、栈与堆的使用以及内存泄漏和悬挂指针的防范。合理的内存管理可以提高程序运行效率,避免系统资源浪费,而不当的管理则可能导致崩溃或安全漏洞。现代编程中,智能指针(如std::unique_ptr和std::shared_ptr)提供了自动化内存管理机制,有效减少了手动释放内存的风险。同时,操作系统层面的内存管理,如分页、虚拟内存和垃圾回收,也为程序提供了安全可靠的运行环境。

2025-09-04 09:24:40 832

原创 第二章 进程与线程

进程是操作系统资源分配的基本单位,线程是CPU调度的基本单位。一个进程可以包含多个线程,进程间相互独立,线程共享同一进程的资源。进程拥有独立的地址空间、代码段、数据段和堆栈,创建和切换开销较大;线程依附于进程存在,拥有独立的寄存器和栈,但共享代码段、数据段和堆,创建与切换开销较小。多进程适用于需要强隔离性和稳定性的场景,如服务器多进程模型;多线程则常用于需要高并发和共享数据的场景,如客户端应用和高性能计算。进程与线程的合理使用可提高系统的并发性与资源利用率,但需注意同步与通信问题,避免死锁与竞争。、

2025-08-26 17:03:30 1056

原创 第一章 操作系统概述

操作系统(Operating System, OS)是管理计算机硬件与软件资源的系统软件,是用户与计算机硬件之间的桥梁。它的主要任务是为用户和应用程序提供方便、高效、安全的运行环境。操作系统具有并发性、共享性、虚拟性和异步性等特征,核心功能包括进程管理、存储管理、文件管理和设备管理。用户通过应用程序接口(API)或系统调用使用操作系统的服务,从而完成文件读写、进程创建、内存分配、设备控制等操作。常见的操作系统有 Windows、Linux、macOS、Android 和 iOS,它们广泛应用于个人电脑、服务

2025-08-13 16:05:50 1104

原创 《黑马笔记》 --- C++ 提高编程

本阶段主要针对C++泛型编程>和STL技术的讲解。

2025-07-31 20:52:40 1362

原创 《黑马笔记》 --- C++核心编程

本文介绍了C++中的内存管理模型和引用机制。主要内容包括: 内存分区模型 代码区:存放代码,由OS管理 全局区:存放全局变量、静态变量和常量 栈区:存放局部变量,由编译器管理 堆区:程序员手动管理的内存,使用new/delete操作 引用机制 引用是变量的别名,本质是指针常量 引用必须初始化且不可更改 引用可作为函数参数和返回值,提高代码可读性 注意不要返回局部变量的引用 函数相关 默认参数的使用规则 函数重载的条件:同一作用域、同名、参数不同 这些内容是C++编程中内存管理和参数传递的重要基础。

2025-07-15 18:39:04 546

原创 蓝桥杯国赛全真模拟卷

这篇文章的题目是在蓝桥杯那个国赛模拟清单里面的,挑了一些会的题.

2024-05-19 09:10:14 3198 3

原创 动态规划 ------ 背包问题

背包问题是动态规划中非常典型的一些题,本篇文章记录总结一下在学习过程中所遇到的一些背包问题。其实主要就是3种,01,完全,多重背包问题,这三种详细一些,认真搞懂了,剩下的就是这三种的变种了,换汤不换药?

2024-05-05 22:37:54 1771

原创 AcWing算法基础课笔记 ------ 第五章 动态规划

本篇文章是在Acwing种学习动态规划的笔记题解,其中的不是很理解,就没有往上写。

2024-05-04 22:31:23 1422 2

原创 第15届蓝桥杯模拟赛第一期

比赛前看看这些模拟题好吧,先给自己的信心满上!!!!祝各位取得好的成绩😁😁😁。

2024-04-12 16:31:50 1343 1

原创 第12届蓝桥杯省赛 ---- C/C++ C组

第12届蓝桥杯省赛,C/C++ C组真题,第10题不是很清楚,题解不敢乱放😁😁😁。

2024-04-06 11:23:56 1751 2

原创 第13届蓝桥杯省赛 ---- C/C++ C组

第13届蓝桥杯省赛C/C++组题解。

2024-04-03 17:19:08 2204

原创 第14届蓝桥杯省赛 ---- C/C++ C组

第14届蓝桥杯省赛真题,关于数论的题目不是很会,又没理解的很清楚,所以有两道的题解没有发出来。这两道题:互为和。

2024-03-31 08:37:55 3454 6

原创 AcWing算法基础课笔记 ------ 第三章 搜索与图论

本篇博客记录AcWing算法基础课中的一些有关图论的算法,从熟知的dfs和bfs算法,再到求解单源路径,还有多源路径,最小生成树,以及二分图。

2024-02-28 22:07:09 1349

原创 AcWing算法基础课笔记 ------ 第二章 数据结构

本篇记录一下AcWing上第二章的笔记,这一章收获也很多,学会了用数组去模拟链表,复习了一遍KMP,求表达式,以及新的一些数据结构,字典树,并查集,还有更为高效的哈希表。

2024-02-25 18:51:42 1445

原创 AcWing算法基础课笔记 ------ 第一章 基础算法

本篇博客记录一下AcWing算法基础课第一章节的笔记,以及自己犯的一些错误。这一章节总体来说,收获还是不少的,清晰的认识了二分的模板,以及高精度的加减乘除,前缀和为什么0号位置不放,选择从1的位置开始算起,自己在使用qsort排序时候的错误等等。。

2024-02-23 15:03:20 1244

原创 单调队列和优先队列

本篇记录下一下关于单调队列和优先队列(堆)的方法以及解题思路.

2024-02-19 22:17:03 1388

原创 中等题 ----- 栈和单调栈

本文中记录一下在leetcode上中等难度栈和单调栈的一些题解。

2024-02-16 13:04:30 1096

原创 中等题 ------ 链表

然后再第二次遍历的时候,同样也用前缀和去遍历,如果发现当前节点的前缀和与哈希表中的前缀和不一致,那么他们中间的节点和就是0.题目要求我们将链表进行分割,把所有小于x的放在链表左侧,大于或者等于x的放到链表右侧,从测试用例可以看出,不需要有序也行。这道题通俗易懂的来说就是要我们统计出一个链表中,连续节点的区间个数,这个区间里的每个数都必须是nums中的。在遍历第一遍的时候,将前缀和与相对的节点存到哈希表中去,如果前缀和多次出现,只存它最后一次出现的位置。当你也可以,转数组,qsort,转链表。

2024-02-04 13:29:26 1020

原创 C语言实现跳表(附源码)

跳表与红黑树,AVL树等,都是一种有序集合,那既然是有序集合,其目的肯定是去奔着提升查找效率而去实现的。3int val;//值//当前节点的最大层数//下一个节点的指针数组。}SkipNode;//节点个数int level;//跳表的索引总层数}SkipList;以上是跳表的结构定义,其中那个Node中maxLevel就是当前这个节点的层数,因为每个节点的层数是不一样的嘛,这个用途呢在后面的删除节点中会用到。

2024-02-02 16:55:27 2209

原创 中等题 ------ 数组以及字符串

以前刷的都是一些简单题,从一些基本的数据结构到算法,得有400多道了,简单题就先这样吧,从今天以后就开始着手中等题和困难题了。做了一些中等题,感觉确实和简单题没法比,简单题有些直接模拟,暴力就能做出来,而这些中等题是根本想不到该怎么做,但看了题解,找到公式关系,规律也就觉得还行,慢慢加油吧。本篇是一些关于数组和字符串的题。和的简单题在这。

2024-01-28 21:24:03 1176

原创 刷题 ----- 动态规划

下面就是leetcode上所有关于动态规划的简单题了,有好多是重复的,也就没写。设计出转移状态方程,以及初始化的值,是用动态规划解题的关键。

2024-01-23 16:31:10 1064

原创 刷题 ------ 排序

基于上篇的排序算法,本篇刷了一下leetcode上的关于排序算法的题,因为我是点的排序标签刷的,所以有些题排完序答案就出来了,就没有写题解了。

2024-01-21 14:12:25 1279

原创 六大排序算法

下面介绍几种排序算法,C语言中qsort虽然可以排序,但还是了解了解内部构造比较好。

2024-01-19 14:00:23 915

原创 刷题 ------ 双指针

2024-01-18 16:11:40 1071

原创 刷题 ------ 二分枚举(查找)

文章目录1.x 的平方根2.第一个错误的版本3.有效的完全平方数4.猜数字大小5.排列硬币6. 寻找比目标字母大的最小字母7. 二分查找8.检查整数以及其两倍数是否存在9. 两个数组间的距离值10.特殊的数组的特征值11.找出数组排序后的目标下标12.和有限的最长子序列13.正整数和负数的最大计数14.最小公共值15.统计和小于目标的下标对数目16.LCP.早餐组合16.LCP.采购方案17.LCR.两数之和 || - 输入有序数组18. LCR 搜索插入位置19.LCR 山脉素组的峰顶索引19.寻找旋转排

2024-01-15 22:12:38 1496 1

原创 刷题 ------ 枚举

这篇博客和上篇一样,既然叫成枚举,那么在做题上也大多采用了暴力枚举的方式去做的,有些更有效的方式也没有去写。

2024-01-12 22:34:31 1309

原创 刷题 ------ 模拟

模拟也能叫暴力,我是这样理解的,一个问题,首先想到的那个方法(把所有的可能性全部一一遍历出来)。就比如字符串匹配算法,模拟(暴力)可以使用双for直接做出。但是这种效率肯定没有KMP匹配算法高。我在前面刷数组,链表,字符串等等中,其实还是用了很多暴力的方法来做的。所以此篇我全是用的模拟暴力的求解办法,有些优质的办法也没写出来。

2024-01-11 21:05:28 1075

原创 刷题 ------ 矩阵

最后开始做的时候,没看清楚题,我以为他是动态的,就是走一步,然后在矩阵中的全部9空格的数据全部改成平均值,所以在外面封装了一个函数,到最后发现只改一个,也就没改了,这道题完全可以在主函数中实现。这道题,首先得知道要是9宫格,那么你遍历矩阵的时候,就不能还是老老实实的从第一行第一个元素开始遍历了,看下图,自身元素能产生就9宫格的,只能从第二行第二列开始遍历,结尾也得注意。这道题我在刚做的时候是开辟了matrix 的大小,我以为幸运数最多每行一个,结果后续看题解,幸运数只有一个,有修改了修改,提高了点时间。

2024-01-03 17:46:53 1334

原创 刷题 ------ 深度(DFS)与广度(BFS)优先搜索

其实在上一边博客中 ----- 二叉树刷题,就能感觉到,对二叉树的遍历操作:前中后序遍历是DFS层序遍历则是BFS。

2023-12-28 17:29:22 1242

原创 刷题 ------ 二叉树

这道题主要是考察,直径在这里的概念是啥,先观察上图,这一看就能看出来,最左边的孩子到最右边的孩子一定是那个最长的,想都不用想,没有什么比从一左边拐到右边长了,最左边的孩子的路径是2,最右边的是1.所以直径是 2+1 = 3.我们同样还是运用递归的方式去实现,做了这几道题,也能感觉出来点啥,这几种方式,其实跟在学习数据结构图的遍历的时候,那里有一个深度优先算法,就是一条路走到黑的那种,其实还是很类似的。要注意的是,得使用二级指针,因为你要修改指针的值嘛,当然你也可以拿一个变量去记录值,这都是无所谓的。

2023-12-24 16:12:53 324

原创 刷题 ------ 哈希表

这种方式其实在平时刷一些题的时候,直接就可以在函数中实现,去使用,建立一个数组就好了,但是缺点就是浪费的空间太大了。就是把‘\0’传入那个查找函数中去,又因为哈希表中 0 - ‘a’ 成负的了,肯定是错的,然后我改成这样。这道题,它说恰有一个元素重复了n次,就意思是,只有个元素是重复的。这样暴力太费时了,有时候你的网速不是很好,这个还过不了,所以用哈希表来做还是相当不错的。这道题,可以直接用暴力求法,一个一个的去枚举,就能成功,但是时间太慢了。这个交换一次有说法的,不能不交换,也不能交换2次,这点很重要。

2023-12-17 16:34:57 335 1

原创 刷题 ------ 栈

他这道题就是让咱实现一个队列,题目中说两个书车,既然又出现在栈里面,那应该是让咱用两个栈实现一个队列,就像前面的那一道题一样,这里我就直接实现一个队列过了的。这道题是构造栈,它这个最小栈的意思就是可以用O(1)的方式去直接找到栈中最小的,如果直接遍历得出结果,还叫什么最小栈。上面就是leetcode上所有关于栈的简单题了,有好几个重复的,就没往上放,还有些二叉树的题,也没有放。下面是代码,栈在这里的代码也没有放出来,思路就是这么一个思路,自己动手实现一下栈还是可以的。我这里就不放出来了,我用的是循环队列。

2023-12-08 20:25:28 324

原创 KMP匹配算法

KMP算法是一种改进的字符串匹配算法,由D.E.Knuth,J.H.Morris和V.R.Pratt提出的,因此人们称它为克努特—莫里斯—普拉特操作(简称KMP算法)。KMP算法的核心是利用匹配失败后的信息,尽量减少模式串与主串的匹配次数以达到快速匹配的目的。具体实现就是通过一个next()函数实现,函数本身包含了模式串的局部匹配信息。KMP算法的时间复杂度O(m+n) [1]。----- 来自百度KMP算法区别于暴力求解法,时间上有了很大的优化。只需要对主字符串进行一次遍历就好。

2023-12-06 08:52:16 194 1

原创 刷题 ------ 字符串

既然是找最后一个单词,那么直接求出字符串的长度,然后从后往前找即可int i;i >= 0;i--)//如果找到了空格,并且在此之前还找到了字母就意味着这个单词结束了= 0)break;//如果不等于空格长度增加if(s[i]!return ans;

2023-12-05 12:18:28 380 1

原创 刷题 ------ 链表

leetcode链表的一些简单题目。

2023-12-01 16:01:02 299 1

原创 刷题 ------ 数组

leetcode上数组简单类型的一些题目

2023-11-22 11:48:20 251

原创 数据结构图 ------ 拓扑排序

数据结构图的拓扑排序

2023-11-07 13:18:11 538

原创 数据结构图 ------ 最短路径

数据结构图的最短路径 (Dijkstra和Floyd)

2023-11-05 13:12:50 321 1

原创 数据结构图 ------最小生成树

我个人感觉,Prim算法虽然写起来多,但是好理解,比这个Kruskal的parent判断回路好理解。而Kruskal算法核心就是这个判断回路🤣🤣🤣。Prim和Kruskal算法源码。

2023-11-03 20:21:25 215

原创 数据结构------ 图

数据结构 图的基本概念

2023-11-03 16:45:01 182

空空如也

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

TA关注的人

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