当前课程知识点:数据结构(上) > 第六章 图 > (b1)邻接矩阵 > 06B1-2 邻接矩阵+关联矩阵
实际上图论已经为我们
提供了现成的图表示方法
比如其中最典型的
就是邻接矩阵以及关联矩阵
我们首先来看邻接矩阵
顾名思义 所谓的邻接矩阵
就是用以描述顶点之间
相互邻接关系的一种形式
具体来说 这是一个方阵
如果图中包括n个顶点
这个矩阵也就是n乘n的
于是矩阵中的任何一个单元
比如对应于第i行
第j列的那个单元
都表示顶点i与顶点j之间
是否存在一条边
也就是说 它们是否关联
如果是
可以简明地将这个元素取作1
反过来 如果否 取作0
不难看出
如果是无向图 那么它对应的
邻接矩阵就应该是对称的
也就是说 第i行第j列的元素
必然与第j行第i列的元素雷同
特别地 在该矩阵对角线上的元素
都对应于我们此前所说的自环
上一节曾经做过交代
在本门课中
我们不考虑此类的边
当然 如果我们考察的是所谓带权图
其中的每一条边
都拥有某一个称为权重的指标
那么我们只需对这样的形式的矩阵
略加扩充
具体来说
如果在顶点i与j之间
存在一条边
而且该边的权重是w
就不妨将这个权重存入
矩阵中对应的单元
可以看到 如果说无权图
可以简单地用0101的比特矩阵来表示
对于带权图
我们只需要将每个单元的类型
从单个的比特
扩展为对应的一个整数
或者浮点数即可
我们再来看所谓的关联矩阵
如果当前的图有n个节点
那么这个矩阵就有n行
如果图中总共包含e条边
那么这个矩阵就对应的有e列
n行 e列
相应地 矩阵中的任何一个单元
表示的也就是对应的顶点
与对应的边之间
我们再来看所谓的关联矩阵
类似地 如果存在关联关系
这个单元就记作1
否则 就记作0
不难看出
对于这个矩阵中的任何一列而言
应该恰好只有两个单元的数值为1
而其余的都是0
在我们这门课中
将主要介绍邻接矩阵
尽管在有些算法中
关联矩阵也同样可以大显身手
-选课之前
--写在选课之前
--宣传片
-考核方式
--考核方式
-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)深度优先搜索--作业
-第六章 图--本章测验