网页的本质就是超级文本标记语言,通过结合使用其他的Web技术(如:脚本语言、公共网关接口、组件等),可以创造出功能强大的网页。因而,超级文本标记语言是万维网(Web)编程的基础,也就是说万维网是建立在超文本基础之上的。超级文本标记语言之所以称为超文本标记语言,是因为文本中包含了所谓“超级链接”点。
本篇文章给大家带来的内容是关于php如何实现邻接矩阵图的广度和深度优先遍历(代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。
1、图的深度优先遍历类似前序遍历,图的广度优先类似树的层序遍历
2、将图进行变形,根据顶点和边的关系进行层次划分,使用队列来进行遍历
3、广度优先遍历的关键点是使用一个队列来把当前结点的所有下一级关联点存进去,依次进行
邻接矩阵的广度优先遍历:
BFS(G)
for i=0;i<G->numVertexes;i++
visited[i]=false;//检测是否访问过
for i=0;i<G.numVertexes;i++//遍历顶点
if visited[i]==true break;//访问过的断掉
visited[i]=true //当前顶点访问
InQueue(i) //当前顶点入队列
while(!QueueEmpty()) //当前队列不为空
i=OutQueue() //队列元素出队列
for j=0;j<G->numVertexes;j++ //遍历顶点
if G->arc[i][j]==1 && !visited[j] //当前顶点与其他顶点存在关系并且未被访问
visited[j]=true //标记此顶点
InQueue(j) //此顶点入队列,会排在后面等前面一层的全遍历完才会遍历这个