- 博客(8)
- 收藏
- 关注
原创 【算法】【优选算法】BFS 解决 FloodFill 算法
FloodFill 算法是一种用于填充连通区域的算法,常用于图像处理中的颜色填充。从队列中取出当前点,检查其四个方向(或八个方向,取决于需求)的相邻点。若相邻点满足条件(如颜色与起始点相同),则将其加入队列并修改。从起始点出发,逐层向外扩展,将符合条件的相邻点标记为已访问或修改其值。对于大规模数据,可结合并行计算或使用更高效的数据结构(如双端队列)。将起始点坐标加入队列,并标记为已访问或修改为目标值。O(m×n),队列在最坏情况下可能存储所有点。队列为空时,算法终止,所有连通区域已被填充。
2026-01-13 21:48:06
388
原创 数据结构 | 深度解析二叉树的基本原理
二叉树是一种非线性数据结构,由节点(Node)组成,每个节点最多有两个子节点,分别称为左子节点和右子节点。节点之间的关系通过指针(或引用)连接。根节点(Root)是树的起点,没有父节点;叶子节点(Leaf)是没有子节点的节点。按层级从上到下、从左到右访问节点,通常借助队列实现。
2026-01-13 21:34:28
397
原创 动态规划在斐波那契数列中的应用与优化
动态规划通过将问题分解为重叠子问题,并存储子问题的解以避免重复计算。斐波那契数列是动态规划的经典案例,其定义为: [ F(n) = F(n-1) + F(n-2) ] 其中,( F(0) = 0 ),( F(1) = 1 )。
2026-01-13 21:27:52
462
原创 Leetcode—85. 最大矩形【困难】
将问题分解为每一行的直方图最大矩形问题。对于每一行,计算以该行为底边的直方图高度,然后利用单调栈求解直方图中的最大矩形。数组,使用单调栈找到每个高度能扩展的最大宽度,从而计算最大矩形面积。的二维二进制矩阵,找出只包含。对于每一行,维护一个高度数组。的最大矩形,并返回其面积。表示从当前行向上连续的。
2026-01-13 21:20:48
536
原创 【C++:哈希表封装】用哈希表封装unordered_map和unordered_set
哈希表是一种通过哈希函数将键映射到存储位置的数据结构,能够实现平均时间复杂度为O(1)的查找、插入和删除操作。这种封装方式提供了与STL类似的接口,同时允许自定义哈希函数和比较器,可以根据具体需求进行扩展和优化。,分别用于存储键值对和唯一键。
2026-01-13 21:15:09
276
原创 算法-二分查找
其核心思想是通过不断缩小搜索范围,将目标值与中间元素比较,从而将时间复杂度降至。二分查找(Binary Search)是一种高效的搜索算法,适用于。
2026-01-13 21:11:12
17
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