博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
表示图的三种方法
阅读量:4981 次
发布时间:2019-06-12

本文共 1268 字,大约阅读时间需要 4 分钟。

三标准:

  • 图结构占用的空间
  • 确定图的一条给定边界花费的时间
  • 从给定节点处找到邻居花费的时间

Edge List

  • 以[v,w]为元素的列表,其中v,w为节点编号,每个元素表示一条边;
  • 如果有权重,则元素形式为[v,w,k]
  • 缺点:搜索某一特定边缘,必须进行遍历,最坏情况需要遍历完整个列表(不满足标准2)
    表示方法:
    ```[ [0,1], [0,6], [0,8], [1,4], [1,6], [1,9], [2,4], [2,6], [3,4], [3,5],
    [3,8], [4,5], [4,9], [7,8], [7,9] ]
###Adjacency Matrices(邻接矩阵) - 若图有V个节点,那么图的邻接矩阵为V*V大小。 - 若边界(i,j)存在,则对应矩阵元素值为1,否则为0。 - 如果有权重,矩阵元素值为权重,可能为`null` - 无向图的邻接矩阵是对称的;有向图的邻接矩阵无需对称。 - **缺点**1:所需存储空间大(特别是在稀疏图中) - **缺点**2: 搜索给定顶点的邻居时需要遍历一整行的V个节点(特别是邻居稀少时),花费的时间多,得到的结果少。![](http://images2017.cnblogs.com/blog/1211148/201802/1211148-20180213223931374-425190949.png)表示方法:

[ [0, 1, 0, 0, 0, 0, 1, 0, 1, 0],

[1, 0, 0, 0, 1, 0, 1, 0, 0, 1],
[0, 0, 0, 0, 1, 0, 1, 0, 0, 0],
[0, 0, 0, 0, 1, 1, 0, 0, 1, 0],
[0, 1, 1, 1, 0, 1, 0, 0, 0, 1],
[0, 0, 0, 1, 1, 0, 0, 0, 0, 0],
[1, 1, 1, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0, 1, 1],
[1, 0, 0, 1, 0, 0, 0, 1, 0, 0],
[0, 1, 0, 0, 1, 0, 0, 1, 0, 0] ]

###Adjacency Lists (邻接列表) - 对于每个顶点,拥有一个邻接列表,包含所有邻居节点。 - 如果有权重,邻接列表中每个元素由两个数组成:顶点,权重![](http://images2017.cnblogs.com/blog/1211148/201802/1211148-20180213224000656-1777970305.png)表示方法:

[ [1, 6, 8],

[0, 4, 6, 9],
[4, 6],
[4, 5, 8],
[1, 2, 3, 5, 9],
[3, 4],
[0, 1, 2],
[8, 9],
[0, 3, 7],
[1, 4, 7] ]
```

转载于:https://www.cnblogs.com/05410n/p/8447583.html

你可能感兴趣的文章
jQuery选择器总结2
查看>>
2019_BUAAOO_第一单元总结
查看>>
git比较两个版本,获取所有代码有差别的文件,并拷贝到一个文件夹中
查看>>
Spring3.1+Hibernate3+Struts2的最新整合所需要的jar包
查看>>
20135202闫佳歆--week2 操作系统是如何工作的--学习笔记
查看>>
HTML5 简介
查看>>
Charles接口工具使用介绍
查看>>
MVC VIEW 时间格式控制
查看>>
包装设计模式
查看>>
poj 1144 Network (割点)
查看>>
前端 HTML
查看>>
[LeetCode] 82 Remove Duplicates from Sorted List II
查看>>
2018.10.26 操作系统中的线程定义以及理解
查看>>
《洛克菲勒留给儿子的38封信》 第二封:运气靠策划
查看>>
笔记 js 基础笔记(Dom操作)
查看>>
struts配置请求后缀,将.action改为.do、.doaction_2015.01.04
查看>>
LOJ#565. 「LibreOJ Round #10」mathematican 的二进制 分治,FFT,概率期望
查看>>
C# 集合
查看>>
lucene学习笔记、资料
查看>>
js获取和设置DOM样式函数cssStyle(类似于jquery的$(elem).css())
查看>>