前向星和链式前向星

概念:

前向星:前向星是一种特殊的边集数组,我们把边集数组中的每一条边按照起点从小到大排序,如果起点相同就按照终点从小到大排序,并记录下以某个点为起点的所有边在数组中的起始位置。
链式前向星:链式前向星其实就是静态建立的邻接表,时间效率为O(m),空间效率也为O(m)。遍历效率也为O(m)。
next表示当前结点的下一个节点。
用vector表示二维数组。

模板:

//前向星
int idx,e[mx],h[mx],ne[mx];
void add(int a,int b){
    e[idx]=b;ne[idx]=h[a];h[a]=idx++;
} 
memset(h,-1,sizeof(h));
hh=0;tt=-1;
add(a,b);

//链式前向星
struct stu
{
    int next;
    int cost;
};
vector<stu> tu[100100];
int dis[25010],vis[25010];
void add(int a,int b,int c){
    stu t;
    t.next=b;
    t.cost=c;
    tu[a].push_back(t);
}
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值