当前位置: 首页 > news >正文

图的数据结构定义

写代码:定义一个顺序存储的图(邻接矩阵实现)
写代码:定义一个链式存储的图(邻接表实现)

自己设计一个不少于6个结点的带权无向图,并画出其邻接矩阵、邻接表的样子
自己设计一个不少于6个结点的带权有向图,并画出其邻接矩阵、邻接表的样子

1.顺序存储的图(邻接矩阵)

#define MaxVertexNum 100//顶点数目的最大值
typedef char VertexType;//顶点对应的数据类型
typedef int EdgeType;//边对应的数据类型
typedef struct{VertexType vex[MaxVertexNum];//顶点表EdgeType edge[MaxVertexNum][MaxVertexNum];//邻接矩阵,边表int vexnum,arcnum;//图的当前顶点数和边数 }MGraph; 

2.链式存储的图(邻接表) 


#define MaxVertexNum 100;//图中顶点数目的最大值
typedef struct ArcNode{//边表结点int adjvex;//该弧所指向的顶点的位置 struct ArcNode *nextarc;//指向下一条弧的指针//InfoType info;//网的边权值 
}ArcNode;
typedef struct VNode{//顶点表结点 VertexType data;//顶点信息ArcNode *firstarc;//指向第一条依附该顶点的弧的指针}VNode,AdjList[MaxVertexNum];
typedef struct{AdjList vertices;//邻接表 int vexnum,arcnum;//图的顶点数和弧数 
}ALGraph; //ALGraph是以邻接存储的图类型 

3.画图


http://www.mrgr.cn/news/30299.html

相关文章:

  • 音视频入门基础:AAC专题(9)——FFmpeg源码中计算AAC裸流每个packet的duration和duration_time的实现
  • maxwell 输出消息到 redis
  • 微信小程序页面制作——婚礼邀请函(含代码)
  • Java线程---并发集合
  • Git(4):修改git提交日志
  • 3D虚拟商城是什么?有哪些优势?
  • 关于文件操作
  • SQL建表、条件查询、插入数据、更新数据、删除数据、添加字段。
  • 免费开源微信机器人 教程/文档/开发
  • 前端开发规范
  • PCIe扫盲(九)
  • 集运系统核心功能模块:打造高效集运仓日常管理
  • Dubbo与SpringCloud的区别和优缺点
  • 2024/9/19 408大题专训之五段式指令流水线题型总结
  • Android 新增目录怎么加入git
  • 相亲交易系统源码详解与开发指南
  • Machine Learning: A Probabilistic Perspective 机器学习:概率视角 PDF免费分享
  • C++ 第三讲:内存管理
  • 【HTTP】HTTP报文格式和抓包
  • 避免高额开发费用,如何轻松开发类似喜马拉雅的听书平台?