怎样做淘宝优惠券网站,网站高端设计,建站工具 风铃,西安网络推广公司目录
一、邻接矩阵#xff08;无向图#xff09; 二、邻接矩阵#xff08;有向图#xff09;
三、邻接矩阵#xff08;网#xff09;
四、邻接表#xff08;无向图#xff09;
五、邻接表#xff08;有向图#xff09; ——图的存储结构相比较线性表与树来说就复…目录
一、邻接矩阵无向图 二、邻接矩阵有向图
三、邻接矩阵网
四、邻接表无向图
五、邻接表有向图 ——图的存储结构相比较线性表与树来说就复杂很多
——对于线性表来说是一对一的关系所以用数组或者链表均可简单存放。 树结构是一对多的关系所以我们要将数组和链表的特性结合在一起才能更好的存放。
——我们的图是多对多的情况另外图上的任何一个顶点都可以被看作第一个顶点任一顶点的邻接点之间不存在次序关系。
——因为任意两个顶点之间都可能存在联系因此无法以数据元素在内存中的物理位置来表示元素之间的关系内存物理位置是线性的图的元素关系是平面的
一、邻接矩阵无向图 考虑到图是由顶点和边或弧两部分组成合在一起比较困难那就是很自然地考虑到分为两个结构来分别存储。 顶点因为不区分大小、主次所以用一个一维数组来存储是很不错地选择。 而边或弧由于是顶点与顶点之间的关系一维数组肯定就搞不定了那我们不妨考虑用一个二维数组来存储。
1、图的邻接矩阵Adjacency Matrix存储方式是用两个数组来表示图。一个一维数组存储图中顶点信息一个二维数组称为邻接矩阵存储图的边或弧的信息。 我们可以设置两个数组顶点数组为vertex[4] {V0V1V2V3}边数组arc[4][4]为对称矩阵0表示不存在顶点间的边1表示顶点间存在边。 二、邻接矩阵有向图 可见顶点数组vertex[4] {V0V1V2V3}弧数组arc[4][4]也是一个矩阵但因为是有向图所以这个矩阵并不对称例如由V1到V0有弧得到arc[1][0] 1而V0到V1没有弧因此arc[0][1]0。 另外有向图也是有讲究的要考虑入度和出度顶点V1的入度横为出竖为入为1正好是第V1列的个数之和顶点V1的出度为2 正好是第V2行的个数之和。
三、邻接矩阵网 在图的术语中我们提到了网这个概念事实上也就是每条边上带有权的图就叫网。 这里 “∞” 表示一个计算机允许的大于所有边上权值的值。
四、邻接表无向图 把数组与链表结合一起来存储这种方式在图结构也适用我们称为邻接表AdjacencyList。
邻接表的处理方法是
1、图中顶点用一个一维数组存储当然顶点也可以用单链表来存储不过数组可以较为容易的读取顶点信息更加方便。
2、图中每个顶点Vi的所有邻接点构成一个线性表由于邻接点的个数不确定所以我们选择用单链表来存储。
五、邻接表有向图 邻接表结构类似无向图的。