图由顶点和边构成,它不像数组链表二叉树等比较接近数据的存储形式,图主要来源于现实生活中的抽象:包括道路交通、路线等。
图搜索主要要注意以下几点:
1.深度优先搜索采用栈来实现。每次访问当前节点下第一个未被访问的邻接节点,要注意对访问的节点做标记,通常采用boolean wasVisited来表示;当栈非空时,就不断循环,若 某个节点不存在符合条件的邻接节点则出栈,继续对栈中的下一个数据进行访问。
2.广度优先搜索采用队列来实现。每次访问当前节点下的所有未被访问的邻接节点,直到队列为空为止;访问一个节点的所有邻接节点后,将其出队。