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

以leetcode733题为例

题目解析:

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

算法原理分析:

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

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

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

全局变量:无

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

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

剪枝:无

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

代码编写:

相关推荐
梵尔纳多1 分钟前
第一个 3D 图像
c++·图形渲染·opengl
永远都不秃头的程序员(互关)2 分钟前
【决策树深度探索(一)】从零搭建:机器学习的“智慧之树”——决策树分类算法!
算法·决策树·机器学习
xiaoqider4 分钟前
C++继承
开发语言·c++
YE1234567_9 分钟前
从底层零拷贝到分布式架构:深度剖析现代 C++ 构建超大规模高性能 AI 插件引擎的实战之道
c++·分布式·架构
程序员-King.9 分钟前
day161—动态规划—最长递增子序列(LeetCode-300)
算法·leetcode·深度优先·动态规划·递归
西柚小萌新19 分钟前
【计算机视觉CV:目标检测】--3.算法原理(SPPNet、Fast R-CNN、Faster R-CNN)
算法·目标检测·计算机视觉
高频交易dragon21 分钟前
Hawkes LOB Market从论文到生产
人工智能·算法·金融
脏脏a21 分钟前
C++ 容器的两把利器:优先级队列与反向迭代器
c++·反向迭代器·优先级队列
张张努力变强29 分钟前
C++ 类和对象(三):拷贝构造函数与赋值运算符重载之核心实现
开发语言·c++
_OP_CHEN30 分钟前
【算法基础篇】(五十)扩展中国剩余定理(EXCRT)深度精讲:突破模数互质限制
c++·算法·蓝桥杯·数论·同余方程·扩展欧几里得算法·acm/icpc