图的存储结构:邻接矩阵和邻接表

22 篇文章 5 订阅
订阅专栏

 图         graph

顶点        vertex

弧        arc

弧尾        tail

弧头        head

有向图        digraph

边        edge

无向图        undigraph

权        weight

网        network

邻接点        adjacent

依附        incident

度        degree

出度        OutDegree

入度        Indegree

路径        path

邻接矩阵        adjacency matrix 

一、邻接矩阵存储(数组表示)

借助矩阵(二维数组)表示元素(图的任意两个顶点)之间的关系

用一维数组(顶点表)存储顶点,二维数组(邻接矩阵)存储顶点间的关系;

 图(有向图),无向图为对称矩阵

 网:矩阵元素为权值,其余

图的邻接矩阵存储结构

#define VerNum 100
#define MaxInt 32767
typedef char VertexType;
typedef int ArcType;
typedef struct{
    VertexType ver[VerNum];//顶点表;一维数组存储顶点
    ArcType arc[VerNum][VerNum];//邻接矩阵;二维数组存贮顶点间关系;
    int vernum,arcnum;//图的当前顶点数和边数;
}AMGraph;

 无向网的创建

Status CreateUDN(AMGraph &G){
    scanf("%d %d",G.vernum,G.arcnum);//
    for(int i=0;i<vernum;++i){
        scanf("%c",&G.ver[i]);
    }                                /(顶点值)输入顶点表
    for(int i=0;i<vernum;++i){
        for(int j=0;j<vernum;++j){
            G.arc[i][j]=MaxInt;
        }
    }//初始化邻接矩阵
    
    for(k=0;k<G.arcnum;++k){
        scanf("%d %d %d",&v1,&v2,&w);
        i=LocVex(G,v1);
        j=LocVex(G,v2);//确定顶点在定点表的坐标
        G.arc[i][j]=w;//将对应权值置为w
        G.arc[j][i]=w;
    }                                /(权值)输入邻接矩阵
    return OK;
}

 不足:

不方便增加、删减顶点

浪费存储空间;

二、邻接表存储(链式)

无向图(有向图则只有出度)

 邻接表的创建:

typedef struct ArcNode{
    int adjvex;
    struct ArcNode* nextarc;//指向下一条边的指针;
    OtherInfo info;
}ArcNode;

typedef struct VNode{
    VertexType data;
    ArcNode* firstarc;
}VNode,AdjList[MaxInt];//邻接表;
typedef struct{
    AdjList vertices;
    int vexnum,arcnum;
}ALGraph;

Status CreateUDG(ALGraph &G){
    scanf("%d %d",G.vexnum,G.arcnum);//输入顶点数和总边数;
    for(i=0;i<vexnum;++i){
        scanf("%c",G.vertices[i].data);
        G.vertices[i].firstarc=NULL;
    }//输入顶点表;
    for(k=0;k<G.arcnum;++k){
        scanf("%d %d",&v1,&v2);//输入边的两个顶点
        i=LocVex(G,v1);j=LocVex(G,v2);
        
        p1=new ArcNode;
        p1->adjvex=j;//邻接点序号为j
        p1->nextarc=G.vertices[i].firstarc;
        G.vertices[i].firstarc=p1;
        //头插法插入表结点,其中i为表头,j为插入的邻接点
        
        p2=new ArcNode;
        p2->adjvex=i;
        p2->nextarc=G.vertices[j].firstarc;
        G.vertices[j].firstarc=p2;
        //头插法插入对称的表结点;即j为表头,i为邻接点;
    }
    return OK;
}

 邻接矩阵和邻接表的关系

 

