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 ...
随机推荐
- 基于 XML 的 AOP 配置(1)
本文连接:https://www.cnblogs.com/qzhc/p/11969734.html 接下来我将用一个很简单的实例 1. 环境搭建 1.1. 第一步:准备必要的代码 业务层代码: Acc ...
- Python 中的 getopt 模块
sys 模块:可以得到用户在命令行输入的参数 getopt模块:专门用来处理输入的命令行参数 用户在命令行中输入参数,sys模块得到该参数,getopt模块处理该参数 sys模块: import sy ...
- 忘记Linux 3.X/4.x/5.x 宝塔面板密码的解决方案
进入ssh 输入以下命令重置密码(把命令最后面的 “testpasswd” 替换成你要改的新密码)注:若是debian/ubuntu用户,请使用有root权限的账户去执行这条命令 cd /www ...
- CentOS 安装 Mongodb详解 --- 无Linux基础
先去官方下载离线安装包:https://www.mongodb.com/ ftp连接一下服务器,把离线包上传上去 XShell连接一下: 解压文件(你输一点就可以按tab键,它会自动补全):tar - ...
- JS遍历OCX方法
/----查看OCX组件的属性 <html> <head> <title>OCX</title> <meta http-equiv="C ...
- Why convolutions always use odd-numbers as filter_size
原文地址:https://datascience.stackexchange.com/questions/23183/why-convolutions-always-use-odd-numbers-a ...
- win7系统下flutter环境搭建+AndroidStudio编译插件
flutter学习网址:https://flutter-io.cn/ ----------------------------------------------------------------- ...
- vue.js 三种方式安装
Vue.js(读音 /vjuː/, 类似于 view)是一个构建数据驱动的 web 界面的渐进式框架.Vue.js 的目标是通过尽可能简单的 API 实现响应的数据绑定和组合的视图组件.它不仅易于上手 ...
- 七十二:flask钩子函数之关于errorhandler的钩子函数
errorhandler:在发生一些异常的时候,如404.500,如果要自定义处理这些错误,就可以使用errorhandler来处理,使用errorhandler需要注意几点: 1.在errorhan ...
- (转)java8实现对象列表去重
java8实现列表去重,java8的stream和lambda的使用实例 通过普通的方式也可以达到去重的效果,但是借助java8新特性可以很方便的实现列表去重,测试demo如下 实体类: public ...