zoukankan      html  css  js  c++  java
  • 链式前向星

    推荐博客 : http://blog.csdn.net/ZHangFFYY/article/details/77871897

    我们对一个图的存储基本有两种,邻近矩阵和邻接表 ,在补充一个链式前向星

    用此方法存图 , 首先先定义一个结构体数组

    struct node

    {  

      int to, w; // to 表示当前点所指向的下一个点

      int next; // next 表示的是当前点所连得下一个点(或者可以说是前一个点)

    };

    除此之外,还有一个数组 head[ ], 表示以 i 为起始点的第一条边所在的是结构体中的哪个点,(其实就是最后输入的那个边号)通常我们上来将其初始化为 -1

    加边的函数这样写 :

    void add(int u, int v, int w){
        edge[cnt].to = v;
        edge[cnt].w = w;
        edge[next] = head[u];
        head[u] = cnt++;
    }
    

    初始化cnt = 0,这样,现在我们还是按照上面的图和输入来模拟一下:


    edge[0].to = 2;     edge[0].next = -1;      head[1] = 0;

    edge[1].to = 3;     edge[1].next = -1;      head[2] = 1;

    edge[2].to = 4;     edge[2],next = -1;      head[3] = 2;

    edge[3].to = 3;     edge[3].next = 0;       head[1] = 3;

    edge[4].to = 1;     edge[4].next = -1;      head[4] = 4;

    edge[5].to = 5;     edge[5].next = 3;       head[1] = 5;

    edge[6].to = 5;     edge[6].next = 4;       head[4] = 6;


    很明显,head[i]保存的是以i为起点的所有边中编号最大的那个,而把这个当作顶点i的第一条起始边的位置.

    东北日出西边雨 道是无情却有情
  • 相关阅读:
    自定义ViewGroup基础巩固2---onMeasure()学习及综合实现圆形菜单
    Django自定义模板函数
    django迁移:全局、局部
    setup.py
    企鹅去北极熊家里玩
    python插入记录后获取最后一条数据的id
    清除浮动和解决塌陷
    html知识代码
    django模型:为已存在的表建立模型
    django模型:字段和选项
  • 原文地址:https://www.cnblogs.com/ccut-ry/p/8472153.html
Copyright © 2011-2022 走看看