大话数据结构读书笔记(5)----图
来源:互联网 发布:跨平台app开发 知乎 编辑:程序博客网 时间:2024/05/21 11:31
1、图的定义
图(graph)是由顶点的有穷非空集合和顶点之间的边的集合组成,通常表示为:G(V,E),其中G表示一个图,V是图G中顶点的集合,E是图G中边的集合。
图按照有无方向分为无向图和有向图。无向图由顶点和边构成,有向图由顶点和弧构成。弧有弧头和弧尾之分。
图按照边或弧的多少分稀疏图和稠密图。如果任意两个顶点之间都存在边叫完全图,有向的叫有向完全图。若无重复的边或顶点到自身的边则叫简单图。
无向图顶点的边数叫度,有向图顶点分为入度和出度。
图上的边或弧带权则称为网。
图中顶点之间存在路径,两顶点存在路径则说明是连通的,如果路径最终回到起始点则称为环,当中不重复叫简单路径。若任意两顶点都是连通的,则图就是连通图,有向则称强连通图。图中有子图,若子图极大连通则就是连通分量,有向的则称强连通分量。
2、图的存储结构
图的邻接矩阵(Adjacency Matrix)存储方式是用两个数组来表示图。一个一维数组存储图中顶点信息,一个二维数组(邻接矩阵)存储图中的边或弧的信息。
关于结点定义的代码:
无向图邻接表创建代码如下:
3、图的遍历
图的遍历(Traversing Graph):从图中某一顶点出发访遍图中其余顶点,且使每一个顶点仅被访问一次。
深度优先遍历(Depth_First_Search)从图的某个顶点V出发,访问此顶点,然后从V的未被访问的邻接点出发深度优先遍历图,直至图中所有和V有路径想通的顶点都被访问到。若图中尚有顶点未被访问,则另选中图中一个未被访问的顶点作为起始点,重复上述过程,直至图中所有顶点都被访问到为止。代码如下:
广度优先遍历(Breadth_First_Search)类似于树的层序遍历,代码如下:
- 大话数据结构读书笔记(5)----图
- 大话数据结构读书笔记 5---图
- 大话数据结构读书笔记(七)-图
- 大话数据结构 第七章 图 (读书笔记)
- 《大话数据结构》读书笔记(一)
- 《大话数据结构》读书笔记(二)
- 《大话数据结构》读书笔记(三)
- 《大话数据结构》读书笔记(四)
- 《大话数据结构》读书笔记(五)
- 《大话数据结构》读书笔记(1)
- 《大话数据结构》读书笔记(2)
- 《大话数据结构》读书笔记(一)
- 《大话数据结构》读书笔记(二)
- 《大话数据结构》读书笔记(三)
- 大话数据结构——读书笔记(2)
- 【读书笔记】大话数据结构之 栈(1)
- 大话数据结构读书笔记系列(二)算法
- 大话数据结构读书笔记系列(五)串
- 前端实现下拉显示更多功能
- 使用Lint工具进行代码分析
- Linux内核中内存管理相关的数据结构
- SQL执行顺序
- 求三个数的最大值(利用三目运算符)
- 大话数据结构读书笔记(5)----图
- java获取扫描枪的数据到数据库
- HDU-5559-Frog and String
- 实验二(顺序表)
- 680. Valid Palindrome II
- 20171016笔记
- C语言中const关键字的用法
- 符姓大全
- 我的c语言第二课