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 ...
随机推荐
- Nginx-rtmp直播之业务流程分析
1. 综述 1.1 直播原理 使用 obs 向 nginx 推送一个直播流,该直播流经 nginx-rtmp 的 ngx_rtmp_live_module 模块转发给 application live ...
- Java Jsch SFTP 递归下载文件夹
Java Program For Downloading Folder Content recursively from SFTP Server How to download folder from ...
- linux 之 pthread_create 实现类的成员函数做参数
在C++的类中,普通成员函数不能作为pthread_create的线程函数,如果要作为pthread_create中的线程函数,必须是static ! 在C语言中,我们使用pthread_create ...
- LC 841. Keys and Rooms
There are N rooms and you start in room 0. Each room has a distinct number in 0, 1, 2, ..., N-1, an ...
- Volley源码分析
取消请求的源码分析: public void cancelAll(RequestFilter filter) { synchronized (mCurrentRequests) { for (Requ ...
- 动态执行文本vba代码
动态执行文本vba代码 Public Sub StringExecute(s As String) Dim vbComp As Object Set vbComp = ThisWorkbook.VBP ...
- 转:Zepto的使用以及注意事项
为什么选择Zepto.js的原因: zepto.js的语法借鉴并且兼容jQuery,会使用jquery就会使用Zepto.js.Zepto.js是移动端的js库.Zepto.js相当于PC端的jQue ...
- C++函数传值问题
在做题出现个神奇的事情,C++的传值跟其他OOP语言不一样.首先做个测试,看看下面输出结果是什么? void F(int a,int b,int c){ cout<<a<<b& ...
- etcd安全集群三节点扩容至四个节点
规划:先安装三台组建集群,然后扩容一个安全节点进来 .环境: 三台centos7. 主机 192.168.0.91 192.168.0.92 192.168.0.93 都关闭防火墙 都关闭selinu ...
- Linux:lvm磁盘分区,动态扩容
一.lvm磁盘分区: 1,查看新增的磁盘,需要使用root权限 fdisk -l 看到有一个新增的100G磁盘 2,对磁盘进行分区 fdisk /dev/xvdb 1,输入:n 表示创建一个新的分区( ...