码迷,mamicode.com
首页 > 其他好文 > 详细

普林斯顿公开课 算法1-10:并查集-优化的快速合并方法

时间:2014-06-02 19:00:51      阅读:334      评论:0      收藏:0      [点我收藏+]

标签:算法   并查集   

应用

渗透问题

游戏中会用到。


动态连接

  • 最近共同祖先
  • 等价有限状态机
  • 物理学Hoshen-Kopelman算法:就是对网格中的像素进行分块
  • Hinley-Milner多态类型推断
  • Kruskai最小生成树
  • Fortran等价语句编译
  • 形态学开闭属性
  • Matlab中关于图像处理的bwlabel函数


bubuko.com,布布扣


渗透问题


一个N×N的矩阵,判断顶部和底部是否连通就是渗透问题。


下图中左侧的矩阵能渗透,右侧矩阵不能渗透。


bubuko.com,布布扣


渗透问题在电学、流体力学、社会交际中都有应用。


在游戏中可能需要生成一张地图,但是作为地图肯定是需要连通的。那么如何保证生成的地图一定是连通的呢?下图展示了地图生成的过程,白点表示能够到达的地方,黑点表示障碍物,蓝点表示能够连通的地方。生成地图的时候就是不断增加白点,直到上下能够连通为止。

bubuko.com,布布扣


为了判断能否渗透,计算的过程中会增加一个虚拟的节点,这样就把渗透问题简化成判断两个节点能否连通。下图展示了虚拟节点示意图。


bubuko.com,布布扣


普林斯顿公开课 算法1-10:并查集-优化的快速合并方法,布布扣,bubuko.com

普林斯顿公开课 算法1-10:并查集-优化的快速合并方法

标签:算法   并查集   

原文地址:http://blog.csdn.net/caipeichao2/article/details/28116287

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!