zoukankan      html  css  js  c++  java
  • 迷宫算法

    深度优先算法的核心是(翻译的维基):
    1、将起点作为当前格并标记
    2、当还存在未标记的格时
    ——1、如果当前格有未标记的邻格
    ————1、随机选择一个未标记的邻格
    ————2、将当前格入栈
    ————3、移除当前格与邻格的墙
    ————4、标记邻格并用它作为当前格
    ——2、反之,如果栈不空
    ————1、栈顶的格子出栈
    ————2、令其成为当前格
    ——3、反之,随机选择一个格子为当前格并标记

    通俗的说,就是从起点开始随机走,走不通了就原路返回,从下一个能走的地方再开始随机走。

    随机prim算法的核心是(翻译的维基):
    1、让迷宫全是墙
    2、选一个格作为迷宫的通路,然后把它的邻墙放入列表
    3、当列表里还有墙时
    ——1、从列表里随机选一个墙,如果它对面的格子不是迷宫的通路
    ————1、把墙打通,让对面的格子成为迷宫的通路
    ————2、把那个格子的邻墙加入列表
    ——2、如果对面的格子已经是通路了,那就从列表里移除这面墙

    通俗的说,就是在所有可以走的地方上随机挖洞,创造出新的可以走的地方。

    参考链接:

    https://en.wikipedia.org/wiki/Maze_generation_algorithm

    https://en.wikipedia.org/wiki/Talk:Maze_generation_algorithm

  • 相关阅读:
    JS 中的foreach和For in比较
    SQL 查询CET使用领悟
    .NET开源项目
    asp.net获取客户端IP方法(转载)
    jQuery Mobile 基础(第四章)
    jQuery Mobile 基础(第三章)
    jQuery Mobile 基础(第二章)
    机器学习笔记之梯度下降法
    特征脸是怎么提取的之主成分分析法PCA
    word2vec初探
  • 原文地址:https://www.cnblogs.com/energy1010/p/6919225.html
Copyright © 2011-2022 走看看