本文主要是介绍关于邻接表和其深度优先遍历、广度优先遍历的问题,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
如果有一个邻接表存储的图,以0点出发,深度优先遍历和广度优先遍历。
邻接表为:
[0]->[1]->[5]->[6]->END
[1]->[0]->[2]->END
[2]->[1]->[3]->END
[3]->[2]->[4]->[7]->END
[4]->[3]->[5]->[8]->END
[5]->[4]->[0]->[END
[6]->[0]->[8]->[7]->END
[7]->[0]->[8]->[3]->END
[8]->[6]->[7]->[4]->END
邻接表每一行第一个值表示第几个节点,一共有0,1,2……这9个节点。每一行从第二个值开始表示这个节点可以连接到的节点。第一行,0节点可以与1,5,6相连,1节点可以与0,2相连,……8节点可以与6,7,4节点相连。由此关系,可以画出这个图。
由邻接表也可以方便得得出广度遍历的结果,因为广度遍历就是层次遍历,一层一层遍历。广度优先遍历结果为:0 1 5 6 2 4 8 7 3 END
深度优先遍历是从一个节点开始访问一条线链接的所有节点,从这条线最后一个节点再开始深度优先遍历。深度优先遍历的结果为:0 1 2 3 4 5 8 6 7 END。012345一条线,从5开始到0,所以从4再开始到867.
这篇关于关于邻接表和其深度优先遍历、广度优先遍历的问题的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!