24k纯甄
码龄2年
关注
提问 私信
  • 博客:185,022
    动态:20
    185,042
    总访问量
  • 113
    原创
  • 3,027
    排名
  • 3,983
    粉丝
  • 236
    铁粉
  • 学习成就

个人简介:目前是在校本科生,一起学习,一起进步~

IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:江西省
  • 加入CSDN时间: 2023-04-28
博客简介:

2301_77900444的博客

查看详细资料
  • 原力等级
    成就
    当前等级
    7
    当前总分
    4,272
    当月
    4
个人成就
  • C/C++领域新星创作者
  • 获得8,416次点赞
  • 内容获得6,567次评论
  • 获得7,118次收藏
  • 代码片获得386次分享
创作历程
  • 113篇
    2024年
成就勋章
TA的专栏
  • C++专栏
    35篇
  • 经典算法专栏
    13篇
  • Linux专栏
    11篇
  • QT专栏
    2篇
  • C语言专栏
    40篇
  • 数据结构初阶
    12篇
兴趣领域 设置
  • 编程语言
    c++c语言开发语言
  • 数据结构与算法
    算法
  • 操作系统
    linux
创作活动更多

如何做好一份技术文档?

无论你是技术大神还是初涉此领域的新手,都欢迎分享你的宝贵经验、独到见解与创新方法,为技术传播之路点亮明灯!

342人参与 去创作
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

【基础算法总结】字符串篇

字符串 string 是一种数据结构,它一般和其他的算法结合在一起操作,比如和模拟,高精度加减,双指针,动态规划等算法结合,所以有关字符串类的题型是多种多样的。通过本篇文章挑选的一些题目来熟悉有关字符串接口的使用。字符串类型的算法题型是多种多样的,并且也可以使用多种字符串函数接口了解决问题。
原创
发布博客 2024.10.08 ·
1247 阅读 ·
118 点赞 ·
100 评论 ·
113 收藏

【基础算法总结】链表篇

有关链表的算法题也是一类常见并且经典的题型,这些题要使用数据结构中我们手搓的链表结构,也要使用STL中的 list 容器。下面是几点常用操作的总结(1)善于画图。(2)引入虚拟头结点。方便处理边界情况,就是当没节点第一次头插或尾插的时候的那个判断,引入虚拟头结点就可以避免这个判断(写成 ptail = newHead)。(3) 不要吝啬空间,大胆定义变量。(4)快慢双指针的使用。主要应用是判环,找链表中环的入口,找链表中倒数第 n 个节点。(5)
原创
发布博客 2024.10.04 ·
2608 阅读 ·
109 点赞 ·
88 评论 ·
111 收藏

【linux进程】进程优先级&命令行参数&环境变量

本篇文章详细介绍了什么是进程优先级以及优先级的特征,什么是命令行参数,什么是环境变量和它的使用修改。内附图文,一看就懂。
原创
发布博客 2024.10.02 ·
916 阅读 ·
69 点赞 ·
63 评论 ·
71 收藏

【基础算法总结】分治--快排+归并

分治是一类十分重要的算法,"分治"顾名思义就是分而治之,把一个大问题分成若干个相同或是相似的子问题 ,再把这些小问题继续划分成若干个相同或是相似的更小子问题…直到最小子问题不可再划分。接着通过解决最小子问题进而解决了上一层更小子问题…又进而解决了大问题。这个过程就是 – 递归。我们学过的快速排序和归并排序就是非常典型也是非常重要的分治。但是它们的分治思想不仅仅用于排序上,在解决其他问题时也是非常有效的。下面介绍的若干道题目就是使用快排和归并的核心思想解决的,让大家加深对它们的理解。
原创
发布博客 2024.09.29 ·
922 阅读 ·
97 点赞 ·
82 评论 ·
92 收藏

【linux进程】进程状态&僵尸进程&孤儿进程

本篇文章想象介绍了OS里的三种状态:运行状态,阻塞状态,挂起状态,还有对应的在linux里的进程状态,并且介绍了两种特殊的进程:僵尸进程与孤儿进程。
原创
发布博客 2024.09.26 ·
1138 阅读 ·
111 点赞 ·
82 评论 ·
89 收藏

【linux进程】深度理解进程--什么是进程&什么是pcb&进程创建

