千家信息网

数据库怎么实现临接矩阵

发表于:2024-09-22 作者:千家信息网编辑
千家信息网最后更新 2024年09月22日,这篇文章主要介绍"数据库怎么实现临接矩阵",在日常操作中,相信很多人在数据库怎么实现临接矩阵问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"数据库怎么实现临接矩阵"的疑惑
千家信息网最后更新 2024年09月22日数据库怎么实现临接矩阵

这篇文章主要介绍"数据库怎么实现临接矩阵",在日常操作中,相信很多人在数据库怎么实现临接矩阵问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"数据库怎么实现临接矩阵"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

图由顶点跟边或者弧构成 顶点不分大小主次 用一维数组表示顶点, 边或弧 用二维数组存储,二维数组就是邻接矩阵

G(V,E) 如果有N个顶点 则临接矩阵为N*N 方阵

维持一个二维数组,arr[i][j]表示i到j的边,如果两顶点之间存在边,则为1,否则为0; 无向图为对称矩阵

维持一个一维数组,存储顶点信息,比如顶点的名字;


1. 邻接矩阵(无向图)的特点:

图的邻接矩阵存储方式是用两个数组来表示图:

1.)一个一维数组存储存储图中顶点信息。

2.)一个二维数组(称为邻接矩阵)存储图中边或弧的信息。


上图中我们设置两个数组:

顶点数组:vertex[4] = {V0,V1,V2,V3}

边数组:arc[4][4] 为对称矩阵(0表示顶点间不存在边,1表示顶点间存在边)


2. 邻接矩阵(有向图)的特点:

无向图的边构成了一个对称矩阵,貌似浪费了一半的空间,那如果是有向图来存放,会不会把资源利用好呢?


顶点数组vertex[4] = {V0,V1,V2,V3}

弧数组arc[4][4]也是一个矩阵,但因为是有向图,所以这个矩阵并不对称。

如: V1到V0有弧,所以arc[1][0] = 1,而V0到V1没有弧,所以arc[0][1] = 0


3. 邻接矩阵(网)的特点:

每条边上带有权的图就叫网。通常权值表示两点之间的距离。


这里∞表示一个计算机允许的,大于所有边上权值的值。

定义临接矩阵 图结构typedef char Vtype;//顶点类型typedef int   Etype;//边或者弧上的权值 类型#define MAXV 100 //最大顶点数#define UNexist  65535 //不存在权值typedef struct {        Vtype VArr[MAXV];//顶点数组        Etype EArr[MAXV][MAXV];//临接矩阵        int numV;//当前顶点数        int numE;//当前边数}MGraph;构造一个图  下面代码为无向图void CreateMGraph(MGraph* G){        int i,j,k,w;        cout<<" 输入顶点数";        cin>> G->numV;        cout<<" 输入边数";        cin>> G->numE;        for(i=0;inumV;i++)        {                cin>> G->VArr[i];//输入顶点的信息;        }        for(i=0;inumV;i++)//将临接矩阵初始化为空        {                for(j=0;jnumV;j++)                {                        G->EArr[i][j] = UNexist;                }        }         for(k=0;knumE;k++)         {                cout<<"输入边的开始";                cin>>i;                cout<<"输入边的结尾";                cin>>j;                cout<<"输入边的权重";                cin>>w;                G->VArr[i][j]=W;                G->VArr[i][j]=G->VArr[j][i]//无向图 对称                //如果不是对称的话 上面一行注释点就好         }}

V个顶点 E个无向边创建时时间复杂度为O( V^2) 邻接矩阵是不错的图存储结构 不过如果 顶点V之间相互存在的边很少 那么就存在很多空间浪费

到此,关于"数据库怎么实现临接矩阵"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!

矩阵 顶点 数组 存储 对称 无向 数据 数据库 信息 二维 学习 之间 有向图 特点 一维 两个 更多 点数 空间 类型 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 周村专业软件开发 我的iphone服务器设置 山西统一软件开发价格服务标准 广州一帆网络技术有限公司 九一互联网科技有限公司 东莞市光速网络技术 苹果qq购买会员连接不上服务器 sql怎么看数据库空间 天长工业软件开发技术怎么样 什么是此电脑访问的服务器 二手服务器DiY sql配置镜像数据库 怎样用笔记本连接服务器的管理口 计算机考研数据库原理怎么调剂 web服务器都用什么 数据库的安全和维护 高三政治网络安全时政专题 网络安全三个核心 天津市网络安全应急演练 武汉国家网络安全学院基地地址 武大网络安全学院考研报录情况 ps4 战地4 服务器 互联网科技微博名字 无名杀本地服务器未运行 上海戴尔r750服务器厂家直供 淄川物流竞价软件开发定制 网络安全测评师简历 oa系统数据库源代码下载 当前的网络安全问题 在数据库表中增加一个列
0