邻接表 几篇不错的解说




假设你还不知道邻接表的概念和作用etc:

请猛戳:http://baike.baidu.com/view/549594.htm?fr=aladdin


struct Edge
{
    int v;
    int next;
}e[maxm];

memset(head,-1;sizeof(head);
int c = 0;
void add(int x, int y)
{
    e[c].v = y;
    e[c].next = head[x];
    head[x] = c++;
}




图的邻接表存储 c实现http://blog.csdn.net/linxinyuluo/article/details/6847851



图---邻接表(建立。深度遍历,广度遍历)http://blog.csdn.net/akof1314/article/details/4388722



邻接表全面解说代码:http://www.cnblogs.com/mycapple/archive/2012/08/03/2620938.html



图的存储结构(邻接表)_这里的小助手很有意思http://blog.fishc.com/2523.html


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
邻接表和逆邻接表是一种常用的图的存储结构,用于表示有向图或无向图的边关系。下是求邻接表和逆邻接表的方法: 1. 邻接表邻接表是一种链式存储结构,用于表示图的边关系。对于有向图,邻接表中的每个顶点都有一个链表,链表中存储了该顶点指向的其他顶点。具体求邻接表的步骤如下: - 创建一个数组,数组的大小为图中顶点的个数。 - 遍历图中的每个顶点,对于每个顶点,创建一个链表,链表中存储该顶点指向的其他顶点。 - 遍历图中的每条边,将边的起始顶点添加到对应顶点的链表中。 2. 逆邻接表: 逆邻接表邻接表的一种变形,用于表示有向图中每个顶点的入边关系。具体求逆邻接表的步骤如下: - 创建一个数组,数组的大小为图中顶点的个数。 - 遍历图中的每个顶点,对于每个顶点,创建一个链表,链表中存储指向该顶点的其他顶点。 - 遍历图中的每条边,将边的终点添加到对应顶点的链表中。 下面是一个示例,展示如何求解邻接表和逆邻接表: ```python # 邻接表 adj_list = [[] for _ in range(num_vertices)] # 创建一个空的邻接表 for edge in edges: start, end = edge # 边的起始顶点和终点 adj_list[start].append(end) # 将终点添加到起始顶点的链表中 # 逆邻接表 reverse_adj_list = [[] for _ in range(num_vertices)] # 创建一个空的逆邻接表 for edge in edges: start, end = edge # 边的起始顶点和终点 reverse_adj_list[end].append(start) # 将起始顶点添加到终点的链表中 ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值