最近经常被问到DFS和BFS的区别。
经过整理,现将他们的区别写出来供大家参考。
1、
BFS使用队列实现。FIFO(先进先出)
DFS使用栈实现。LIFO(后进先出)
2、
DFS比BFS更快
3、
DFS需要的内存更少
4、
DFS多使用递归实现
PS:
当数据量很大的时候,栈和队列都会溢出。
经过整理,现将他们的区别写出来供大家参考。
1、
BFS使用队列实现。FIFO(先进先出)
DFS使用栈实现。LIFO(后进先出)
2、
DFS比BFS更快
3、
DFS需要的内存更少
4、
DFS多使用递归实现
PS:
当数据量很大的时候,栈和队列都会溢出。