• DIj


    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;

    namespace DefineGraph
    {
    class Graph
    {
    private const int Number = 10; //图中所能包含的点上限
    private Vertex[] vertiexes; //顶点数组
    public int[,] adjmatrix; //邻接矩阵
    int numVerts = 0; //统计当前图中有几个点
    public Graph() //初始化图
    {

    adjmatrix = new Int32[Number, Number]; //初始化邻接矩阵和
    vertiexes = new Vertex[Number];//初始化顶点数组
    for (int i = 0; i < Number; i++)//将代表邻接矩阵的表全初始化为0
    {
    for (int j = 0; j < Number; j++)
    {
    adjmatrix[i, j] = 0;
    }
    }
    }
    public void AddVertex(String v)//向图中添加节点
    {
    vertiexes[numVerts] = new Vertex(v);
    numVerts++;
    }
    public void AddEdge(int vertex1, int vertex2,int weight) //向图中添加有向边
    {
    adjmatrix[vertex1, vertex2] = weight;
    //adjmatrix[vertex2, vertex1] = 1;
    }
    public void DisplayVert(int vertexPosition) //显示点
    {
    Console.WriteLine(vertiexes[vertexPosition].ID + " ");
    }

    public void Dijkstr(Vertex s)
    {
    List<Vertex> listAbsPoi = new List<Vertex>();
    List<Vertex> listUnAbsPoi = new List<Vertex>();
    listAbsPoi.Add(s);
    while (true)
    {
    listUnAbsPoi = GetAdjPoint(s);
    for (int i = 0; i < listUnAbsPoi.Count; i++)
    {
    if (listUnAbsPoi.Count == 0)
    break;
    }
    for (int i = 0; i < length; i++)
    {

    }
    }

    }
    public List<Vertex> GetAdjPoint(Vertex v)
    {
    List<Vertex> ListAdjPoint = new List<Vertex>();
    for (int i = 0; i <adjmatrix.Length; i++)
    {
    if (adjmatrix[Convert.ToInt32(v.ID.Substring(1, 1)), i] != 0)
    {
    ListAdjPoint.Add(vertiexes[i]);
    }
    }
    return ListAdjPoint;
    }

    }
    class Vertex
    {
    public string ID;
    public bool IsVisited;
    public Vertex(string Vertexdata)
    {
    ID = Vertexdata;
    }
    }

    }

  • 相关阅读:
    概率与数学期望初步
    $Luogu$ $P4316$ 绿豆蛙的归宿(附期望 $dp$ 的设计总结)
    $Luogu$ $P4427$ $[BJOI2018]$ 求和
    $SP3978$ $DISQUERY$ $-$ $Distance$ $Query$
    最近公共祖先模板(未完待续)
    $Luogu$ $P3052$ $[USACO12MAR]$ 摩天大楼里的奶牛 $Cows$ $in$ $a$ $Skyscraper$
    $Luogu$ $P2622$ 关灯问题 $mathrm{II}$
    [转载] $CF633F$ 题解
    [转载] $Luogu$ $P3933$ 题解
    2020高考回忆录(随便写写
  • 原文地址:https://www.cnblogs.com/1521681359qqcom/p/11208675.html
Copyright © 2020-2023  润新知