[英]how to Find the center of graph (vertex, that is connected with every other vertex, but edges are directed to the center of graph) with java
如何使用Java查找圖的中心(頂點,該頂點與其他每個頂點相連,但邊指向圖的中心)。 它對於像Facebook這樣的網站非常有用。
假設您有一個圖形,其中有一組頂點V:
V = { v1, v2, v3, ... , vn }
現在考慮極端情況,其中所有頂點都連接到v2,並且不存在其他邊,即,作為元組(從,到)給出的邊E的集合為:
E = ( (v1, v2), (v3, v2), ... , (vn, v2) }
在這種極端情況下,v2顯然是您定義的圖形的中心。
連接矩陣A如下所示:
A = {
from
to v1, v2, v3, .. vn
v1 0 0 0 .. 0
v2 1 0 1 .. 1
v3 0 0 0 .. 0
: :
vn 0 0 0 .. 0 }
在這里v2通過在其連通性矩陣A的行的每個位置(pos v2,即它本身除外)的每個位置都具有一個清楚地標識為圖的中心。
即使在E中還有其他邊時,也可以標識圖的中心。請注意,可能有多個中心...
在連接矩陣中,圖中定義不那么嚴格的中心可以作為在其行中具有最多條目的頂點。
當您擁有集合E並僅計算每個頂點在邊緣元組的to位置出現的次數時,可以避免構造矩陣A。 具有最大計數的頂點是圖形的丟失定義的中心,或者具有n-1的計數的頂點是您嚴格定義的中心。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.