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 ...
随机推荐
- Java写入的常用技巧
一.批量写入 Java写入大量数据到磁盘/数据库等其它第三方介质时,由于IO是比较耗费资源的操作,通常采用攒一批然后批量写入的模式 //通常构造一个缓存池,一个限制指标,可以是内存大小也可以是时间 B ...
- 【软件工程】Alpha冲刺(2/6)
链接部分 队名:女生都队 组长博客: 博客链接 作业博客:博客链接 小组内容 恩泽(组长) 过去两天完成了哪些任务 描述 了解了如何根据系统获取的实际情况进行后端任务的调整 网易云音乐推荐算法的分析 ...
- ubuntu下apt-get 命令参数
转载:https://blog.csdn.net/linuxzhouying/article/details/7192612 ubuntu下apt-get 命令参数 常用的APT命令参数 apt-ca ...
- js如何获取鼠标位置
获取鼠标位置,首先需要加载js文件: 然后设置一个div,给定大小: 最后进行具体操作: //首先要先设置一个div,给定大小 <div id="m"></div ...
- cad二次开发中DBText对象的外框GeometricExtents有问题?
CAD2007版本 acDoc.Editor.WriteMessage( string.Format("[{0:F1},{1:F1},{2:F1}] - [{3:F1},{4:F1},{5: ...
- Session中的方法概述
一.操作实体对象 delete()把持久化或游离转为删除状态 save()把临时状态变为持久化状态(交给Sessioin管理) saveOrUpdate()把临时或游离状态转为持久化状态 update ...
- CnPack 开源软件项目
Cnpack公共窗体库 ------------------------------ CnPack 2009-09-14 SVN 包,包括以下内容: 1. CnPack 组件包所有源代码.2. CnP ...
- JS事件中级 --- 拖拽
http://bbs.zhinengshe.com/thread-1200-1-1.html 要求:实现div块的拖拽 原理:拖拽过程中鼠标点和div块的相对位置保持不变. 需要理解三点: 1. 为什 ...
- CTF—攻防练习之HTTP—暴力破解
攻击机:192.168.32.152 靶机:192.168.32.164 首先nmap,nikto -host ,dirb 扫描开放带端口,探测敏感文件,扫描目录 开放了21,22,80端口,看到一个 ...
- Nginx动态添加模块 平滑升级
已经安装好的Nginx动态添加模块 说明: 已经安装好的Nginx,需要添加一个未被编译安装的模块,需要怎么弄呢? 这里已安装第三方nginx-rtmp-module模块为例 nginx的模块是需要重 ...