每日算法 — 使用java实现迷宫生成与求解:ALT地标启发式与双向Dijkstra
迷宫是搜索算法的天然试验场:它有清晰的图结构、可调的规模、以及一个很直观的"优化目标"——从入口到出口找最短路径。 大多数人写迷宫寻路会直接上...
每日算法 — 使用java实现蛇棋:吸收马尔可夫链与状态转移矩阵精确求解
一、从童年棋盘到概率模型 蛇棋(Snakes and Ladders,又称"蛇与梯子")是最简单的运气游戏:棋盘有 100 个格子,玩家从 0 号格出发,每回合掷一枚六面骰子前进 1~6...
每日算法 — 使用java实现泡泡龙:六边形轴向坐标映射与悬挂块并查集判定
一、泡泡龙的真正难点不在"打中",而在"塌落" 很多人以为泡泡龙(Bubble...
每日算法 — 使用java实现围棋死活题:与或图搜索与Benson眼位判定
一、死活题为什么不能用普通搜索 围棋死活题(Life and...
每日算法 — 使用java实现大富翁:破产概率马尔可夫链与贝尔曼最优购置决策
一、大富翁里真正的算法:不是掷骰子,而是"该不该买地"...
每日算法 — 使用java实现麻将:和牌分解回溯与听牌有效张概率枚举
一、"听几张"这个问题,为什么比看上去难 麻将里最实用的判断是:我的牌听几张? 比如手里 13...
每日算法 — 使用java实现Flappy Bird:模糊逻辑控制器与规则库自适应调参
Flappy Bird...
每日算法 — 使用java实现迷宫生成:Hunt-and-Kill猎杀算法与随机游走生成
迷宫的生成算法有很多种:DFS 回溯产生长走廊、Prim 产生大量分支、Wilson 算法保证均匀分布。Hunt-and-Kill(猎杀算法)是一个位置尴尬但极其好用的选择——它没有 Wilson...