数据结构之图 Part2 - 2
邻接表
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace LH.GraphConsole
{
    public struct AdjacencyListGraph
    {
        public List<EdgeItem>[] VertexNodes;
        public AdjacencyListGraph(int vertexNumber)
        {
            VertexNodes = new List<EdgeItem>[vertexNumber];
            for (int i = 0; i < vertexNumber; i++)
            {
                VertexNodes[i] = new List<EdgeItem>();
            }
        }
    }
    public struct EdgeItem
    {
        public int Weight;
        public List<EdgeItem> NextNode;
        public EdgeItem(int weight, List<EdgeItem> nextNote)
        {
            Weight = weight;
            NextNode = nextNote;
        }
    }
}
同样是简单的主程序:
namespace LH.GraphConsole
{
    class Program
    {
        static void Main(string[] args)
        {
            AdjacencyList();
        }
        private static void AdjacencyList()
        {
            int vertexNumber = 5;
            var adjacencyListGraph = new AdjacencyListGraph(vertexNumber);
            adjacencyListGraph.VertexNodes[0].Add(new EdgeItem(6, adjacencyListGraph.VertexNodes[4]));
            adjacencyListGraph.VertexNodes[1].Add(new EdgeItem(9, adjacencyListGraph.VertexNodes[0]));
            adjacencyListGraph.VertexNodes[1].Add(new EdgeItem(3, adjacencyListGraph.VertexNodes[2]));
            adjacencyListGraph.VertexNodes[2].Add(new EdgeItem(2, adjacencyListGraph.VertexNodes[0]));
            adjacencyListGraph.VertexNodes[2].Add(new EdgeItem(5, adjacencyListGraph.VertexNodes[3]));
            adjacencyListGraph.VertexNodes[3].Add(new EdgeItem(1, adjacencyListGraph.VertexNodes[4]));
        }
    }
}
下一部分part3来看十字链表。
数据结构之图 Part2 - 2的更多相关文章
- 数据结构之图 Part2 - 1
		
邻接矩阵 网上很少有C# 写图的数据结构的例子,实际的项目中也从来没用过Array 这坨东西,随手写个,勿喷. namespace LH.GraphConsole { public struct Gr ...
 - 数据结构之图 Part2 - 3
		
十字链表 简单的说就是邻接表和逆邻接表的合体,解决了原邻接表或者逆邻接表出度和入度的计算无法兼得的问题. using System; using System.Collections.Generic; ...
 - python数据结构之图的实现
		
python数据结构之图的实现,官方有一篇文章介绍,http://www.python.org/doc/essays/graphs.html 下面简要的介绍下: 比如有这么一张图: A -> B ...
 - hdu 1233:还是畅通工程(数据结构,图,最小生成树,普里姆(Prim)算法)
		
还是畅通工程 Time Limit : 4000/2000ms (Java/Other) Memory Limit : 65536/32768K (Java/Other) Total Submis ...
 - 利用python+graphviz绘制数据结构关系图和指定目录下头文件包含关系图
		
作为一名linux系统下的C语言开发,日常工作中经常遇到两个问题: 一是分析代码过程中,各种数据结构互相关联,只通过代码很难理清系统中所有结构体的整体架构,影响代码消化的效率; 二是多层头文件嵌套包含 ...
 - python数据结构之图的实现方法
		
python数据结构之图的实现方法 本文实例讲述了python数据结构之图的实现方法.分享给大家供大家参考.具体如下: 下面简要的介绍下: 比如有这么一张图: A -> B A ...
 - python数据结构之图深度优先和广度优先实例详解
		
本文实例讲述了python数据结构之图深度优先和广度优先用法.分享给大家供大家参考.具体如下: 首先有一个概念:回溯 回溯法(探索与回溯法)是一种选优搜索法,按选优条件向前搜索,以达到目标.但当探索到 ...
 - 数据结构之图 Part1
		
Part 1 预计使用7天的时间来过掉图相关的数据结构.第一天主要是一天图的基本概念,熟练掌握定义是一切交流和沟通的基础. 1定义 1.1图 有穷非空顶点,外加边. G(V,E) Graph Vert ...
 - C++数据结构之图
		
图的实现是一件很麻烦的事情,很多同学可能在学数据结构时只是理解了图的基本操作和遍历原理,但并没有动手实践过.在此,我说说我的实现过程. 首先,在草稿纸上画一个图表,这里是有向图,无向图也一样,如下: ...
 
随机推荐
- 使用keepalived及典型应用
			
通常说的双机热备是指两台机器都在运行,但并不是两台机器都同时在提供服务. eg:当提供服务的一台出现故障的时候,另外一台会马上自动接管并且提供服务,而且切换的时间非常短.栗子:下面来以keepaliv ...
 - centos7.0改变用户创建目录组权限
			
centos7.0改变用户创建目录组权限可通过umask进行设置. 临时改变可通过umask命令进行设置 永久性改变,可通过修改~/.bash_profile的方式进行调整.
 - 64位win系统上面tomcat6启动不了 window不能再本地计算机启动
			
64位的jdk装完之后,jre的bin目录下面没有client文件夹, 而tomcat6.0.20的默认配置启动在client文件夹下面. 所以打开tomcat6w,在java选项界面,取消Use d ...
 - 彻底卸载MySql
			
刚装了下MySql,装的过程中由于修改了服务名,导致最后配置假死,不得已,重装. 但是重装时总是失败,于是google了一下,找到彻底卸载mysql的方法: 最近安装本地测试用 MySQL 服务器时总 ...
 - perform
			
public class ArgsTest { private List <Object> args; private ArgsTestCheckPoint checkPoint; pub ...
 - 1.SpringMVC的简介和环境搭建
			
SpringMVC的简介: SpringMVC 和 Struts一样是一个MVC框架,和Spring无缝连接,和struts2类似, Spring MVC属于SpringFrameWork的后续产品, ...
 - java视频转码博客
			
一下为找到的资料地址 http://lichen.blog.51cto.com/697816/162124 http://www.cnblogs.com/live365wang/archive/201 ...
 - Spring JMS ActiveMQ整合(转)
			
转载自:http://my.oschina.net/xiaoxishan/blog/381209#comment-list ActiveMQ学习笔记(四)http://my.oschina.net/x ...
 - ul 仿 table 循环滚动
			
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
 - iOS应用架构谈(三):View层的组织和调用方案(下)
			
iOS客户端应用架构看似简单,但实际上要考虑的事情不少.本文作者将以系列文章的形式来回答iOS应用架构中的种种问题,本文是其中的第二篇,主要讲View层的组织和调用方案.下篇主要讨论做View层架构的 ...