邻接矩阵
Dijkstra算法是从一个顶点到其余各顶点的最短路径算法,解决的是有权图中最短路径问题。Dijkstra算法主要特点是从起始点开始,采用贪心算法的策略,每次遍历到始点距离最近且未访问过的顶点的邻接节点,直到扩展到终点为止。 问题:有N个节点,M条边,求某节点到另一节点的最短距离 输入:先输入N(从0开始)代表N个节点,M条边,随后跟随N行,p1p2d,最后输入起始点st和终点ed 输出:求最短距离 例: 算法描述: ① 初始化,将图edge数组以及距离数组dis所有值置为极大量,表示不可访问,标记数组置为false 算法最多需要更新N个点才能得到最短路径,每次遍历节点也需要查询N遍其他节点与该节点的关系,所以空间复杂度应该是O(n^2);我们使用了N*N邻接表储存边,所以空间复杂度是O(n^2) 邻接矩阵实现简单,但是浪费很多空间,在稀疏图中就更加严重了
计划做一篇属性网络(Attributed Network)有关的工作。不同于拓扑网络,属性网络中的节点带有“特征”,因此,该问题中,除了网络的邻接矩阵,也存在节点属性构成的矩阵。研究属性网络,对理解网络的生成机制具有很现实的意义,如社交网络中好友关系的形成,也可以更好地解决社团挖掘(community detection)、链路预测(link predicting)这些衍生问题
计划做一篇属性网络(Attributed Network)有关的工作。不同于拓扑网络,属性网络中的节点带有“特征”,因此,该问题中,除了网络的邻接矩阵,也存在节点属性构成的矩阵。研究属性网络,对理解网络的生成机制具有很现实的意义,如社交网络中好友关系的形成,也可以更好地解决社团挖掘(community detection)、链路预测(link predicting)这些衍生问题
本文的阅读等级:初级 令 为一个 阶矩阵。若 ,其中 ,即 ,我们称 为 Hermitian 矩阵 (见“特殊矩阵 (9):Hermitian 矩阵”)。若所有 都是实数,则 ,实 Hermitian 矩阵即为实对称矩阵
图是用来对 对象之间 的成对关系建模的数学结构,由 节点 或 顶点(Vertex) 以及连接这些顶点的 边(Edge) 组成。 值得注意的是,图的顶点集合不能为空,但边的集合可以为空,通俗的讲,一张图,没有点不行,没有边可以,大不了点与点之间不相连。图可能是无向的,这意味着图中的边在连接顶点时无需区分方向
数据的逻辑结构:结构定义中的“关系” 描述的是数据元素之间的逻辑关系,又称为逻辑结构,比如平常教学中所画的内存图,数组等为数据的逻辑结构. 数据的物理结构:数据结构在计算机中的实际表示形式称为数据的物理结构又称为物理存储。 线性结构中又分为顺序表和链表(按物理存储结构划分),顺序表按顺序存储结构,链表按链式存储结构。 按顺序存储结构存储,内存中分配连续一段地址
拓扑排序: 就是按照逻辑上先后发生的顺序进行排序。 所以只有 有向图 才有拓扑序。 根据定义,如果图中有环则不能拓扑排序
这周学的是图,既然是新的概念,首先要了解它的定义和基本术语,我们这里主要讲术语,包括但不限于有向图和无向图,邻接点,出度和入度,路径和路径长度,连通图和连通分量(这里重点讲一下)图中任意两个顶点属于V集合,则图是连通的,所谓连通分量,指的是无向图中的极大连通子图;对于有向图,就是它本身啊!不能再错了) 然后就是图的存储结构这里,主要有邻接矩阵和邻接表,邻接矩阵主要有两数组,顶点表和邻接矩阵,若有权值则需将矩阵中赋予相应的值;然后是邻接表,这里涉及到指针,在构建时,有3个结构体,我个人比较容易忘记是定点指针那里,还要多多回归课本。 对图的遍历主要有2种算法BFS和DFS;直接上代码: 然后是最小生成树这里,有两个重要的方法,一个是不断找能构成最小权值的边的顶点,把他补充到集合U中。