zoukankan      html  css  js  c++  java
  • 图Graph

    存储结构:

    1、邻接矩阵存储

    typedef struct

    {

      char vex[MAXVEX];//顶点数

      int arc[MAXVEX][MAXVEX];//邻接矩阵

      int numVextexes,numEdges;//顶点数和边数

    }MGraph;

    边数相对节点较少时会浪费内存,因此可以使用链表实现

    2、邻接表

    此为边表

    typedef struct EdgeNode

    {

      int adjvex;//存储顶点对应的下标

      int weight;

      struct EdgeNode* next;//指向下一个邻接点

    }EdgeNode;

    此为顶点表

    typedef struct VertexNode

    {

      int data;//存储顶点信息

      EdgeNode *firstedge;//指向第一个以该顶点为顶点的弧结点

    }VertexNode[MAXVEX];

    此为图表

    typedef struct

    {

      VertexNode adjList;//顶点表节点

      int numVertex,numEdges;//顶点数和边数

    }GraphAdjList;

    邻接链表和逆邻接链表可以分别解决出度和入度的问题,但是不能同时考虑,因此引入十字链表。

    3、十字链表 (有向图)

    顶点表结构为: data firstin firstout

    边表结构为:tailvex headvex hlink tlink info

    firstin,firstout:分别指向以该节点为弧头和弧尾的弧结点

    tailvex:弧尾  headvex:弧头 hlink:指向弧头相同的下一条边 tlink:指向弧尾相同的下一条边

    首先将顶点结点和所有的弧结点全部写出,然后分别将指针指向相应的弧。

    注意,此处所有的指针都是指向弧的,与之前的相同。

  • 相关阅读:
    js和jquery 两种写法 鼠标经过图片切换背景效果
    phpStudy如何修改端口及WWW目录
    模仿淘宝上传图片之后在图片中单击按钮?
    资源汇总
    标题类型-整型
    VB6 内存释放
    在Textbox中按回车键后继续获取焦点
    ADO 读写文本文件
    VBA 拷贝文件
    VBA 获取文件夹内的文件列表
  • 原文地址:https://www.cnblogs.com/jiangnanrain/p/4419106.html
Copyright © 2011-2022 走看看