- 博客(4)
- 收藏
- 关注
原创 【python】烂橘子问题-BFS
'''题目:在给定的网格中,每个单元格可以有以下三个值之一: 值 0 代表空单元格; 值 1 代表新鲜橘子; 值 2 代表腐烂的橘子。 每分钟,任何与腐烂的橘子(在 4 个正方向上)相邻的新鲜橘子都会腐烂。 返回直到单元格中没有新鲜橘子为止所必须经过的最小分钟数。如果不可能,返回 -1。 思路:说白了还是从第一个腐烂橘子开始,上下左右走,走到边缘,然后结束,看有没有好橘子''' from collections import deque def bfs4(): dx=[1,0,-1,0]
2020-10-25 16:49:56
379
1
原创 障碍物迷宫-固定
障碍物迷宫-固定 ‘’‘迷宫是固定的,走出来,同样上下左右,0没有障碍物,1 有障碍物’’’ from collections import deque def migong(): dx=[1,0,-1,0] dy=[0,1,0,-1] maze1 = [[0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0]] maze = [[0
2020-10-22 16:22:47
475
原创 障碍物迷宫
障碍物迷宫 ‘’‘还是迷宫,从左上到右下,不能斜着走,用@表示没有走过,用*表示障碍,用a表示走过,一次一格,然后存在随机障碍物’’’ import random from collections import deque def migong(m,n): dx=[1,0,-1,0] dy=[0,1,0,-1] v={(x,y): random.choice('@*') for x in range(0,m) for y in range(0,n)} v[(0,0)]="a"
2020-10-22 15:20:57
530
原创 【python】BFS
【python】BFS 。 BFS, 找到一个节点,不是目标就顺便把他的子节点加入到队列中,这个是一层一层的关系。永远是先找完第一层,再找第二层,所以可以实现最短路径,树会比较容易理解。但是注意,该记录不讨论权重。 在这个里面涉及几个结构,队列和字典,列表 模板 初始化队列Q; 清除visited数组; Q =起点S; while(Q非空) { 取队首元素U;出队; if(U == 目标状态 && U在矩阵内) {…} 所有与U相邻且未被访问的状态入队; 标记U为已访问; }’’’ 例题1,
2020-10-22 13:39:24
189
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人