专题五:floodfill算法(图像渲染深度优先遍历解析与实现)

以leetcode733题为例

题目解析:

给一个初始坐标(sr,sc)比如示例中的粉色的1,如果周围上下左右都是1,就是连通块(性质相同的地方),把它涂上颜色(2)即可,右下角不算,因为不算对角线的

算法原理分析:

这个系列只会讲解深度优先遍历的解法(关于宽度优先遍历在优选算法中进行讲解)

其实就是以起点做一次深度优先遍历

注意:如果这个填充颜色和一开始的坐标的颜色一样,就直接返回即可

全局变量:无

dfs算法:给一个坐标,先把这个坐标改成2,然后开始扩展上下左右

细节:回溯:不用恢复现场

剪枝:无

递归出口:无路可走时自动出来

代码编写:

相关推荐
rainbow688927 分钟前
EffectiveC++入门:四大习惯提升代码质量
c++
秋邱43 分钟前
用 Python 写出 C++ 的性能?用CANN中PyPTO 算子开发硬核上手指南
开发语言·c++·python
我在人间贩卖青春1 小时前
C++之析构函数
c++·析构函数
野犬寒鸦1 小时前
从零起步学习并发编程 || 第六章:ReentrantLock与synchronized 的辨析及运用
java·服务器·数据库·后端·学习·算法
霖霖总总1 小时前
[小技巧66]当自增主键耗尽:MySQL 主键溢出问题深度解析与雪花算法替代方案
mysql·算法
rainbow68891 小时前
深入解析C++STL:map与set底层奥秘
java·数据结构·算法
我在人间贩卖青春1 小时前
C++之数据类型的扩展
c++·字符串·数据类型
wangjialelele2 小时前
平衡二叉搜索树:AVL树和红黑树
java·c语言·开发语言·数据结构·c++·算法·深度优先
苏宸啊2 小时前
C++栈和队列
c++
森G2 小时前
七、04ledc-sdk--------makefile有变化
linux·c语言·arm开发·c++·ubuntu