【问题标题】:Directed Adjacency Lists有向邻接表
【发布时间】:2012-07-11 17:02:31
【问题描述】:

我以多种方式提出了这个问题,首先是:

当您有邻接列表时,顺序是否重要?假设我有邻接列表 {1, 2, 5} 是 相当于 {2, 1, 5}?或者顺序是否意味着某些东西,因此这两个列表不是 等价的?

我收到了几个答案,包括仅在图形是定向的并且顺序表示与顺时针相邻节点排列有关的情况下才重要..?我也被认为没有关系,但是他更希望根据权重(如果使用)来排序,例如互联网的排序方式 - 页面排名算法。尽管我认为我传达了要点,但我不认为要准确地解释这些回答中的任何一个。任何想法表示赞赏。

另外,我已经改进了我的问题,如果得到回答,我认为会给我我想要的确切答案:

假设我有一个有向图的邻接矩阵:

0 0 1 0

0 0 1 1

1 1 0 1

0 1 1 0

我被告知等效的邻接列表如下,并假设我的老师是这样列出的 故意而不是一些任意的重新排序 - 特别是在最后一个列表中看到:

{ 2 }

{ 2, 3 }

{ 0, 1, 3 }

{ 2, 1 }

最后一个列表是 { 2, 1 }!等效邻接矩阵中的内容提醒我它应该是 { 2, 1 } 而不是 { 1, 2 }?

【问题讨论】:

    标签: graph adjacency-list directed-graph adjacency-matrix


    【解决方案1】:

    通常情况下,不,邻接列表中的顺序无关紧要。

    ...除非明确说明。

    由于各种原因,实现可能使列表实际排序:由于图形的创建方式,或者因为您希望以某种顺序处理顶点的邻居。 但从概念上讲,顺序并不重要。

    我相信 是您的答案,{2,1}{1,2} 相同。也许你的老师一开始写错了(比如{2,3}),修改后没有改变顺序。或者他/她想让你去思考订单是否重要。不确定,除非你问老师。

    【讨论】:

      【解决方案2】:

      邻接表中节点的值是一个集合。集合是无序的。因此 {1,2} 与 {2,1} 相同。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-07-14
        • 2014-04-02
        • 1970-01-01
        • 2011-07-23
        • 1970-01-01
        相关资源
        最近更新 更多