NeeEk0
码龄2年
关注
提问 私信
  • 博客:74,368
    74,368
    总访问量
  • 91
    原创
  • 21,000
    排名
  • 950
    粉丝
  • 33
    铁粉
  • 学习成就

个人简介:把复杂的事情变简单,把简单的事情重复做。

IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:天津市
  • 加入CSDN时间: 2022-10-14
博客简介:

NeeEk0的博客

查看详细资料
  • 原力等级
    成就
    当前等级
    5
    当前总分
    1,000
    当月
    1
个人成就
  • 获得1,295次点赞
  • 内容获得73次评论
  • 获得1,221次收藏
  • 代码片获得411次分享
创作历程
  • 58篇
    2024年
  • 31篇
    2023年
  • 2篇
    2022年
成就勋章
TA的专栏
  • NeeEk0 的 C 语言杂烩
    9篇
  • NeeEk0 的数据结构
    11篇
  • NeeEk0 的 C++ 养成录
    21篇
  • NeeEk0 解读 Linux 的辛秘
    20篇
  • NeeEk0 陪你一起算法登峰
    27篇
  • NeeEk0 保姆式讲解 cpp 综合项目
    2篇
创作活动更多

如何做好一份技术文档?

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

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

【算法】DP系列之 路径问题

动态规划(Dynamic Programming)算法的核心思想是:将大问题划分为小问题进行解决,从而一步步获取最优解的处理算法动态规划算法与分治算法类似,其基本思想也是将待求解问题分解成若干个子问题,先求解子问题,然后从这些子问题的解得到原问题的解。与分治法不同的是,适合于用动态规划求解的问题,经分解得到的子问题往往不是互相独立的(即下一个子阶段的求解是建立在上一个子阶段的解的基础上)。【Tips】动态规划算法解决问题的分类计数:有多少种方式走到右下角 / 有多少种方法选出k个数使得和是 sum。
原创
发布博客 2024.10.11 ·
1407 阅读 ·
37 点赞 ·
0 评论 ·
26 收藏

【算法】DP系列之 斐波那契数列模型

动态规划(Dynamic Programming)算法的核心思想是:将大问题划分为小问题进行解决,从而一步步获取最优解的处理算法动态规划算法与分治算法类似,其基本思想也是将待求解问题分解成若干个子问题,先求解子问题,然后从这些子问题的解得到原问题的解。与分治法不同的是,适合于用动态规划求解的问题,经分解得到的子问题往往不是互相独立的(即下一个子阶段的求解是建立在上一个子阶段的解的基础上)。【Tips】动态规划算法解决问题的分类计数:有多少种方式走到右下角 / 有多少种方法选出k个数使得和是 sum。
原创
发布博客 2024.10.10 ·
1278 阅读 ·
15 点赞 ·
0 评论 ·
25 收藏

【算法】DFS系列之 记忆化搜索

记忆化搜索是一种典型的空间换时间的思想,可以看成带备忘录的爆搜递归。搜索的低效在于没有能够很好地处理重叠子问题。在搜索过程中,会有很多重复计算,如果我们能记录一些状态的答案,就可以减少重复搜索量。动态规划虽然比较好地处理了重叠子问题,但是在有些拓扑关系比较复杂的题目面前,又显得无奈。记忆化搜索正是在这样的情况下产生的,它采用搜索的形式和动态规划中递推的思想将这两种方法有机地综合在一起,扬长避短,简单实用,在信息学中有着重要的作用。
原创
发布博客 2024.10.08 ·
1167 阅读 ·
33 点赞 ·
0 评论 ·
18 收藏

【算法】DFS系列之 FloodFill 算法

FloodeFill算法即填充算法,原理就是从一个点开始向四周扩散,向周围可以走到的点填充颜色,直到将可扩散到的点全部填充颜色。BFS (宽搜)算法通常使用队列实现,将起始像素点加入队列中,并不断扩展队列中的像素点,直到队列为空为止。DFS(深搜) 算法通常使用递归实现,在处理当前像素点的相邻像素点时,递归调用 DFS 函数,不断深入直到无法找到相邻像素为止。假设这一块4*4的方格是一块土地,有凸起的地方,也有凹陷的地方(凹陷的地方用负数表示)。此时下大雨发洪水,会把凹陷的地方填满。
原创
发布博客 2024.10.07 ·
896 阅读 ·
21 点赞 ·
2 评论 ·
27 收藏

【算法】DFS 系列之 穷举/暴搜/深搜/回溯/剪枝(下篇)

回溯算法是一种经典的递归算法,通常⽤于解决组合问题、排列问题和搜索问题等。回溯算法的基本思想:从一个初始状态开始,按照⼀定的规则向前搜索,当搜索到某个状态无法前进时,回退到前一个状态,再按照其他的规则搜索。回溯算法在搜索过程中维护一个状态树,通过遍历状态树来实现对所有可能解的搜索。回溯算法的核心思想:“试错”,即在搜索过程中不断地做出选择,如果选择正确,则继续向前搜索,否则,回退到上一个状态,重新做出选择。回溯算法通常用于解决具有多个解,且每个解都需要搜索才能找到的问题。// 回溯算法的模板。
原创
发布博客 2024.10.06 ·
1026 阅读 ·
10 点赞 ·
0 评论 ·
31 收藏

