智讯网 智能科技与电子数码

深度优先和广度优先的区别

深度优先和广度优先的区别 

深度优先和广度优先的主要区别在于它们的搜索顺序和存储方式

1. 搜索顺序:深度优先搜索会沿着一条路径不断往下,搜索直到不能再继续为止,到了路径的尽头,再折返,再对另一条路径进行搜索。这种搜索方式就像是人传人的行为,一个病原体开始进行传染最近单元。

2. 存储方式:深度优先搜索不全部保留结点,扩展完的结点从数据库中弹出删去,这样,一般在数据库中存储的结点数就是深度值,因此它占用空间较少。而广度优先搜索需要保留全部结点,占用的存储空间要比深度优先搜索大得多,因此,程序设计中,必须考虑溢出和节省内存空间的问题。

需要注意的是,目标节点离起点越近,广度优先搜索结束得就越快;而深度优先搜索会优先搜索深度较大的节点,直到到达目标节点为止。

版权说明:文章均为账号作者发布,不代表本网站观点与立场,如有侵权请联系我们删除