本篇文章详细介绍了什么是进程,什么是进程pcb,以及对进程的创建fork函数的使用,并且有生动的例子辅助理解,内附图文。
原创
发布博客 2024.09.25 ·
983 阅读 ·
107 点赞 ·
76 评论 ·
104 收藏

【基础算法总结】模拟篇

模拟算法本质就是"依葫芦画瓢",就是在题目中已经告诉了我们该如何操作,我们只要把题目中的过程转化成代码即可。特点是思路简单,难点是十分考验代码功底。解决有关模拟类的题型,最重要的就是根据题目写代码。有些模拟题可能正面做困难,进行优化时一般都是"找规律"进行转换。
原创
发布博客 2024.09.22 ·
801 阅读 ·
88 点赞 ·
77 评论 ·
83 收藏

【QT基础】创建项目&项目代码解释

本篇文章详细介绍了QT是如何创建项目的,并且解释了项目中各个默认文件代码的意思。内附大量图文。
原创
发布博客 2024.09.20 ·
1127 阅读 ·
99 点赞 ·
83 评论 ·
93 收藏

【Linux基础】冯诺依曼体系结构&操作系统的理解

本篇文章主要介绍冯诺依曼体系结构和操作系统,内含具体的案例和图文讲解,使大家更好的理解两者。
原创
发布博客 2024.09.17 ·
1518 阅读 ·
118 点赞 ·
88 评论 ·
113 收藏

【linux基础】linux中的开发工具(4)--调试器gdb的使用

本篇文章主要介绍了linux中的调试器--gdb的具体的/常见使用方法,内附图文。
原创
发布博客 2024.09.15 ·
980 阅读 ·
85 点赞 ·
70 评论 ·
86 收藏

【基础算法总结】位运算

1. 基础位运算符注意:参与位运算的对象只能是整型数据(int, unsigned, char),不能为实型。上面六种基础位运算是本篇文章重点涉及的,要想详细了解它们的含义和运算规律,请点击文章【移位操作符,位操作符运算规则详解】2. 位运算符的优先级只要记住一句话:表格不用死记,能加括号就加括号。3. 给定一个数 n ,判断他的二进制表示的第 x 位是 0 还是 1?4. 将一个数 n 的二进制表示的第 x 位修改成 15. 将一个数 n 的二进制表示的第 x 位修改成 06. 位图思想。
原创
发布博客 2024.09.13 ·
1714 阅读 ·
105 点赞 ·
86 评论 ·
101 收藏

【基础算法总结】前缀和

前缀和也是基础算法之一,它一般应用于快速求出某个连续区间的和/积。前缀和一般包括一维前缀和,二维前缀和,其实它的做题流程有一点点像动态规划的感觉。前缀和算法的时间复杂度是O(1)。前缀和与二分查找类似,也是有固定模板的,下面的前两题分别就是一维/二维的前缀和模板题。通过上面若干道题目要掌握使用前缀和的两个步骤:一是预处理前缀和数组,这里要先明确 dp[i][j] 的含义,再推导递推公式,二是使用前缀和数组,其实就是在预处理好的 dp 数组中直接拿值,这一步的时间复杂度是O(1)。
原创
发布博客 2024.09.11 ·
2328 阅读 ·
128 点赞 ·
77 评论 ·
154 收藏

【基础算法总结】二分查找

二分查找算法是一种十分经典,十分基础的算法。细节最多,最容易写出死循环,但是真正掌握之后,又是最简单的算法。相信大家在之前一定听过"二分查找只用于数组有序的情况下这种说法,其实这是不准确的!!!它的本质是:数据具有二段性。应用场景准确的说是:当数组里的一个数和目标数比较之后,划分出了两段区域(此时具有"二段性"),通过某种规律可以直接舍弃一段区域,在另一段区域查找,周而复始这个操作,直到找到目标数。本篇文章将通过若干道题目进行验证。
原创
发布博客 2024.09.10 ·
1395 阅读 ·
86 点赞 ·
71 评论 ·
99 收藏

【基础算法总结】滑动窗口

