云莉的技术专题

2020-03-29  本文已影响0人  云莉6

图的属性

图的表示和分类

基于图的常见算法

深度优先搜索算法:DFS(Depth-First-Search)

实现方法:

  1. 首先将根节点放入 stack 中。

  2. 从 stack 中取出第一个节点,并检验它是否为目标。如果找到目标,则结束搜寻并回传结果。否则将它某一个尚未检验过的直接子节点加入 stack 中。

  3. 重复步骤 2.

  4. 如果不存在未检测过的直接子节点。将上一级节点加入 stack 中。重复步骤 2。

  5. 重复步骤 4。

  6. 若 stack 为空,表示整张图都检查过了—亦即图中没有欲搜寻的目标。结束搜寻并回传“找不到目标”。

广度优先搜索算法:BFS(Breadth First Search),又译作宽度优先搜索,或横向优先搜索

实现方法:

  1. 首先将根节点放入队列中。

  2. 从队列中取出第一个节点,并检验它是否为目标。

  1. 若队列为空,表示整张图都检查过了—亦即图中没有欲搜索的目标。结束搜索并回传“找不到目标”。

  2. 重复步骤 2。

图的高级算法

上一篇 下一篇

猜你喜欢

热点阅读