`

大话数据结构十七:图的一些概念

 
阅读更多

图的基本术语:

1)图(Graph):图G由两个集合V和E组成,记为G=(V,E),这里V是顶点的有穷非空集合,E是边(或弧)的集合,而边(或弧)是V中顶点的偶对。

顶点(Vertex):图中的结点又称为顶点。
边(Edge):相关顶点的偶对称为边。



2)有向图(Digraph):若图G中的每条边都是有方向的,则称G为有向图。
弧(Arc):又称为有向边。在有向图中,一条有向边是由两个顶点组成的有序对,有序对通常用尖括号表示。
弧尾(Tail):边的始点。

弧头(Head):边的终点。


3)无向图(Undigraph):若图G中的每条边都是没有方向的,则称G为无向图。
无向完全图(Undirected Complete Graph):恰好有n(n-1)/2的无向图。
有向完全图(Directed Complete Graph):恰好有n(n-1)条弧的有向图。

邻接点(Adjacent):若(vi,vj)是一条无向边,则称顶点vi和vj互为邻接点。



4)
度(Degree):无向图中顶点v的度是关联于该顶点的边的数目,记为TD(v)。

入度(Indegree):若G为有向图,则把以顶点v为终点的边的数目,称为v的入度,记为ID(v)。
出度(Outdegree):若G为有向图,则把以顶点v为始点的边的数目,称为v的出度,记为OD(v)。

如图①:A的度为3。

如图②:A的入度为2,出度为1,所以A的度为3。



5)子图(Subgraph):设G=(V,E)是一个图,若E'是E的子集,V'是V的子集,使得E'中的边仅与V'中顶点相关联,则图G'=(V',E')称为图G的子图。

如图:②为①的4个子图



6) 路径(Path):无向图G=(V,E)中从顶点v到顶点v'的路径是一个顶点序列(v=vi0,vi1,…,vin=v'),其中(vij-1,vij)∈E,1≤j≤n。有向图G=(V,E)中从顶点v到顶点v'的路径是一个顶点序列(v=vi0,vi1,…,vin=v'),其中〈vij-1,vij〉∈E,1≤j≤n。
 简单路径:序列中顶点不重复出现的路径。
 环(Cycle):又称回路,第一个顶点和最后一个顶点相同的路径。
 简单回路:又称简单环,除了第一个顶点和最后一个顶点外,其余顶点不重复的回路。


7) 连通:在无向图G中,如果从顶点v到顶点v'有路径,则称v和v'是连通的。

连通图(Connected Graph):如果对于图中的任意两个顶点vi、vj∈V,vi和vj都是连通的,则称该图为连通图。

连通分量(Connected Component):无向图中的极大连通子图。
强连通图:在有向图G中,如果对于每一对vi,vj∈V,vi≠vj,从vi到vj和从vj到vi都存在路径,则称G是强连通图。
强连通分量:有向图中的极大连通子图。



8) 生成树(Spanning Tree):含有连通图的全部顶点的一个极小连通子图。


分享到:
评论

相关推荐

    算法与数据结构c与c++描述

    《算法与数据结构C与C++描述》是针对计算机科学中的核心概念——算法和数据结构进行深入探讨的教材。在编程领域,理解并熟练运用这些概念对于提升代码效率和优化程序设计至关重要。本文将详细阐述其中的关键知识点。...

    数据结构.mdaaa

    综上所述,本文从不同角度介绍了几种常见的数据结构及其基本操作,同时也讨论了Java中`HashMap`的一些关键实现细节。理解这些基础数据结构的概念和工作原理对于编程至关重要,有助于开发者更好地选择合适的数据结构...

    大话Oracle.RAC:集群、高可用性、备份与恢复(第2版)---详细标签

    1. **Oracle RAC基础**:介绍RAC的基本概念,包括全局缓存服务(GCS)、资源管理器(ResourceManager)、集群ware和网络结构,以及如何配置和安装RAC环境。 2. **RAC架构**:详细解析RAC的内部工作原理,如节点间...

    大话存储:存储系统底层架构原理极限剖析(终极版)(完整PDF版)

    接着,书中会深入讲解存储层次结构,从CPU缓存到主内存,再到外部存储设备,阐述如何通过缓存策略优化数据访问速度。此外,还会涉及虚拟内存管理,解释如何在物理内存不足时,利用硬盘空间作为虚拟内存,确保系统的...

    大话数据结构用Java实现3-01

    这段代码虽然简单,但它涵盖了几个关键的Java和数据结构概念: 1. ArrayList的使用:ArrayList是Java集合框架的一部分,它允许我们动态地添加和删除元素。它基于数组实现,提供了O(1)的随机访问性能,但在中间位置...

    数据结构学习指南:从资源到实战全方位提升编程技能

    接着推荐了几本经典的书籍,如《算法导论》、《大话数据结构》,适合不同程度的学习者深入理解算法和数据结构的细节。此外,还特别提及了几门高质量的网络课程,能够为初学者提供清晰的学习路径。最后强调通过动手...

    数据结构中缀转后缀计算C++

    在计算机科学领域,数据结构是组织和管理大量数据的关键组成部分,而中缀表达式、后缀表达式(也称为逆波兰表示法)是算法和计算理论中的重要概念。本话题将详细探讨如何在C++中实现中缀表达式到后缀表达式的转换,...

    03平衡二叉树_AVLTree.rar_03平衡二叉树_AVLTree_大话数据结构_平衡二叉树

    在数据结构的学习中,理解并掌握AVL树的概念、特性以及操作是至关重要的。 平衡二叉树的概念: 平衡二叉树的主要目标是解决普通二叉搜索树可能产生的高度不平衡问题,以提高查找、插入和删除操作的效率。在AVL树中...

    大话西游2与梦幻西游的地图提取器(包含遮挡图),C++完整源码

    这个名为“大话西游2与梦幻西游的地图提取器(包含遮挡图)”的项目,是使用C++编程语言编写的控制台应用程序,专用于从这两款知名网络游戏——大话西游2和梦幻西游中提取地图资源。下面将详细介绍这个项目所涉及的...

    大话存储2:存储系统架构与底层原理极限剖析.docx

    文件元数据描述了文件的内容和结构,如文件类型、编码方式等;文件数据块则是文件的实际数据存储部分。 与文件系统不同,块存储是以数据块为单位进行存储的。块存储设备将数据存储为一系列固定大小的数据块,这些...

    [大话存储:网络存储系统原理精解与最佳实践].张冬.扫描版

    3. 存储系统的基础技术:讨论了计算机IO基本概念、硬盘物理结构、盘片数据结构和工作原理等基础知识。 4. RAID技术:书中有对七种常见RAID技术原理的详细分析,并对性能细节进行了对比。 5. 磁盘阵列技术:涉及...

    大话处理器:处理器基础知识读本

    指令集体系结构是处理器的外在表现,第三章“指令集体系结构”,带领读者了解了指令集的概念、发展历史以及当前几种主流的指令集架构。同时,作者也提出了指令集领域中的“地盘之争”,以及汇编语言格式的重要性。 ...

    新大话西游经典系列源代码 - 作者:徐景周

    通过阅读和分析源码,开发者可以学习到游戏的架构设计、算法应用、数据结构的选择以及优化技巧等。在徐景周的这份源码中,我们可能找到游戏循环、碰撞检测、动画制作、AI行为控制等方面的实现细节。 "资源"在游戏...

    计算机组织与结构:大话流水线.ppt

    【计算机组织与结构:大话流水线】 在计算机科学中,流水线(Pipeline)是一种优化技术,用于提高处理器性能。这个概念可以从一个有趣的比喻中理解,即“顺溜的2级流水线”。顺溜是一名神枪手,他通过分工合作,使...

    计算机组织与结构:大话指令集-1.ppt

    大话指令集是计算机组织与结构中的一种重要概念,它是 CPU 中用来计算和控制计算机系统的一套指令的集合。每一种新型的 CPU 在设计时就规定了一系列与其他硬件电路相配合的指令系统。而指令集的先进与否,也关系到 ...

    java版大话西游源码

    这款教程涵盖了多线程技术和自动寻路算法等核心概念,是提升编程技能的好材料。 在Java编程中,多线程技术是实现并发执行的关键。Java通过内置的Thread类和Runnable接口支持多线程。在大话西游这样的游戏中,多线程...

    完整版大话练法.rar

    书中可能会详细讲解编程思维、代码优化、设计模式、数据结构、算法等技术主题,同时也可能包含对软件工程流程、项目管理、团队协作等方面的洞见。 2. **源代码示例**:为了便于理解和实践,书中的例子可能会提供源...

    大话传送网.pdf,通信入门

    在《大话传送网》中,作者可能会首先介绍通信的基本概念,如信号、频谱、调制解调等。信号处理是通信技术的基础,不同的调制方式(如AM、FM、PM和数字调制)会影响信息的传输质量和效率。 接着,书中可能涉及传输...

    计算机组织与结构:大话处理器v2.0.ppt

    它的工作原理基于冯·诺依曼结构,该结构提出“存储程序”的理念,即程序和数据一同存储在内存中,由处理器按照顺序执行。 处理器的发展史可以追溯到查尔斯·巴贝奇、阿兰·图灵和冯·诺依曼等先驱者。其中,爱达·...

Global site tag (gtag.js) - Google Analytics