小橙书阅读指南(十二)——无向图、深度优先搜索和路径查找算法

 在计算机应用中,我们把一系列相连接的节点组成的数据结构,叫做图。今天我们将要介绍它的一种形式——无向图,以及针对这种结构的深度优先搜索和路径查找算法。

一、无向图数据结构

接口:

复制代码
/**  * 图论接口  */public interface Graph {     /**      * 顶点数      *      * @return     */    int vertexNum();      /**      * 边数      *      * @return     */    int edgeNum();      /**      * 向图中添加一条v-w的边      *      * @param v      * @param w      */    void addEdge(int v, int w);      /**      * 和v相邻的所有顶点      *      * @param v      * @return     */     Iterable<Integer> adjoin(int v);      /**      * v的维度      *      * @param v      * @return     */    int degree(int v); }
复制代码

实现类:

复制代码
public class Graph implements algorithms.graphs.ifs.Graph {     private final int vertex; // 顶点    private int edge; //    private ArrayList<Integer>[] adj;      public Graph(int v) {         this.vertex = v;         this.edge = 0;         adj = (ArrayList<Integer>[]) new ArrayList[v];         for (int i = 0; i < v; i++) {             adj[i] = new ArrayList<>();         }     }      @Override     public int
                        
关键字:
50000+
5万行代码练就真实本领
17年
创办于2008年老牌培训机构
1000+
合作企业
98%
就业率

联系我们

电话咨询

0532-85025005

扫码添加微信