在通信相关的问题中,图论算法是一个实用性很强的理论知识点。
图论算法的两种最基本算法,深度优先算法,广度优先算法。
广度优先搜索算法相对比较简单。一个实例是求单源无权最短路径问题。广度优先算法,顾名思义,是在搜索的广度上组织程序的,利用的数据结构是队列。
将节点分为两类,已发现、未发现。最初已发现节点为源节点一个,其余均为未发现节点。首先将源节点加入到队列中去,然后建立一个循环结构体,处理队列中的数据:将队首的节点所连接的节点加入到队列中去;将队首节点出列。 循环结构体在队列清空后结束。 如此做法可以得到一个广度优先树。
深度优先搜索算法有点难以找到实例。深度优先算法是在每一次搜索都尽可能的深入,一个实例是拓扑排序。