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

以leetcode733题为例

题目解析:

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

算法原理分析:

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

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

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

全局变量:无

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

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

剪枝:无

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

代码编写:

相关推荐
徐行tag27 分钟前
深度学习基础——神经网络优化算法
深度学习·神经网络·算法
liuzhangfeiabc3 小时前
[luogu12541] [APIO2025] Hack! - 交互 - 构造 - 数论 - BSGS
c++·算法·题解
学习使我变快乐3 小时前
C++:迭代器
开发语言·c++·windows
好想有猫猫3 小时前
【Redis】List 列表
数据库·c++·redis·分布式·缓存·list
平和男人杨争争4 小时前
山东大学计算机图形学期末复习15——CG15
人工智能·算法·计算机视觉·图形渲染
superior tigre5 小时前
C++学习:六个月从基础到就业——C++11/14:其他语言特性
c++·学习
天堂的恶魔9465 小时前
C++ - 仿 RabbitMQ 实现消息队列(2)(Protobuf 和 Muduo 初识)
c++·rabbitmq·ruby
休息一下接着来6 小时前
进程间通信(IPC)常用方式对比
linux·c++·进程间通讯
虾球xz6 小时前
游戏引擎学习第288天:继续完成Brains
c++·学习·游戏引擎
John_ToDebug6 小时前
Chromium 浏览器核心生命周期剖析:从 BrowserProcess 全局管理到 Browser 窗口实例
c++·chrome·性能优化