当前位置: 首页 > news >正文

并查集练习 — 扩展问题(二)

根据并查集练习 —岛屿数量的问题再次扩展:
原题是给定一个二维数组matrix(char[][]),里面的值不是1就是0,上、下、左、右相邻的1认为是一片岛。返回matrix中岛的数量。
扩展为:如果是中国的地图,1表示沙砾,0表示水。这种情况下,matrix数组会非常非常大,怎么采用分治的思想来求土地(岛屿)的数量。

总的来说是进行拆分,分别求出每一块的土地数量后,再次进行合并。比如说:二维数组如图所示
在这里插入图片描述
它是一个岛,但是太大了,如何进行拆分以及整合。
在这里插入图片描述
可以在中间任意位置进行切割,此时左右两边互相不知道信息,分别拆分,左侧可拆分出来A,B两个岛屿,右侧可拆分出来C,D,E三个岛屿,拆分的同时收集边界信息,看那些岛屿(根据图中颜色划分)属于哪个边界。A,B,C,D,E共5个样本而后根据边界找parent。如果不相等,边界union。

http://www.lryc.cn/news/112622.html

相关文章:

  • iTOP-i.MX8MM开发板添加 isb 转串口设备驱动
  • Golang实现Redis分布式锁解决秒杀问题
  • 狂神说-通俗易懂的23种设计模式
  • VR实景导航——开启3D可视化实景导航新体验
  • 《HeadFirst设计模式(第二版)》第四章代码——工厂模式
  • 拖拽宫格vue-grid-layout详细应用及案例
  • sanyo三洋摄像机卡有部分坏块恢复案例
  • 【C++】STL——set和map及multiset和multiset的介绍及使用
  • 帕累托森林:IEEE Fellow唐远炎院士出任「儒特科技」首席架构官
  • 数据库大数据
  • 骨传导耳机是怎么工作的?骨传导耳机是智商税产品吗?
  • Java电子招投标采购系统源码-适合于招标代理、政府采购、企业采购、等业务的企业tbms
  • 算法-合并区间
  • 布基纳法索ECTN(BESC)申请流程
  • CDN安全面临的问题及防御架构
  • 【MySQL】MySQL管理 (十四)
  • Mybatis:一对一查询映射处理
  • 九、用 ChatGPT 提高算法和编程能力
  • 【数模】主成分分析PCA
  • 全志F1C200S嵌入式驱动开发(从DDR中截取内存)
  • C++中点云聚类算法的实现与应用探索
  • 大数据Flink(五十六):Standalone伪分布环境(开发测试)
  • Godot 4 源码分析 - 碰撞
  • 前端面试经典算法题
  • ospf减少LSA更新
  • 万字长文解析深度学习中的术语
  • 冠达管理投资前瞻:三星加码机器人领域 大信创建设提速
  • 24届近5年上海交通大学自动化考研院校分析
  • 【PDF密码】PDF文件不能打印,为什么?
  • LeetCode-Java(03)