0

我已經成功地實施了若干算法和數據結構。然而,我不知道我將如何實現一個圖算法,因爲我需要代表一個圖形。我試圖通過cormen等人的介紹實現算法和數據結構。人。然而,許多算法將圖形作爲輸入,或者將樹形結構作爲輸入,您不能僅將其作爲文本提供。 我不知道如何實現的Dijkstra,貝爾曼 - 福特,弗洛伊德,沃肖爾,克魯斯卡等 我可以代表任何圖形作爲基體,即使它是一個加權或向圖?因爲我認爲我可以使用矩陣的多維數組。我認爲0或1可以表示是否存在邊緣,但我不確定如何使用矩陣表示任何圖。那麼如果一個算法將其作爲輸入,那麼二叉樹又如何呢?實現算法和數據結構的

在此先感謝。

回答

0

這是一個非常開放式的問題。答案取決於你想要做的操作類型。來表示一個簡單的圖形

的一種方式是一個N×N陣列,其中每個元素表示邊緣。顯然你只需要一個三角形,可以忽略另一半或複製信息以使查找更容易。

稀疏圖具有非常大量的頂點,你可以代表一個邊緣的節點有兩個鏈接,以便它可以在兩個列表。每個頂點將具有鏈接在一起的邊的列表的頭部。