图(数据结构篇)

数据结构之图

概念

  • 一个图(graph)G=(V,E)由顶点集V和边集E组成每一条边就是一个点对(u,w),其中u,w∈V,有时边称作弧,如果点对是有序的,那么组成的图叫做有向图,反之就是无向图 。有时候边还具有第三种成分,称作权或值。
  • 图中的一条路径是一个顶点序列w1,w2,w3...wn,使得(wi,wi+1)∈E,1<i<N;这样一条路径的长度就为该路径的边数 。如果图中含有一条从顶点到自身的边(u,u),那么路径v,v称作为环。而我们讨论的图一般是无环的。
  • 简单路径是一条路径上的所有顶点都是互异的,但第一个顶点和最后一个顶点可能相同。
  • 当一个长至少为1的路径中的第一个顶点等于最后一个顶点时,则称为圈 ,对于无向图的圈,要求边是互异的,意思就是u到v跟v到u是一条边形成的不满足无向图的圈。
  • 无向图中的每一个顶点到其他顶点都有一条路径的称作这个无向图连通的,具有这种性质的有向图称为强连通,反之就是弱连通
  • 完全图的每一对顶点间都存在一条边的图

图的表示

  • 表示的图的一种简单方法使用一个二维数组 ,称为邻接矩阵表示法对于每条边(u,v),我们将数组anu v=1否则数组的元素等于0 ,如果边有权 ,我们就令anu v的值等于该权,而**用一个很大或者很小的权作为标记表示不存在的边。**但是该方法的空间代价太大,如果图是稠密的,可以用这种方法。空间需求O(|V|²);
  • 如果图是稀疏 的,我们就用邻接表(数组+链表)来表示 ,数组的元素个数代表着图中有多少个节点每个索引的链表存该索引顶点邻接的所有顶点 。顶点的名称不一定是数字 ,因此需要将顶点通过哈希函数映射到数组中

尾言

完整版笔记也就是数据结构与算法专栏完整版可到我的博客进行查看,或者在github库中自取(包含源代码)

相关推荐
AI情绪识别开源16 小时前
检信 ALLEMOTION OS 加密打包可执行程序 — 全面测试报告版本: v1.3功能测试 / 性能测试 /
开发语言·数据结构·人工智能·功能测试
伟大的车尔尼1 天前
贪心的概念
数据结构·算法·贪心
AI情绪识别开源1 天前
检信AI高一分班分科智选评估系统 v2.0测试报告
开发语言·数据结构·人工智能·科技
CoderYanger1 天前
A.每日一题:输入单词需要的最少按键次数 Ⅰ+Ⅱ
java·数据结构·算法·leetcode·面试
雪碧聊技术1 天前
KMP算法详解
数据结构
positive_zpc1 天前
进阶数据结构图——关键路径(四)
数据结构·图论·关键路径
孙克旭_1 天前
单链表进阶实操:5 道常考面试题详细解析【Java 实现】
java·开发语言·数据结构·单链表
Chester_19991 天前
CSP202206C.角色授权
开发语言·数据结构·c++·蓝桥杯
旖旎夜光1 天前
LeetCode 238:除自身以外数组的乘积(前缀和) —— 题解
数据结构·c++·算法·leetcode·前缀和
一条大祥脚1 天前
26杭电暑期第八场(后半)快读|快写|tarjan|路径DP|mex转化|扫描线|前缀和|二分图
数据结构·算法·tarjan·杭电多校·强联通分量·动态规划dp