【问题标题】:Adjacency list representation of graphs图的邻接表表示
【发布时间】:2013-07-04 14:06:33
【问题描述】:

在斯坦福大学的一门算法课程中,教授列出了图的邻接表表示的以下成分:

  1. 顶点数组或列表
  2. 边的数组或列表
  3. 顶点列表中的每个顶点都指向入射在其上的边。
  4. 边缘列表中的每条边缘都指向其边缘点。

这是否对应于Wikipedia? Goodrich和Tamassia提出的面向对象的关联列表结构有特殊的顶点对象和边对象类?

这种表示是否与图表的“发病率列表”表示相同?如果是,为什么this article中的“邻接列表”和“发生列表”被认为是分开的?

【问题讨论】:

    标签: algorithm graph


    【解决方案1】:

    我猜这篇文章的作者会将该结构称为关联列表,因为节点通过边而不是直接链接到其他节点。关联列表/邻接列表的区别是非标准的,恕我直言,这并不是非常有用,因为这两种结构具有相似的性能特征,而且如果去掉列表 ADT,则不清楚这种区别是否有根据。

    【讨论】:

    • steve-yegge.blogspot.com/2008/03/get-that-job-at-google.html 。在内存中表示图有三种基本方法(对象和指针、矩阵和邻接表),您应该熟悉每种表示形式及其优缺点。在这里,作者还谈到了三种不同的表现形式。你不觉得基本上只有两种表示吗?
    • @vkaul11 有很多表示,但最有用的区别是邻接矩阵和列表。 Yegge 的“对象和指针”与“邻接表”之间的唯一区别似乎是面向对象程序中事物的结构。
    • 我同意在 Tim Roughgarden 的课堂上,他并没有真正区分列表、对象和指针。
    猜你喜欢
    • 1970-01-01
    • 2018-07-14
    • 1970-01-01
    • 1970-01-01
    • 2011-10-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多