滑动窗口算法也是基础算法之一,它的本质是一对"同向双指针"。当我们分析的对象是⼀段连续的区间(子数组/子串),使用暴力解法发现两个指针可以不回退的一直往前走,并且可以利用单调性解决问题时,就可以使用滑动窗口。时间复杂度是O(N)如何使用滑动窗口呢?(1)初始化 left = 0, right = 0。用 left 和 right 来控制这个"窗口"(2)进"窗口"(3)判断,是否要出"窗口",循环(2)(3)步。(4)更新结果。
原创
发布博客 2024.09.08 ·
2202 阅读 ·
99 点赞 ·
86 评论 ·
116 收藏

【基础算法总结】双指针

双指针算法是基础算法之一,一般用于涉及数组分块/数组划分这类问题。这里的"指针"是利用数组下标或是一个数来充当的。在遍历过程中,两个指针的位置:cur:从左往右扫描数组,遍历数组。dest:指向已处理的区间内,非0元素的最后一个位置。如下图所以两个指针把数组分成了三个区间双指针算法是一种基础,但是十分经典的算法。通过上面的若干道题可知,"双指针"使用起来是十分灵活的,有时代指数组下标,有时也可以代指一个数。使用双指针算法的关键之一就是要控制好边界,稍不留神就会出现数组越界的问题并且在使用这个算法时。
原创
发布博客 2024.09.06 ·
1855 阅读 ·
88 点赞 ·
67 评论 ·
108 收藏

【基础算法总结】BFS_拓扑排序问题

入度:针对一个点,有多少条边指向它。出度:针对一个点,有多少条边从这个点出去。如上图:1顶点的入度是0,出度是2。2顶点的入度是2,出度是1。3顶点的入度是1,出度是2…使用拓扑排序的算法解决问题时,首先我认为最重要的一点是能否把题干转换成有向无环图。二维数组和哈希表。但是并不是只能用这两个,而是要根据题目灵活的选取嵌套。建完图后就是拓扑排序的主体,首先把入度为0的顶点入队列,再使用bfs删除取出顶点的那些边,在把它指向的顶点入度-1。最后判断结果的时候要么问是否存在拓扑排序要么就是返回拓扑序列。
原创
发布博客 2024.09.05 ·
996 阅读 ·
115 点赞 ·
82 评论 ·
94 收藏

【基础算法总结】BFS_多源最短路问题

所谓多源,就是有多个起点。对应上一篇文章【BFS_最短路问题】的单源问题。这篇文章介绍用bfs解决边权为1(或边权相等)的多源最短路问题。我们解决单源问题时,是先把起点入队列,再一层一层向外扩展。而多源问题是把所有源点当成一个"超级源点",把"超级源点"加入到队列,再一层一层向外扩展,就变成单源问题了。如何把所有源点当成"超级源点"?通过介绍下面的四道题目将给出答案。其实本篇文章的多源最短路和上一篇文章的单源最短路的思想基本上是一模一样的。
原创
发布博客 2024.09.03 ·
1037 阅读 ·
112 点赞 ·
89 评论 ·
86 收藏

【基础算法总结】BFS_最短路问题

bfs算法是解决最短路问题的经典方法。我感觉解决最短路问题核心的关键是每一次出队列时都要把上一次入队列的数据全部出完(就要写for循环),而最短路程就是向外扩展的层数。
原创
发布博客 2024.08.17 ·
1815 阅读 ·
106 点赞 ·
93 评论 ·
94 收藏

【基础算法总结】BFS_FloodFill算法

FloodFill(洪水灌溉) 算法介绍假设一个 4 * 4 的方格代表一块土地,土地上有些地方是凹陷的(假设用负数表示,-1,-2,-3……大小表示凹陷程度),有些地方是凸起的(假设用正数表示,1,2,3,4……大小表示凸起程度)。此时如果发洪水或是下雨,就会把凹陷的地方填满水,凸起的部分就会把凹陷的部分包围,填满水的区域会被连成一片一片的。所以这类问题要么是问有多少块填平的区域,要么是问最大的区域面积是多少,要么是问某一块区域的边长是多少。有些问题是规定只能上下左右联通,有些是斜对角也能联通。
原创
发布博客 2024.08.17 ·
1946 阅读 ·
125 点赞 ·
91 评论 ·
89 收藏

【QT】Qt SDK的下载,安装和环境配置

本篇文章介绍了QT SDK在哪里安装,详细的安装流程和注意事项,安装完成之后环境变量的配置流程。
原创
发布博客 2024.08.16 ·
2709 阅读 ·
115 点赞 ·
88 评论 ·
97 收藏
加载更多