我们可以用二维数组描述关系数据,但是在数组中检查数据关系需要一一检查,有一种更好的方式是将数据用图来表示。 例如,人与人之间的好友关系,用图的术语来说,每个节点都是一个节点,每条线都是一条边,两个节点通过一条线联系在一起,即为,顶点相邻。
要想找到图这种数据结构中数据的关系,需要对图的数据进行遍历。遍历方式有两种:深度优先和广度优先。
深度优先:depth first search
从起始节点,沿着一条路径走到最后一个节点,直到无法访问,回溯到起始节点相邻节点,重复第一步,直到完成搜索。需要记住起始节点、相邻节点。可用递归和堆栈实现深度优先搜索。