zoukankan      html  css  js  c++  java
  • 普林斯顿公开课 算法1-11:并查集的应用

    应用

    渗透问题

    游戏中会用到。


    动态连接

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



    渗透问题


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


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



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


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


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



  • 相关阅读:
    C#Web网站的创建
    C#Repeater控件的使用
    C#LINQ
    C#异常处理
    C#LINQ
    C#匿名委托,匿名函数,lambda表达式
    C#chart图表的应用
    C#用户控件的使用
    用 Python写 daemon
    CentOS 5.4 制作 Python 2.6 RPM 包的方法
  • 原文地址:https://www.cnblogs.com/zfyouxi/p/3893244.html
Copyright © 2011-2022 走看看