标签:实现 顺序 使用 入队 队列 queue 最短路径问题 广度 广度优先
解决最短路径问题的算法被称为广度优先(breadth-first search,BFS)搜索。
广度优先搜索是一种用于图的查找算法,可解决两类问题:
从节点A出发,有前往节点B的路径吗?
从节点A出发,前往节点B的哪条路径最短?
最短路径问题的解决步骤:
1.使用图建立问题模型;
2.使用广度优先搜索解决问题。
广度优先搜素算法从邻居节点及邻近节点的邻居节点中搜索,直到搜索到目标。
首先搜索一度 关系,再搜索二度关系 ,然后三度关系,......
因此,广度优先搜索不仅查到从A到B的路径,而且找到的是最短的路径。
只有按添加顺序查找时,才能实现这样的目的;可以使用队列(queue)来实现。
队列工作原理:先进先出(First In First Out,FIFO)。
队列操作:入队,出队。
图的实现:
图由一系列的节点和边组成;每个节点都与邻近节点相连,可以使用散列表来实现图。
散列表是无序的,添加键-值对的顺序是无关的。
标签:实现 顺序 使用 入队 队列 queue 最短路径问题 广度 广度优先
原文地址:https://www.cnblogs.com/songyuejie/p/11374406.html