【算法】字符串相关

字符串是一种数据结构,大多与别的算法结合在一起出题,例如模拟、高精度算法、双指针、dp、回溯等,因此这个专题的题型本身是特别丰富的。本篇选取了较为典型的字符串题型,除了涵盖一些常用算法,还包括经常用到的容器、接口等。
原创
发布博客 2024.09.28 ·
965 阅读 ·
34 点赞 ·
3 评论 ·
16 收藏

【算法】DFS 系列之 穷举/暴搜/深搜/回溯/剪枝(上篇)

回溯算法是一种经典的递归算法,通常⽤于解决组合问题、排列问题和搜索问题等。回溯算法的基本思想:从一个初始状态开始,按照⼀定的规则向前搜索,当搜索到某个状态无法前进时,回退到前一个状态,再按照其他的规则搜索。回溯算法在搜索过程中维护一个状态树,通过遍历状态树来实现对所有可能解的搜索。回溯算法的核心思想:“试错”,即在搜索过程中不断地做出选择,如果选择正确,则继续向前搜索,否则,回退到上一个状态,重新做出选择。回溯算法通常用于解决具有多个解,且每个解都需要搜索才能找到的问题。// 回溯算法的模板。
原创
发布博客 2024.09.27 ·
1498 阅读 ·
27 点赞 ·
1 评论 ·
19 收藏

【算法】二叉树中的 DFS

二叉树是一种经典的树结构,是节点的一个有限集合(该集合为空,或由一个根节点加上两棵别称为左子树和右子树的二叉树组成)。二叉树中又有一些特别的类型,例如二叉搜索树、红黑树等。若根的左子树不为空,则左子树上所有节点的值都小于根节点的值;若根的右子树不为空,则右子树上所有节点的值都大于根节点的值;根的左右子树也分别为二叉搜索树。前序遍历:根->左子树->右子树。中序遍历:左子树->根->右子树。后序遍历:左子树->右子树->根。
原创
发布博客 2024.09.26 ·
890 阅读 ·
31 点赞 ·
0 评论 ·
29 收藏

【项目综合】高并发内存池

central cache 是哈希桶结构,每个桶里挂的都是一个个双向循环链表 spanList,链表中的每一个节点 span 都是一个管理以页为单位的大块内存的结构体。span 结构体中既封装了页的相关字段,也有维护双向链表结构的前驱指针和后继指针,还有对分配给 thread cache 的内存块进行计数的计数器,以及管理着切好的小块内存的自由链表头指针。Common.h#endif//管理切分好的定长内存块的自由链表//...//计算定长内存块的对齐映射规则//...
原创
发布博客 2024.09.25 ·
1299 阅读 ·
62 点赞 ·
3 评论 ·
18 收藏

【算法】递归

常见的、典型的搜索算法有 BFS(宽度优先搜索)和 DFS(深度优先搜索)。而递归是搜索算法的基础。如果将递归看作是一个大类,那么搜索算法就是递归下面的一个分支,因此要掌握搜索算法,就必须掌握递归。【Tips】递归是什么?简单来说,递归就是一个函数自己调用自己的行为。【Tips】为什么会用到递归?把一个问题看作是主要问题,这个主要问题可以划分为若干个相同的子问题,递归就主要针对这种场景。【Tips】如何理解递归?画递归展开的细节图(本质是对一棵树进行DFS);借助二叉树的相关题目;
原创
发布博客 2024.09.24 ·
1210 阅读 ·
31 点赞 ·
1 评论 ·
21 收藏

【算法】BFS系列之 拓扑排序

【补】图的基本概念(1)顶点集合V = {x|x属于某个数据对象集}是有穷非空集合;E = {(x,y)|x,y属于V}或者E = {|x,y属于V && Path(x, y)}是顶点间关系的有穷集合,也叫做边的集合。(x, y)表示x到y的一条双向通路,即(x, y)是无方向的;Path(x, y)表示从x到y的一条单向通路,即Path(x, y)是有方向的。顶点和边:图中结点称为顶点,第i个顶点记作vi。
原创
发布博客 2024.09.22 ·
1121 阅读 ·
24 点赞 ·
4 评论 ·
27 收藏

【算法】BFS 系列之 多源 BFS

最短路问题是图论中一种经典的题型,包括单源最短路、多源最短路、边权为 1 的最短路等等。本篇主要讲述的是边权为 1 的多源最短路问题。简单来说,边权为 1 的单源最短路问题即为:求从单个起点到终点的最短路径距离,而边权为 1 的多源最短路问题即为:求从多个起点到终点的最短路径距离。对于多源的最短路问题,我们将多个相邻的起点看作是一个整体,进而简化成一个起点,将多源转化成单源并利用 BFS 来处理,具体的方式是,在用队列进行 BFS 时,将所有起点入队,然后一层一层向外扩展。​。
原创
发布博客 2024.09.20 ·
1043 阅读 ·
25 点赞 ·
0 评论 ·
22 收藏

