【自考】数据结构第五章图,期末不挂科指南,第9篇[通俗易懂]

【自考】数据结构第五章图,期末不挂科指南,第9篇[通俗易懂]图的基本概念 首先,你要明确图是什么样子的,就是下面这个样子的 图的定义与术语 有向图和无向图 直接对比图就可以看出来,有向图和无向图的区别了,这个没有什么难的。 有向图和无向图的表示法有略微的区别,

【自考】数据结构第五章图,期末不挂科指南,第9篇

图的基本概念

首先,你要明确图是什么样子的,就是下面这个样子的
数据结构自考

图的定义与术语

有向图和无向图

直接对比图就可以看出来,有向图和无向图的区别了,这个没有什么难的。
数据结构自考 数据结构自考

有向图和无向图的表示法有略微的区别,注意看
G1有箭头,有向图,表示方法是 V={V~0~,V~1~,V~2~,V~3~} E = {<V~0~,V~1~>,<V~1~,V~2~>,<V~1~,V~0~>,<V~2~,V~0~>,<V~2~,V~3~>}
G2无箭头,无向图,表示方法是 V={V~0~,V~1~,V~2~,V~3~} E = {(V~0~,V~1~),(V~1~,V~2~),(V~0~,V~2~),(V~2~,V~3~)}

弧、弧头、弧尾:有向图的边称为弧。无向图叫做边。有序偶对<v,w>表示有向图从v到w的一条弧,v称为弧尾或始点,w称为弧头或终点。

任何两点之间都有边的无向图称为无向完全图。
任何两点之间都有弧的有向图称为有向完全图。

权、带权图:图的边附带数值,这个数值叫权。每条边都带权的图称为带权图。

顶点的度、入度、出度:

  1. 无向图中顶点v的度是与该顶点相关联的边的数目,记为D(v)。
  2. 有向图中,把以顶点v为终点的弧的数目称为v的入度,记为ID(v);把以顶点v为始点的弧的数目称为v的出度,记为OD(v)。有向图顶点v的度为入度和出度之和,即D(v) = ID(v)+ OD(v)。

简单路径、回路、简单回路:序列中顶点不重复出现的路径称为简单路径。第一个顶点和最后一个顶点相同的路径称为回路。除了第一个顶点和最后一个顶点外,其余顶点不重复的回路,称为简单回路或简单环。

下面还有一些需要了解的术语

连通、连通图、连通分量、极大连通子图、强连通、强连通图、强连通分量、生成树、生成森林

如果精力足够,都看看吧

图的存储结构

图的存储结构有很多中,例如 邻接矩阵、邻接表、十字链表和邻接多重表

邻接矩阵

矩阵中标记1,有边,标记0,没有边

注意:无向图的邻接矩阵是一个对称矩阵

数据结构自考 数据结构自考 数据结构自考

带权图的邻接矩阵
数据结构自考 数据结构自考 数据结构自考

邻接矩阵自考/期末考试真题

数据结构自考

尝试着,画出无向图吧!

邻接表

邻接表是顺序存储与链式存储相结合的存储方法。

下图中,左侧是无向图,右侧是该无向图的邻接表,注意看,该符号,表示结束,没有连接的顶点了。

数据结构自考

有向图及其类似,这个就不在做图扩充

图的遍历

图的遍历是指从图的某个顶点出发,系统地访问图的每个顶点,并且每个顶点只被访问一次。
遍历图的基本方法有两种:深度优先搜索和广度优先搜索。

连通图的深度优先搜索

深度优先,就是往下走,走不动了,返回上一级在走
数据结构自考

连通图的广度优先搜索

顺着一个顶点,然后都遍历完。

数据结构自考,自考

图的应用

最小生成树的概念

概念:一个图的最小生成树是图所有生成树中权总和最小的生成树

构造最小生成树的Prim算法

每次都找权值最小的

看案例
数据结构自考,自考

构造最小生成树的克鲁斯卡尔算法单源最短路径 这两种算法,自己看一下吧。

拓扑排序

  1. AOV网

    工程或者某种流程可以分为若干个小的工程或阶段,这些小的工程或阶段就称为活动。
    如果以图中的顶点来表示活动,有向边表示活动之间的优先关系,这种用顶点表示活动的有向图称为AOV网。

