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;
}
}
}
DIj的更多相关文章
- HDU2544 最短路dij
纯最短路. ///HDU 2544堆优化的最短路 #include <cstdio> #include <iostream> #include <sstream> ...
- poj3013 邻接表+优先队列+Dij
把我坑到死的题 开始开题以为是全图连通是的最小值 ,以为是最小生成树,然后敲了发现不是,看了下别人的题意,然后懂了: 然后发现数据大,要用邻接表就去学了一下邻接表,然后又去学了下优先队列优化的dij: ...
- codeforces 449B Jzzhu and Cities (Dij+堆优化)
输入一个无向图<V,E> V<=1e5, E<=3e5 现在另外给k条边(u=1,v=s[k],w=y[k]) 问在不影响从结点1出发到所有结点的最短路的前提下,最多可以 ...
- Fzu月赛11 老S的旅行计划 dij
Description 老S在某城市生活的非常不自在,想趁着ICPC举办期间在省内转转.已知老S所在的省有N个城市,M条无向边(对于某一对结点可能出现重边).由于省内的交通相当糟糕,通过某条边所需要花 ...
- 51nod 1445 变色DNA(dij)
题目链接:51nod 1445 变色DNA 看了相关讨论再去用最短路:val[i][j]之间如果是'Y',说明i可以到达j,并且i到达j的代价是i那行 1到j-1 里面'Y'的数量. 最后,求 0到n ...
- 51nod 1459 迷宫游戏(dij)
题目链接:51nod 1459 迷宫游戏 dij裸题. #include<cstdio> #include<cstring> #include<algorithm> ...
- dij单源最短路纯模板
#include <iostream> #include <cstdio> #include <cstdlib> #include <algorithm> ...
- UVA 10801 Dij最短路(改模板)
题意:有n个电梯,目的地是第K层(起点是第0层),给出每个电梯的速度,以及每个电梯能到达的层数,如果中途需要换电梯的话,时间需要+60,求到达目的地的最短时间: 思路:Dij求最短路.如果是另一条路比 ...
- UVA 12661(动态权值+最短路,dij)
题意:赛车背景,给你n个节点,m条边的图以及起点和终点:其中每条边的信息包括u(起点),v(终点),a(开启的时间),b(关闭的时间),d(通过这条道路的时间):求最短通过的时间,其中车在进的时候,保 ...
- zoj1665 dij变形
既然输入的是损坏率,那1-x就是剩余的.最后只要剩余的最大. #include<stdio.h> #include<string.h> #define Max 99999999 ...
随机推荐
- springboot 项目部署后 404的问题
是因为打包的时候,没有把webapp打包进去 pom.xml 在build 里加入下面的依赖即可 <!-- resources插件,在打jar包时可以将webapp目录下的文件进行打包 --&g ...
- python3笔记十七:python文件读写
一:学习内容 读文件 写文件 编码与解码 二:读文件--步骤分解 1.过程 第一步:打开文件第二步:读文件内容第三步:关闭文件 2.第一步:打开文件 open(path,flag[,encoding] ...
- beta week 2/2 Scrum立会报告+燃尽图 06
此作业要求参见https://edu.cnblogs.com/campus/nenu/2019fall/homework/9959 一.小组情况 组长:贺敬文组员:彭思雨 王志文 位军营 徐丽君队名: ...
- 在已开启Chrome窗口上调试
代码 @Test void testNow() { /* First: Add the chrome.exe to the PATH. * Then: open the cmd and input t ...
- 安装RabbitMq,写程序发送接收消息
1.安装Erlang和RabbitMq 在安装RabbitMq之前需要安装的Erlang(esl-erlang_22.0_windows_amd64.exe): https://pan.baidu.c ...
- Android studio 自动导入(全部)包 import (转)
原文: https://blog.csdn.net/buaaroid/article/details/44979629 1. Android studio 只有import单个包的快捷键:A ...
- 阶段3 3.SpringMVC·_04.SpringMVC返回值类型及响应数据类型_7 响应json数据之发送ajax的请求
编写conroller的方法 @RequestBody获取请求体的内容.当前请求体传递的是json字符串. 拿到了请求的内容
- k8s报错日志查看
看系统日志 cat /var/log/messages 用kubectl 查看日志 # 注意:使用Kubelet describe 查看日志,一定要带上 命名空间,否则会报如下错误[root@node ...
- document.documentElement 和 document.body
MDN : The Document.documentElement read-only property returns the Element that is the root element o ...
- JavaScript高程第三版笔记-函数表达式
1⃣️递归 阶乘函数: function factorial(num){ ){ ; } ); } } 改装一:(arguments.callee指向正在执行的函数的指针,实现解耦) function ...