【算法】BFS 系列之边权为 1 的最短路问题

最短路问题是图论中一种经典的题型,包括单源最短路、多源最短路、边权为 1 的最短路等等。本篇主要讲述的是边权为 1 的最短路问题。有如下一幅无向图,其中的每个点都可以看作是一个地点,两点之间的线可以看作是一条路径,路径上标识的权值(边权)可以看作是路径的长度,所谓最短路问题,就是求一个地点到另一个地点的最短路径长度。而边权为 1 的最短路问题,就是指每条路径上的权值都为 1 或都相同。
原创
发布博客 2024.09.19 ·
1205 阅读 ·
24 点赞 ·
1 评论 ·
17 收藏

【算法】BFS系列之 FloodFill 算法

FloodeFill算法即填充算法,原理就是从一个点开始向四周扩散,向周围可以走到的点填充颜色,直到将可扩散到的点全部填充颜色。BFS (宽搜)算法通常使用队列实现,将起始像素点加入队列中,并不断扩展队列中的像素点,直到队列为空为止。DFS(深搜) 算法通常使用递归实现,在处理当前像素点的相邻像素点时,递归调用 DFS 函数,不断深入直到无法找到相邻像素为止。假设这一块4*4的方格是一块土地,有凸起的地方,也有凹陷的地方(凹陷的地方用负数表示)。此时下大雨发洪水,会把凹陷的地方填满。
原创
发布博客 2024.09.18 ·
1292 阅读 ·
15 点赞 ·
0 评论 ·
10 收藏

【算法】堆与优先级队列

1046. 最后一块石头的重量。
原创
发布博客 2024.09.18 ·
1124 阅读 ·
11 点赞 ·
0 评论 ·
23 收藏

【算法】队列与BFS

和栈类似,队列也是一种特殊的线性数据结构,是只允许在一端进行插入数据操作、在另一端进行删除数据操作的特殊线性表,具有先进先出的特性。进行插入操作(入队)的一端称为队尾,进行删除操作(出队)的一端称为队头。队列一般与 BFS(宽度优先搜索)结合出题,而 BFS 主要的题型有树形结构相关(多为二叉树)、图论相关(最短路问题、迷宫问题、拓扑排序等)。
原创
发布博客 2024.09.16 ·
879 阅读 ·
23 点赞 ·
2 评论 ·
30 收藏

【算法】栈与模拟

栈是一种特殊的线性表,只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一端称为栈顶,另一端称为栈底,栈中的数据元素遵守后进先出的原则。它的插入操作叫做进栈(或进栈/入栈),插入的数据在栈顶;删除操作叫做出栈。出的数据也在栈顶。栈一般与模拟算法结合在一起出题,在题目中野经常充当数据的缓存容器,来帮助模拟入栈和出栈的过程以求得结果。
原创
发布博客 2024.09.16 ·
877 阅读 ·
25 点赞 ·
0 评论 ·
9 收藏

【算法】哈希表相关

哈希表是一种存储数据的容器,可以快速查找某个元素,其查找的时间复杂度为 O(1),非常合适需要频繁查找某一个元素的场景。直接使用底层为哈希表的 STL 容器。用数组模拟简易的哈希表,例如利用数组统计字符串中字符的频次、整型的数据范围很小时映射某些值等。
原创
发布博客 2024.09.11 ·
1007 阅读 ·
28 点赞 ·
3 评论 ·
22 收藏

【算法】链表相关

链表是一种常见的线性数据结构,是一种在物理结构上非连续、非顺序的存储结构,其中的数据元素的逻辑顺序由其中的指针链接次序实现,指针链接的每一个结构体都是一个节点。链表的结构多种多样,有单向或双向、带头或不带头、循环或非循环之分。无头单向非循环链表(或称单链表)带头双向循环链表(或称双向链表)【Tips】链表的常用技巧一定要画图!引入一个虚拟的头节点,利于处理边界情况、对链表进行各种操作。不要吝啬空间,大胆定义变量去使用,尤其涉及到插入操作的时候。
原创
发布博客 2024.09.11 ·
737 阅读 ·
13 点赞 ·
0 评论 ·
10 收藏

【算法】分治 · 归并

与快速排序类似,归并排序也将无序数组进行划分,根据数组的中间位置,通过递归的方式依此将数组划分为两个区间,直到每个区间只有一个元素为止,然后在每一层递归对划分后的数组进行排序,最终递归层层返回,将若干个排好序的小区间合并起来,这样就完成了对无序数组的排序。
原创
发布博客 2024.09.09 ·
1066 阅读 ·
26 点赞 ·
1 评论 ·
16 收藏
加载更多