【无标题】


1.直接上一个结构体
struct AdjMatrix{
    

};

2.只有两个元素 顶点vertex  边edge  至于为什么是一维数组 二维数组另见其他文章

struct AdjMatrix{
    char vertexs[自己确定的顶点数];   // s表示为英语中的复数的意思
    int  edges[自己确定的顶点数][自己确定的顶点数]; // 这么干可不就是一个矩阵?

};

3.处理 “自己确定的顶点数”  顶点vertex  边edge 的“类型” 使其变的更加的专业


#define VRETEX_NUM 10

//顶点元素类型
typedef char vertex_typedef   

//边的权值类型,注意这里其实看不出这到底是无向图还是有向图。但是可以确定的是1/0也可以进行处理问题,0的意思是不进行直接的相连,1就是存在相邻的边或者是弧的意思 
typedef int edge_typedef 

struct AdjMatrix{

    //存储顶点元素
    vertex_typedef vertexs[VRETEX_NUM];        

    //存储边元素,使用了邻接矩阵来存储边或者是弧的集合
    vertex_typedef edges[VRETEX_NUM][VRETEX_NUM]; 

};
    PS:清晰如此的变量的设置,其实有一点国语的详细了,可以试试在简单一点的设置,就取首字母!

4.注意一下结构体中的第一行就行了
#define VRETEX_NUM 10
typedef char VT
typedef int ET
struct AdjMatrix{
    int vertex;
    VT vertexs[VRETEX_NUM];        
    ET edges[VRETEX_NUM][VRETEX_NUM]; 

};

还是再写一写比较好,我总感觉比写在纸上好一点,虽然现在有了一点小目的,直接就接住自己的进度写了,其他的就再看时间补吧!!!

图的存储

  PS:对于一个图而言,现在是许要自己去写码的,于是乎直接看就行了,就是顶点vertex和边edge,就是这两个就没有了,无他!那么考虑考虑如何让进行存储就行了,前辈们已经想出来好多,只管以下的就行了,但是以下的又如何进行编码?

邻接矩阵

我们假设有一个图(可以是有向图,也可以是无向图),其有N个顶点,则有邻接矩阵是一个N*N的方阵,定义为

                        arc[i][j] =   1         若在这个图中间存在,一条线,也就是表示术边edge的意思
                                         0        其他情况

很显然你是知道需要写出,结构体struct的样式,以及所谓的定义类型的typedef,值得注意的是,你需要写出   类型+一维数组    以及  类型+二维数组的样式

就是文章开头的,仔仔细细的看,并且要记住的!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值