有向图节点邻居

时间:2018-08-20 22:59:00

标签: algorithm data-structures graph

在有向图中,节点邻居的定义是什么?

更具体地说,在下图中,哪些节点被视为节点0的邻居?

enter image description here

破解编码面试似乎表明1和2都是0的邻居,但是它并没有明确说明,我无法在网上找到合适的定义。

编辑:

我的困惑源于这段特定的段落:

  

在邻接矩阵表示中,您将需要遍历所有节点以标识节点的邻居。

这似乎暗示2被认为是0的邻居,否则您只需要遍历0的行来查找其邻居。但是它从来没有说清楚。

2 个答案:

答案 0 :(得分:6)

在有向图中,很少使用“ neighbor”(没有限定词)(如果这样,至少有人会说这可能是一个错误)。通常,您所说的是邻居(或传出邻居)-顶点在边缘的顶点,而邻居(或传入邻居)-顶点在边缘的顶点顶点。

同样,在无向图中您会说到邻域,在有向图中您会说到外向邻域或外向邻域。

答案 1 :(得分:2)

在有向图中,每条有向边都有一个尾部和一个头部,分别是边离开和到达的地方,从而形成节点 N 的内邻居和外邻居。 边缘到达的所有节点,在 N 中离开,都是外邻居。一条边离开、到达 N 处的所有节点都是内部邻居。

节点 N 的外邻居是单向链表中属于定义图的 ALR(邻接表表示)的数组(或哈希图)中的元素 N 的所有节点。

在邻接矩阵中,必须同意是每行放置尾节点,每列放置头节点,反之亦然。 (通常是不对称的)矩阵的主体包含定义输入或输出邻居的相关值。