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

【图】图学习

0 回顾数据结构逻辑

1 图的定义和基本术语

必须有顶点,可以没有边。

Cn2和2*Cn2(数学上的,n个顶点取2个顶点)

概念有些多。。。。。。

2 图的定义

3 图的存储结构

无向图的邻接矩阵

有向图的邻接矩阵

网(有权图)的邻接矩阵

邻接矩阵

邻接矩阵的存储表示:用两个数组分别存储顶点表邻接矩阵

#define MaxInt 32767             // 表示极大值,即∞
#define MVNum 100                // 最大顶点数
typedef char VerTexType;         // 设顶点的数据类型为字符型
typedef int ArcType;             // 假设边的权值类型为整型typedef struct {VerTexIype vexs[MVNum];          // 顶点表ArcType arcs[MVNum][MVNum];      // 邻接矩阵int vexnum, arcnum;              // 图的当前点数和边数
} AMGraph; 
// Adjacency Matrix Graph

2、采用邻接矩阵表示法创建无向网


【算法思想】

(1)输入总顶点数和总边数;

(2)依次输入点的信息存入顶点表中;

(3)初始化邻接矩阵,使每个权值初始化为极大值;

(4)构造邻接矩阵。

创建无向网

void CreatUDN(AMGraph &G)
{// 第一步:输入无向图的顶点数目cout << "input num" << endl;cin >> G.arcnum >> G.arcnum; // 输入总顶点数和总边数// 第二步:输入结点的名称,保存在一维数组中cout << "input vexs" << endl;for (int i = 0; i < G.vexnum; ++i){cin >> G.vexs[i];}// 第三步:将邻接矩阵的元素值置为无穷大for (int i = 0; i < G.arcnum; ++i){for (int j = 0; j < G.arcnum; ++j){G.arcs[i][j] = INT32_MAX;}}// 第四步:输入顶点相互关系以及权重for (int k = 0; k < G.arcnum; ++k){int i, j, weight;char a, b;cin >> a >> b >> weight;// 由输入的顶点a和b查找到对应的下标i,ji = LocateVex(G, a);j = LocateVex(G, b);G.arcs[i][j] = G.arcs[j][i] = weight;}
}

邻接矩阵的LocateVex函数

int LocateVex(AMGraph &G, const char &e)
{for (int i = 0; i < G.vexnum; ++i){if(G.vexs[i] == e)return i;}return -1;
}


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

相关文章:

  • Caused by: org.apache.flink.api.common.io.ParseException: Row too short:
  • 无线局域网四种类型
  • 扫雷游戏代码分享(c基础)
  • 2024 西湖论剑 Reverse BabyCPP
  • 以太网的发展
  • 阿里云centos7.9服务器磁盘挂载,切换服务路径
  • 了解Hadoop:大数据处理的核心框架
  • JUC并发队列及应用
  • 计算机研究生方向,零基础入门到精通,收藏这篇就够了
  • halcon仿射变换核心技术分析
  • 2024年【危险化学品生产单位主要负责人】找解析及危险化学品生产单位主要负责人考试技巧
  • 910. 最小差值 II
  • 《Python网络安全项目实战》项目3 处理文件中的数据_练习题(2)
  • GB/T 43206—2023信息安全技术信息系统密码应用测评要求(二)
  • 闭包的知识
  • CMS那点事
  • 分布式唯一ID生成(二): leaf
  • 网站架构知识之Ansible进阶(day022)
  • JavaScript深拷贝与浅拷贝:区别及实现方法详解
  • 【计算机架构】什么是 ROM
  • GPIO 唤醒深度睡眠的esp32-c3
  • CouchdbH2database未授权
  • arkUI:相对布局(RelativeContaine)
  • 环形链表问题(图 + 证明 + 题)
  • Kruskal和Prim
  • 【前端打包必看】webpack入口与出口配置全解析(8)