摘要: BFS有两种常见的形式:形式1:把初始点加入队列;while (队列非空) { 取出队头; 操作取出的点; 寻找周围符合条件的点加入队列;}形式2:操作初始点把初始点加入队列;while (队列非空) { 取出队头; 寻找周围符合条件的点,操作找到的点,然后加入队列;}这两种形式的差别就是新找到的点先插入队列还是先操作,看似没什么差别,其实有的时候效率差别非常大;举个栗子://BFS示例1:先操作后插入队列 void bfs(int x, int y, int n, int m, vector> &board) { static int dx[] = {-1, 1, 0, 0}; 阅读全文
posted @ 2014-03-25 21:53 Chierush 阅读(1303) 评论(0) 推荐(1) 编辑