zoukankan      html  css  js  c++  java
  • 数据结构之图

    图就是顶点和边的集合。通常用邻接表(邻接链)表示。
    线性主要从查找和删除上初步接触差异和效率。
    树主要概念在于递归,抽象建模。
    而图在抽象建模的层次上更进一层,主要是抓住图的多对多的根本特征,把多点看成一点,把新入点的边算进来,算成一个超级大点。
    刚开始会不容易懂。但是明白之后,比特殊的树简单多了。
    package com.linson.datastrcture;
    
    import java.util.ArrayList;
    import java.util.List;
    
    
    
    //图就是顶点和边的集合。
    //线性主要从查找和删除上初步接触差异和效率。
    //树主要概念在于递归,抽象建模。
    //而图在抽象建模的层次上更进一层,主要是抓住图的多对多的根本特征,把多点看成一点,把新入点的边算进来。
    public class MyLinkGraph<T>
    {
        //顶点
        public static class MyVertex<T>
        {
            public T mData;
            public MyEdge<T> mNextEdge;
            public Integer externInfo;//扩展字段:存储动态权重。
            public List<MyVertex<T>> path;//扩展字段:存储临时最短路径
            public MyVertex()
            {
                mData=null;
                mNextEdge=null;
                externInfo=Integer.MAX_VALUE;
                path=new ArrayList<MyVertex<T>>();
            }
            public MyVertex(T value,MyEdge<T> next)
            {
                mData=value;
                mNextEdge=next;
                externInfo=Integer.MAX_VALUE;
                path=new ArrayList<MyVertex<T>>();
            }
        }
        
        //
        public static class MyEdge<T>
        {
            public MyVertex<T> mEndNode;
            public Integer mWeight;
            public MyEdge<T> mOtherEdge;//注意这里是另一条边,意思是从固定点开始的所有边。而不是一条连一条的边。
            
            public MyEdge(Integer _weight,MyEdge<T> next,MyVertex<T> EndNode)
            {
                mEndNode=EndNode;
                mWeight=_weight;
                mOtherEdge=next;
            }
        }
        
        public MyLinkGraph()
        {}
        
        @SuppressWarnings("unchecked")
        public MyLinkGraph(int vetexSum)
        {
            mVertexs= new MyVertex[vetexSum];
        }
        
        public MyVertex<T>[] mVertexs=null;
    }
  • 相关阅读:
    获取服务结合随机算法
    服务发现
    使用第三方库来支持平滑重启
    简易配置中心Confd入手
    8、SQL基础整理(约束)
    7、SQL基础整理(子查询)
    6、SQL基础整理(日期时间数据类型,转换函数)
    5、SQL基础整理(字符串函数)
    4、SQL基础整理(规范函数)
    3、SQL基础整理(分组)
  • 原文地址:https://www.cnblogs.com/lsfv/p/10198537.html
Copyright © 2011-2022 走看看