邻接矩阵到关联矩阵:从邻接矩阵到关联矩阵的转换。-matlab开发
05-30
根据邻接矩阵“mAdj”返回稀疏关联矩阵“mInc”。 关联矩阵中的边排序是根据从第一个顶点开始的顶点的相邻边的顺序,即第一条边与第一个顶点重合,下一条边与第二个顶点重合,等等。 如果是有向的,关联矩阵 mInc 包含 -1s,示“进入”边缘,1s 示“离开”边缘。 如果该是无向的,则入射矩阵mInc仅包含1s。
数据结构与算法实验(C++):邻接矩阵实验-代码
01-18
1.内容概要: (1)实验目的: 1)熟练掌握邻接矩阵存储结构的实现; 2)熟练掌握的基本操作算法实现,包括创建、遍历、连通性判断、最小生成树的求解等; 3)灵活使用来解决具体的问题。 (2)实验内容: 1)用邻接矩阵实现无向网的存储,封装的基本操作算法,包括: a.创建 b.顶点和边的增删、修改 c.深度优先和广度优先遍历 2)判断的连通性,不连通则计算连通分量的个数; 3)实现Prim算法。 2.适用人群: 数据结构与算法初学者;C++编译基本掌握 3.使用场景: 数据结构与算法实验
(1)】:用邻接矩阵邻接实现
最新发布
StuLearn-LJC的博客
03-11 816
(Graph)是由节点(Node)和边(Edge)组成的数据结构可以用来示对象之间的关系,其中节点示对象,边示对象之间的连接或关联。的基本概念包括以下几个要素:节点:也称为顶点(Vertex),中的对象。节点可以具有属性或标签,用于描述对象的特征。
邻接矩阵存储邻接存储
05-14
邻接矩阵存储邻接存储 代码完整 有注释,有需要的可以下载看看,基本是邻接矩阵存储邻接存储 代码完整
数据结构存储结构邻接矩阵邻接
yunzuisanqianke的博客
11-20 305
邻接的一种链式存储结构,建立一个顶点,每个顶点有数据域和指针域,若(Vi,Vj)顶点之间存在一条边,则Vi顶点指针域指向的结点数据域存储的数据为Vj顶点在顶点中的位置与该条边的权值。可分为有向和无向,有向中顶点对是有序的,每条边都有起点和终点,称为从Vi到Vj的一条有向边;无向的顶点对是无序的。存储结构有主要有邻接矩阵邻接、十字链邻接多重,这里介绍邻接矩阵邻接两种方法。4:构造邻接矩阵,依次输入每条边依附的顶点以及边的权值。中顶点偶对的有穷集合,这些顶点偶对称为边。
建立邻接矩阵存储结构(数组示),并将邻接矩阵输出并对其进行深度优先遍历和广度优先遍历。
qq_55109560的博客
01-23 3178
源程序及注释 #include<iostream> usingnamespacestd; #defineERROR0 #defineOK1 typedefintStatus; #defineTRUE1 #define FALSE 0 //邻接矩阵(数组)存储示 #defineMaxINt32767 //示极大值,即无穷 #defineMVNum100 //最大顶点数 typedefintArcType; //假设边的权值类型为整...
新建 DOC 文档_实现邻接矩阵邻接存储_doc_的遍历算法_
10-01
领会的两种主要存储结构基本运算算法和两种遍历算法设计内容:编写一个程序,设计带权邻接矩阵邻接的创建和输出运算,并在此基础上设计一个主程序完成如下功能:(1)建立如所示的有向G的邻接矩阵,并输出之(2)建立如所示的有向G的邻接,并输出之(3)输出如所示的有向G从顶点0开始的深度优先遍历序列(4)输出如所示的有向G从顶点0开始的广度优先遍历序列(5)销毁G的邻接
存储方式——邻接矩阵邻接
hhhhh_555的博客
12-21 2604
文章目录邻接矩阵邻接储存的信息存储方式邻接矩阵的介绍邻接矩阵的实现定义邻接矩阵创建邻接矩阵打印邻接矩阵完整代码邻接的介绍邻接的实现定义邻接创建邻接完整代码 /* *@author zhazhazhi *qq:2055418639 *github:zhazhazhi7 */ 邻接矩阵邻接储存的信息 存储方式 一般的的基本存储方式有三种,邻接矩阵法、邻接法和十字链法,其中邻接矩阵邻接是最简单的的储存结构邻接矩阵的介绍 顶点数据存储 一位数组 边(弧)信息的存储
的两种存储邻接矩阵邻接
yyy_zxc的博客
05-19 1579
//----------------------定义邻接矩阵类型 /*============= 有两个数组:顶点数组和边数组 顶点数组:存储中所有顶点信息 边数组:存储顶点与顶点间的路径 无向的边数组是对称矩阵 ==================*/ //---------------------定义邻接类型 /*============= 中顶点用一维数组或单链存储【一般用数组存储邻接的第i个列是所有直接连接到第i个顶点的所有顶点的列。 无向存储所有与顶点vi直接相连的顶
数据结构——实现邻接矩阵邻接储存
qq_52479948的博客
01-26 1720
#include<stdio.h> #include<malloc.h> #define INF 32767 //定义无穷 #define MAXV 100 //最大顶点个数 typedef char InfoType; //定义邻接矩阵类型 typedef struct { int no; //顶点编号 InfoType info; //顶点信息 }VertexType; //顶点类型 typedef struct { int e.
邻接矩阵邻接
dongchuan5097的博客
06-25 174
有两种存储方式,邻接邻接矩阵。 稀疏一般用邻接,稠密一般用邻接矩阵。 具体实现如下: 1 // 2 //邻接矩阵 3 class Graph { 4 private: 5 //指向邻接矩阵 6 int **mat; 7 //n为顶点个数 8 int n; 9 public: ...
实现邻接矩阵邻接存储
08-15
#include #include #define MAXV 100 //以下定义邻接矩阵类型 typedef struct { int no; //顶点编号 int info; //顶点其余的信息 }VertexType; typedef struct { int edges[MAXV][MAXV]; //邻接矩阵 int n,e; //顶点数,弧数 VertexType vexs[MAXV]; //存放顶点信息 }MGraph;
分别采用邻接矩阵邻接存储结构实现的遍历
01-02
分别采用邻接矩阵邻接存储结构实现的遍历
数据结构邻接矩阵,邻接存储示,的深度优先搜索遍历,广度优先搜索遍历
06-17
数据结构邻接矩阵,邻接存储示,的深度优先搜索遍历,广度优先搜索遍历 数据结构邻接矩阵,邻接存储示,的深度优先搜索遍历,广度优先搜索遍历.rar
数据结构学习--邻接矩阵邻接存储
06-25
任意给出个(本实验中使用有向)的存储方式,试设计一个程序,在计算机中完成 该的当前存储方式到另外一种存储方式的转换。
Java语言描述存储结构邻接矩阵代码示例
08-28
主要介绍了Java语言描述存储结构邻接矩阵代码示例,涉及Java存储结构邻接矩阵邻接的介绍与比较,然后分享了邻接矩阵的Java实现等相关内容,具有一定借鉴价值,需要的朋友可以参考。
邻接矩阵存储方式实现_邻接_邻接矩阵_数据结构_
09-29
邻接矩阵存储结构体中,包括一个存储边的结构体,存储每条边的信息(权值)将这个边的结构体的二维数组作为的基本存储结构,放到单个结构体中每个又包含总节点数、总边数、的类型等信息
邻接矩阵邻接存储结构(C++)
06-07
自行实现邻接矩阵邻接存储结构 邻接矩阵类和邻接类的实现及测试函数 功能全 代码易理解 可直接运行
数据结构学习记录——如何建立邻接矩阵邻接-节点的结构、创建并初始化、插入变、完整的建立)
li13437542099的博客
05-26 1642
二维数组邻接矩阵。它的大小是MaxVertexNum × MaxVertexNum,用于存储顶点之间边的权重或者存在的情况。(无权重且存在边用1示,无权重且不存在边则用0示;有权重且存在边用其权重示,有权重且不存在边则用一个极大值示。其中,DataType Data[MaxVertexNum],可以用来存储与每个顶点相关的其他数据。例如:如果示一个社交网络,则可以存储每个顶点的个人资料信息(姓名、性别、年龄等),故而它的类型可以是整型,也可以是结构体类型。
算法设计:邻接矩阵转换邻接
11-01
邻接矩阵转换邻接是一种常见的存储方式转换方法。邻接矩阵是一种二维数组,其中每个元素示两个顶点之间是否有边相连。而邻接则是由链构成的数组,其中每个元素示一个顶点和与其相连的所有顶点。邻接...

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

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
写文章

热门文章

  • creo草绘工程图标注字体大小、加粗设置 22280
  • 串口通信——串口接收数据,发送数据 8986
  • 通过网页控制ESP8266服务端的板载LED 8193
  • 全网最全!!Qt实现图片旋转及图片旋转动画的几种方式 7167
  • visual studio的光标移动的快捷键设置 6854

分类专栏

  • 电芯结构
  • 计算机基础
  • C语言成长之路 23篇
  • C++ 39篇
  • 数据结构 22篇
  • 计算机网络 29篇
  • 操作系统 51篇
  • Linux 14篇
  • Linux系统编程-网络编程 15篇
  • Linux C应用编程 1篇
  • QT 20篇
  • arduino/MQTT物联网 13篇
  • 51单片机 8篇
  • 笔记 5篇
  • Git 2篇
  • MakeFile/CMake 1篇
  • 学习路线 1篇
  • 刷题 3篇
  • Creo/Proe 4篇

最新评论

  • 全网最全!!Qt实现图片旋转及图片旋转动画的几种方式

    巧克力才是最棒的: 如何旋转label?

  • Creo/Proe草图无法标注尺寸怎么办?

    屉远: 感谢老哥,我就说怎么视频能标出来,我就标不出来。表情包原来如此,谢谢老哥!表情包表情包

  • 全网最全!!Qt实现图片旋转及图片旋转动画的几种方式

    蜉蝣一念: 还能直接旋转label达到一样的效果

  • 大话数据结构-单链表勘误,计划调整

    qianshangn: 打扰一下,我也有同样的困惑,请问您能告知具体原因吗?表情包

  • Qt 多线程bug:moc_widget.cpp:-1: error: undefined reference to `Mythread::~Mythread()‘:-1:

    萧泊: 谢谢分享,问题已解决

大家在看

  • 6大部分,20 个机器学习算法全面汇总!!建议收藏!(上篇)
  • 荒野迷城SLG资源型游戏项目,脚本全自动搬砖挂机打金【挂机脚本+使用教程】 163
  • midjourney是什么以及有什么用途 245
  • 程序员做电商可行不? 21
  • PostgreSQL的视图pg_stat_database

最新文章

  • 机械传动系统
  • 剑指offer——链表
  • 从尾到头打印链表 ,合并两个排序的链表、反转链表 :迭代法
2022年101篇
2021年153篇

目录

目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值

深圳SEO优化公司榆林外贸网站设计哪家好沧州百度关键词包年推广哪家好上海百度竞价包年推广报价三亚seo网站优化呼和浩特模板制作多少钱昌都网站推广方案多少钱白山网页设计盐田网络广告推广报价昆明网站开发价格鹤壁seo网站推广报价太原网页设计价格大鹏建站价格龙岗seo多少钱普洱品牌网站设计报价海东网站搭建公司潜江外贸网站设计报价阿坝外贸网站制作公司横岗英文网站建设公司常德网站改版多少钱广东百度竞价哪家好潮州网络广告推广价格横岗外贸网站设计价格十堰网站排名优化多少钱晋中网站搭建推荐霍邱网站搭建推荐商丘模板制作报价运城网站关键词优化公司网站优化按天计费价格抚顺外贸网站建设报价贺州高端网站设计推荐歼20紧急升空逼退外机英媒称团队夜以继日筹划王妃复出草木蔓发 春山在望成都发生巨响 当地回应60岁老人炒菠菜未焯水致肾病恶化男子涉嫌走私被判11年却一天牢没坐劳斯莱斯右转逼停直行车网传落水者说“没让你救”系谣言广东通报13岁男孩性侵女童不予立案贵州小伙回应在美国卖三蹦子火了淀粉肠小王子日销售额涨超10倍有个姐真把千机伞做出来了近3万元金手镯仅含足金十克呼北高速交通事故已致14人死亡杨洋拄拐现身医院国产伟哥去年销售近13亿男子给前妻转账 现任妻子起诉要回新基金只募集到26元还是员工自购男孩疑遭霸凌 家长讨说法被踢出群充个话费竟沦为间接洗钱工具新的一天从800个哈欠开始单亲妈妈陷入热恋 14岁儿子报警#春分立蛋大挑战#中国投资客涌入日本东京买房两大学生合买彩票中奖一人不认账新加坡主帅:唯一目标击败中国队月嫂回应掌掴婴儿是在赶虫子19岁小伙救下5人后溺亡 多方发声清明节放假3天调休1天张家界的山上“长”满了韩国人?开封王婆为何火了主播靠辱骂母亲走红被批捕封号代拍被何赛飞拿着魔杖追着打阿根廷将发行1万与2万面值的纸币库克现身上海为江西彩礼“减负”的“试婚人”因自嘲式简历走红的教授更新简介殡仪馆花卉高于市场价3倍还重复用网友称在豆瓣酱里吃出老鼠头315晚会后胖东来又人满为患了网友建议重庆地铁不准乘客携带菜筐特朗普谈“凯特王妃P图照”罗斯否认插足凯特王妃婚姻青海通报栏杆断裂小学生跌落住进ICU恒大被罚41.75亿到底怎么缴湖南一县政协主席疑涉刑案被控制茶百道就改标签日期致歉王树国3次鞠躬告别西交大师生张立群任西安交通大学校长杨倩无缘巴黎奥运

深圳SEO优化公司 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化