数据结构自考,自考

  1. 拓扑排序
    设G=(V,E) 是一个具有n个顶点的有向图,V中顶点的序列v~1~,v~2~,…,v~n~称为一个拓扑序列,当且仅当该顶点序列满足下列条件:若在有向图G中,从顶点v~i~ ~ v~j~ 有一条路径,则在拓扑序列中顶点v~i~必须排在v~j~之前。找到一个有向图的一个拓扑序列的过程称为拓扑排序。完成拓扑排序的前提条件是AOV网中不允许出现回路。

拓扑排序算法的时间复杂度为O(n+e),n是图的顶点个数,e是图的弧的数目。

拓扑排序算法的基本步骤如下:

  1. 图中选择一个入度为0的顶点,输出该顶点
  2. 从图中删除该顶点及相关联的弧,调整被删弧的弧头结点的入度(入度减1);
  3. 重复执行上述两个步骤,直到所有的入度为0

好好理解一下拓扑排序算法吧

自考/数据结构期末考试真题

数据结构自考,自考 数据结构期末考试真题

画图说明步骤
更多图示: https://dwz.cn/r4lCXEuL
数据结构期末考试真题

拓扑排序不唯一~

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
转载请注明出处: https://daima100.com/10253.html

(0)
上一篇 2023-01-22
下一篇 2023-01-22

相关推荐

  • Python编程学习笔记

    Python编程学习笔记Python是一种高级编程语言,由Guido van Rossum于1989年底发明。Python被设计为易于阅读、编写和维护。Python的主要哲学是代码易于阅读以及语法明确简洁。Python为我们提供了许多优秀的标准库和第三方库,让开发变得更加简单。Python语言具有跨平台、动态类型和自动内存管理等特性。

    2024-08-20
    29
  • MySQL中distinct的使用方法【转】[通俗易懂]

    MySQL中distinct的使用方法【转】[通俗易懂]一、基本使用 distinct一般是用来去除查询结果中的重复记录的,而且这个语句在 、`insert delete update`中只可以在select中使用,具体的语法如下: 这里的expressi

    2023-02-17
    150
  • 您的DBS已上线!解决混合云数据库一站式备份若干问题「终于解决」

    您的DBS已上线!解决混合云数据库一站式备份若干问题「终于解决」4月14日,腾讯云数据库备份服务DBS(Database Backup Service)正式发布,旨在助力企业实现一站式备份混合云数据库。 DBS是一款高可用、低成本的数据备份产品,支持实时增量备份以

    2023-05-20
    129
  • Python yfinance模块

    Python yfinance模块有很多情况下,我们有时不得不获取博客网站甚至浏览器的财务数据或报表。允许我们收集其财务数据的著名浏览器之一是雅虎,实际上,当我们需要执行此任务时,有许多实例。在本教程中,我们将学习 Python 中的 yfinance 模块,我们将学习如何使用该模块从雅虎获取财务数据,以及我们可以从中收集什么样的数据。

    2023-12-04
    117
  • Python List赋值详解

    Python List赋值详解Python中的List是一种非常常用的数据类型,它可以存储任意类型的对象,并支持可变长度。在使用List时,有很多种赋值方式,每种方式都有其各自的特点和适用场景。本文将从多个方面介绍Python List的赋值方式,帮助读者更好地理解和使用这一常用的数据类型。

    2024-06-21
    47
  • MySQL实战45讲 4,5[亲测有效]

    MySQL实战45讲 4,5[亲测有效]MySQL实战45讲 4,5总结

    2023-05-27
    142
  • Python GUI 开发:使用Tkinter创建美观直观用户界面

    Python GUI 开发:使用Tkinter创建美观直观用户界面项目开发中,良好的用户界面是确保项目质量的重要环节之一。Python作为一门跨平台的编程语言,也提供了多种GUI工具包供开发者使用。其中,Tkinter是Python自带的,也是使用最广泛的GUI工具包之一。本文将详细介绍如何使用Tkinter创建美观直观的用户界面。

    2024-02-01
    96
  • 使用Python将数据写入CSV文件的完整指南

    使用Python将数据写入CSV文件的完整指南CSV(逗号分隔值)是一种通用的数据格式,用于在数据之间存储和交换信息。它的格式简单,易于使用,并且许多数据处理软件都支持CSV格式。通常,你可以使用电子表格软件(例如Microsoft Excel或Google Sheets)打开和编辑CSV文件,或使用编程语言(例如Python)处理CSV文件。

    2024-08-31
    24

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注