当前课程知识点:数据结构(上) > 第六章 图 > (a)概述 > 06A-1 邻接+关联
同学们好
在新的这一章 我们重点介绍图结构
相对于此前的线性以及半线性结构
图结构对其中元素的限定更少
因此反过来
它描述应用问题的能力也就更强
在这一章中
我们将分三个层次逐步展开
也就是术语
实现以及算法
这一节我们首先来介绍
相关的一些概念和定义
就数学意义而言的图
包含两个要素
首先是顶点集V
也就是任意一组元素
这里只考虑有限集
所以我们不妨将
这个集合的规模记作n
在这n个顶点之间
可能存在某种两两关系
如果的确存在这样的关系
我们就在对应的顶点之间
以连边来表示
存在对应关系就连边
存在对应关系就连边
存在对应关系就连边
所有这些连边
构成了图的第二个要素
我们也形象地称之为边集
同样地 我们通常也用e来表示边的总数
彼此之间存在这种关系
并且因此也存在连边的任何两个点
都称作是彼此邻接的
那么这样一个关系
也称作邻接关系
而参与定义这种邻接关系的
每一个顶点
与这个邻接关系之间的关系
我们也称作关联关系
请留意二者之间的区别
形象地说 所谓的邻接关系
就是顶点与顶点之间的关系
而关联关系呢
实际上是描述顶点以及与它相关的
某条边之间的关系
可以看到 图的这种邻接关系的定义
是可以任意的
我们此前所学的几种数据结构
因此也都可以视作是它的特例
比如在此前的向量和列表等线性序列中
只有互为前驱与后继的元素之间
才能够定义邻接关系
因此整体而言
序列结构应该是图的一种特例
而树结构呢
也只能在父节点与子节点之间
才能够定义邻接关系
因此就整体而言
树结构也可以视作图的一种特例
也就是说 图更为一般化
其中的任何两个节点之间
都允许存在这样的一个邻接关系
当然这里有一个特例
我们需要排除
也就是是否允许同一个节点
与自身构成一个邻接关系
在图论中 的确有时需要讨论这类图
而在我们这个课程中 为了简化起见
不妨将此类称作自环的边忽略掉
而不予讨论
-选课之前
--写在选课之前
--宣传片
-考核方式
--考核方式
-OJ系统说明
--关于OJ
--1-注册与登录
--2-界面与选课
--3-提交测试
-关于课程教材与讲义
--课程教材与讲义
-关于讨论区
--关于讨论区
-微信平台
--html
-PA晋级申请
--PA晋级
-(a)计算
--演示
--(a)计算--作业
-(b)计算模型
-(b)计算模型--作业
-(c)大O记号
-(c)大O记号--作业
-(d)算法分析
-(d)算法分析--作业
-(e)迭代与递归
-(e)迭代与递归--作业
-(xc)动态规划
-- 演示
-(xc)动态规划--作业
-本章测验--作业
-(a)接口与实现
--02A-5 复制
-(a)接口与实现--作业
-(b)可扩充向量
-(b)可扩充向量--作业
-(c)无序向量
--02C-1 概述
--02C-3 插入
--02C-6 查找
--02C-8 遍历
-(c)无序向量--作业
-(d1)有序向量:唯一化
-(d1)有序向量:唯一化--作业
-(d2)有序向量:二分查找
-(d2)有序向量:二分查找--作业
-(d3)有序向量:Fibonacci查找
-(d3)有序向量:Fibonacci查找--作业
-(d4)有序向量:二分查找(改进)
-(d4)有序向量:二分查找(改进)--作业
-(d5)有序向量:插值查找
-第二章 向量(下)--(d5)有序向量:插值查找
-(e)起泡排序
--02E-2 改进
--02E-3 反例
-(e)起泡排序--作业
-(f)归并排序
-(f)归并排序--作业
-本章测验--作业
-(a)接口与实现
--03A-4 实现
-(a)接口与实现--作业
-(b)无序列表
--03B-2 查找
-(b)无序列表--作业
-(c)有序列表
--03C-3 查找
-(c)有序列表--作业
-(d)选择排序
--03D-1 构思
--03D-2 实例
--03D-3 实现
--03D-4 推敲
--03D-6 性能
-(d)选择排序--作业
-(e)插入排序
--03E-1 经验
--03E-2 构思
--03E-3 对比
--03E-4 实例
--03E-5 实现
-(e)插入排序--作业
-(xd)习题辅导:LightHouse
-本章测验--作业
- (a)栈接口与实现
--04A-1 栈
--04A-2 实例
--04A-3 实现
- (a)栈接口与实现--作业
-(c1)栈应用:进制转换
-第四章 栈与队列--(c1)栈应用:进制转换
-(c2)栈应用:括号匹配
-(c2)栈应用:括号匹配--作业
-(c3)栈应用:栈混洗
-第四章 栈与队列--(c3)栈应用:栈混洗
-(c4)栈应用:中缀表达式求值
-(c4)栈应用:中缀表达式求值--作业
-(c5)栈应用:逆波兰表达式
-第四章 栈与队列--(c5)栈应用:逆波兰表达式
-(d)队列接口与实现
--04D-1 接口
--04D-2 实例
--04D-3 实现
-第四章 栈与队列--本章测验
-(a)树
--05A-1 动机
--05A-2 应用
-(a)树--作业
-(b)树的表示
--05B-2 父亲
--05B-3 孩子
-第五章 二叉树--(b)树的表示
-(c)二叉树
-(c)二叉树--作业
-(d)二叉树实现
-(d)二叉树实现--作业
-(e1)先序遍历
-(e1)先序遍历--作业
-(e2)中序遍历
-第五章 二叉树--(e2)中序遍历
-(e4)层次遍历
-第五章 二叉树--(e4)层次遍历
-(e5)重构
-(e5)重构--作业
-本章测验--作业
-(a)概述
-(a)概述--作业
-(b1)邻接矩阵
-(b1)邻接矩阵--作业
-(c)广度优先搜索
--06C-2 策略
--06C-3 实现
--06C-5 实例
-(c)广度优先搜索--作业
-(d)深度优先搜索
--06D-1 算法
--06D-2 框架
--06D-3 细节
-(d)深度优先搜索--作业
-第六章 图--本章测验