数据结构·图的知识点总结(上)

简介: 数据结构·图的知识点总结(上)

一、有关图的思维导图


20171210165021846.png


二、图的相关知识点


1.图的基本概念


图的定义


图(Graph)是由顶点的有穷非空集合和顶点之间边的集合组成,通常表示为:G(V,E),其中,G表示一个图,V是图G中顶点的集合,E是图G中边的集合。


图的相关概念和术语


无向边


若顶点vi到vj之间没有方向,则称这条边为无向边,有无序偶对(vi,vj)来表示。


无向图


如果图中任意两个顶点之间的边都是无向边,则称该图为无向图

6c8ec82a56eced278a86b55f48b6bdff.png

有向边


若从顶点vi到vj的边有方向为有向边,也称为弧,用 有序偶< vi, vj> 来表示,vi称为弧尾,vj称为弧头。


有向图


如果图中任意两个顶点之间的边都是有向边,则称该图为有向图。


d1f5159c980591cb51535139b3b89c17.png


简单图


在图中,如果不存在顶点到其自身的边,且同一条边不重复出现,则称这样的图为简单图。


无向完全图


在无向图,如果任意两个顶点之间都有存在边,则称该图为无向完全图。

20201007101926587.png


有向完全图


在有向图中,如果任意两个顶点之间都存在互为相反的弧,则称该图为有向完全图


20201007102224338.png

稀疏图&稠密图


有很少的边或弧的图称为稀疏图,反之称为稠密图

权:有些图的边或者弧具有与他相关的数字,这个相关的数称为权



这种边带权值的图叫网

20201007104019367.png


2.图的存储结构和基本运算算法


图的存储结构


邻接矩阵


邻接矩阵用两个数组保存数据。一个一维数组存储图中顶点信息,一个二维数组存储图中边或弧的信息。


c4545f8725791b19a09efba35d78b93a.png

邻接矩阵的表示

20190629124937161.png


其他存储结构


邻接表 十字链表 邻接多重表


图的算法实现

图的结构体创建

typedef struct {
  VexType vexs[MAXVEXNUM];//点的集合
  ArcCell arcs[MAXVEXNUM][MAXVEXNUM];//边的集合
  int vexNum, arcNum;
}MyGraph;


相关文章
|
5月前
|
存储
数据结构—顺序表(如果想知道顺序表的全部基础知识点,那么只看这一篇就足够了!)
数据结构—顺序表(如果想知道顺序表的全部基础知识点,那么只看这一篇就足够了!)
|
27天前
|
存储 Java
数据结构第三篇【链表的相关知识点一及在线OJ习题】
数据结构第三篇【链表的相关知识点一及在线OJ习题】
24 7
|
5月前
|
存储 算法
数据结构===图
数据结构===图
|
5月前
|
存储 Java API
Java数据结构之ArrayList(如果想知道Java中有关ArrayList的知识点,那么只看这一篇就足够了!)
Java数据结构之ArrayList(如果想知道Java中有关ArrayList的知识点,那么只看这一篇就足够了!)
Java数据结构之ArrayList(如果想知道Java中有关ArrayList的知识点,那么只看这一篇就足够了!)
|
4月前
|
算法 Python
逆袭之路!用 Python 玩转图的 DFS 与 BFS,让数据结构难题无处遁形
【7月更文挑战第12天】图的遍历利器:DFS 和 BFS。Python 中,图可表示为邻接表或矩阵。DFS 沿路径深入,回溯时遍历所有可达顶点,适合找路径和环。BFS 层次遍历,先近后远,解决最短路径问题。两者在迷宫、网络路由等场景各显神通。通过练习,掌握这些算法,图处理将游刃有余。
61 3
|
4月前
|
存储 算法 Python
“解锁Python高级数据结构新姿势:图的表示与遍历,让你的算法思维跃升新高度
【7月更文挑战第13天】Python中的图数据结构用于表示复杂关系,通过节点和边连接。常见的表示方法是邻接矩阵(适合稠密图)和邻接表(适合稀疏图)。图遍历包括DFS(深度优先搜索)和BFS(广度优先搜索):DFS深入探索分支,BFS逐层访问邻居。掌握这些技巧对优化算法和解决实际问题至关重要。**
38 1
|
5月前
|
存储
数据结构学习记录——如何建立图(邻接矩阵、邻接表-图节点的结构、创建并初始化、插入变、完整图的建立)
数据结构学习记录——如何建立图(邻接矩阵、邻接表-图节点的结构、创建并初始化、插入变、完整图的建立)
64 0
|
5月前
|
存储 算法
数据结构学习记录——图应用实例-六度空间(题目描述、算法思路、伪代码及解读、图解)
数据结构学习记录——图应用实例-六度空间(题目描述、算法思路、伪代码及解读、图解)
51 0
|
5月前
|
存储 算法 安全
数据结构学习记录——图应用实例-拯救007(问题描述、解题思路、伪代码解读、C语言算法实现)
数据结构学习记录——图应用实例-拯救007(问题描述、解题思路、伪代码解读、C语言算法实现)
38 0
|
5月前
|
存储 C语言
数据结构学习记录——图的遍历(深度优先搜索、广度优先搜索、为什么需要两种遍历、图不连通怎么办)
数据结构学习记录——图的遍历(深度优先搜索、广度优先搜索、为什么需要两种遍历、图不连通怎么办)
58 0