2014-11-01 34 views

回答

0

這是可能的,但不常見。

如果你想要一個排序樹,你通常會按排序順序構建它。重新排列樹中的節點/分支是相當常見的。如果您正在構建二叉搜索樹,則可能會重新排列節點以保持平衡。如果您在編譯器中使用抽象語法樹,則可以重新排列節點以優化計算。

地圖是一個更抽象的結構,可以使用二叉搜索樹,跳過列表,B樹,哈希表等實現。其中大多數假設某些特定的內容順序。

圖基本上是樹的泛化。將某些類型的排序應用於圖形當然是可能的(例如,圖形上的拓撲排序很常見)。如果數據具有自己的某種結構,那麼通常會使用圖表,並將其減少爲有序序列會使圖表中的大量數據丟失。

例如,圖形的典型用法可能是將火車站表示爲節點,並將這些站點之間的連接作爲圖形中的弧線進行訓練。然後,您可以通過這些圖表來找出通過這些鐵路連接從一個城市到另一個城市的方式。

從圖表中提取數據的一個子集(例如城市名稱)並將數據分類爲一個序列(例如獲取特定站點的出發列表,按出發時間排序,並列出每個的目的地。您可能還想要生成(主要)目的地的排序列表,以及每個目的地的出發時間。

這些確實會提取數據,然後對提取的數據進行排序,而不是排序圖本身。整個原因(或者大部分原因,無論如何)圖形首先被構建爲圖形是因爲它包含的數據不會輕易地按照一個特定順序減少到一個列表。

+0

你的意思是說,Set,Tree,Map,Graph都是以結構化的方式創建的,所以它不常見的排序 – VijayM 2014-11-01 17:58:40

+0

或多或少,無論如何,是的。 – 2014-11-01 18:05:05