1.
2. 如扫雷游戏
每次点击一个格子就要扫描相邻的8个格子。当点击到边界的时候,相邻不足8个格子,这时候就可以在设计游戏的时候为边界外圈加上隐藏的一层格子。这样就可以使所有的操作一致化,不需要对边界的条件作出特殊的处理。
总结:
1 ) 哨兵基本不能降低数据结构相关操作的渐近时间界,但其可以降低常数因子。
2 ) 哨兵的设计可以使得代码更简洁,可以省去一些由于边界环境不同而作出的特殊处理。
3 ) 在某些情况下哨兵可以使得循环语句更紧凑,降低运行时间里n或者n²项的系数。
4 ) 慎用:哨兵会占用额外的内存。当使用哨兵的开销较大时,有可能会造成严重的浪费
原文:https://www.cnblogs.com/mysky007/p/12323033.html