代码随想录图论part03

第十一章:图论part03

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

代码随想录

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

  1. 沉没孤岛 (广搜)

代码随想录

  1. 水流问题

代码随想录

目的:找水源

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

main:

深搜:

广搜:

104.建造最大岛屿

代码随想录

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

第一步:

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

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

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

整体代码:

第二步:

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

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

整体代码:

总结:

  1. 前三道题都是逆向思考,从外向内
  2. 建造最大岛屿:第一步已经把整张图划分为几个区域,第二步就是整合区域然后找最大区域,每一步都有标记的过程,注意处理条件
相关推荐
泛舟起晶浪10 小时前
推导部分和-图论+dfs+连通块
算法·深度优先·图论
碳酸的唐12 小时前
用python实现鼠标监听与手势交互
python·动态规划·图论
yuhao__z12 小时前
代码随想录算法训练营第五十八天| 图论4—卡码网110. 字符串接龙,105. 有向图的完全联通
算法·图论
yuhao__z18 小时前
代码随想录算法训练营第五十六天| 图论2—卡码网99. 岛屿数量(dfs & bfs)
算法·深度优先·图论
我想进大厂1 天前
洛谷---P1629 邮递员送信
c++·算法·图论
triticale1 天前
【数据结构】求有向图强连通分量的方法
数据结构·图论
啊阿狸不会拉杆1 天前
人工智能数学基础(十)—— 图论
人工智能·python·数学·算法·图论
方方土3332 天前
ABC 404
数据结构·算法·图论
jia_jia_LL2 天前
备战蓝桥杯国赛第一天-atcoder-beginner-contest404
c++·算法·蓝桥杯·图论