代码随想录图论part03

第十一章:图论part03

  1. 孤岛的总面积 (深搜)

代码随想录

孤岛问题:先处理边缘岛在处理孤岛

  1. 沉没孤岛 (广搜)

代码随想录

  1. 水流问题

代码随想录

目的:找水源

思路;逆向思考,找两个边界的公共源头,从第一边界出发找到所有源头,再从第二边界出发找到所有源头,重叠处即为目标

main:

深搜:

广搜:

104.建造最大岛屿

代码随想录

思路:首先找到目前最大面积的岛屿,然后遍历岛屿周边的海洋,然后找到以某一片海洋为中心的岛屿面积的最大值

第一步:

用一个map存岛屿及岛屿面积

计算岛屿面积并给他们编号

深搜(计算面积并标记):

整体代码:

第二步:

1.遍历岛屿周边海洋,岛屿已经有编号,获得周围连接岛屿总面积,根据编号查表

2.需要一个哈希来记录添加的新陆地周边(上右下左)已经计算过的岛屿编号,防止重复计算(例如,新陆地的左边和下边是同一片岛屿,这时候就得跳过左边),每次遇到新陆地就要清空该表,动态变化

整体代码:

总结:

  1. 前三道题都是逆向思考,从外向内
  2. 建造最大岛屿:第一步已经把整张图划分为几个区域,第二步就是整合区域然后找最大区域,每一步都有标记的过程,注意处理条件
相关推荐
positive_zpc3 天前
进阶数据结构图——关键路径(四)
数据结构·图论·关键路径
云淡风轻~窗明几净4 天前
宇宙管理学猜想
算法·图论
小星星闪亮登场4 天前
图论--最小生成树(内含二分图)
数据结构·算法·图论·迭代加深·图搜索算法
positive_zpc4 天前
进阶数据结构图——最短路径(二)
数据结构·算法·图论·最短路径
positive_zpc4 天前
进阶数据结构图——最小生成树(一)
数据结构·算法·图论
无定义_5 天前
Dijkstra——单源最短路径
算法·图论
zmzb01035 天前
C++课后习题训练记录Day201
c++·算法·图论
星星.7225 天前
【图论】最小生成树|Prim+Kruskal算法
数据结构·c++·算法·图论
微小冷7 天前
Python图论库NetworkX初步
开发语言·python·图论·graph·networkx·digraph
珂朵莉MM8 天前
2026国信杯具身智能创新大赛-编程技能赛--本科组国赛解题报告 | 珂学家
算法·深度优先·图论