图的储存(边集数组)

原创 2016年08月29日 19:18:45

边集数组

介绍一种《算法入门经典》上的图的储存方式,边集数组+数组链表
先上代码

struct Edge{
    int from,to,w;
};
int first[MAX_V];
int next[MAX_E];

void init()
{
    memset(first,-1,sizeof(first));
    memset(next,-1,sizeof(next));
}

void read_edge(int u,int v,int w)
{
    static int id = 0;
    edges[id].from = u;edges[id].to = v;edges[id].weight =w;

    next[id] = first[u];
    first[u] = id++;

}

first数组里面储存的是顶点u的第一条边,不过这和输入顺序是相反的,next中存放的是第i条边的下一条边,值为-1时代表临边结束相当于每次都是把边插入到链表的头部的

版权声明:本文为博主原创文章,未经博主允许不得转载。

图的存储结构-邻接表-边集数组-前向星

1.【邻接表】  是一种图的存储结构,适用于点多边少的稀疏图。 缺点:若要删除(V0,V2)这条边,就需要对邻接表结构中边表的两个结点进行删除操作。 2.【边集数组】 边集数组是由两个一维数组构成...
  • yibcs
  • yibcs
  • 2013年08月29日 16:18
  • 2056

数据结构之图的存储表示(邻接矩阵、邻接表和边集数组)

图的存储结构相比线性表与树而言,更加复杂。图不可能用简单的顺序存储结构来表示,这是一个很困难的问题。所幸,一般有三种存储结构:邻接矩阵、邻接表和边集数组。邻接矩阵邻接矩阵是表示顶点之间相邻关系的矩阵。...
  • Mikeoperfect
  • Mikeoperfect
  • 2017年07月11日 19:00
  • 852

边集数组的非递归深度搜索遍历和广度搜索遍历

  • 2009年11月28日 14:59
  • 362KB
  • 下载

大话数据结构二十二:图的存储结构之边集数组

1. 边集数组简介: 边集数组由两个一维数组构成: 1.) 一个存储顶点信息。 2.) 一个存储边的信息,这个边数组每个数据元素由一条边的起点下标(begin)、终点下标(end)、和权(wei...
  • zdp072
  • zdp072
  • 2014年02月23日 13:09
  • 2290

7.2图的存储结构(十字链表、邻接多重表、边集数组)

7.2图的存储结构(十字链表、邻接多重表、边集数组)
  • qq78442761
  • qq78442761
  • 2017年02月23日 20:15
  • 1903

数据结构--图的深度优先搜索,广度优先搜索,生成树的边集

一、 实验目的 树和图是两种应用极为广泛的数据结构,也是这门课程的重点。它们的特点在于非线性。 稀疏矩阵的十字链表存储结构也是图的一种存储结构。本章实验继续突出了数据结构加操作的程序设计观点,但根...
  • xueying_2017
  • xueying_2017
  • 2017年12月13日 22:49
  • 396

图存储5-边集数组

5. 边集数组简介: 边集数组由两个一维数组构成: 1.) 一个存储顶点信息。 2.) 一个存储边的信息,这个边数组每个数据元素由一条边的起点下标(begin)、终点下标(end)、...
  • qq_31821675
  • qq_31821675
  • 2017年03月21日 15:14
  • 315

关于图的存储方法 (静态邻接表、前向星、边集数组)

一、邻接矩阵(不多说了)  G[u][v] 二、邻接表                   1、动态链表(指针)      一个数组表头(u)+ struct结点(v),相链,若有权值等信息再在结点里...
  • tclh123
  • tclh123
  • 2011年08月07日 17:34
  • 5082

图的存储结构(1):数组表示法

引言:图是一种较线性表和树更为复杂的数据结构。在线性表中,数据元素之间仅有线性关系,每个数据元素只有一个直接前驱和一个直接后继;在树形结构中,数据元素之间有明显的层次关系,每一层的数据元素只能与下一层...
  • u010721079
  • u010721079
  • 2014年05月17日 22:53
  • 2088

图的广度优先搜索BFS(C++)

这里对链表的结构进行了改编: /** * Definition for singly-linked list. * struct ListNode { * int val; * ...
  • liuchenjane
  • liuchenjane
  • 2016年11月07日 16:24
  • 633
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:图的储存(边集数组)
举报原因:
原因补充:

(最多只允许输入30个字)