2015-11-12 181 views
1

給定一個已知爲拓撲排序的列表。它只包含節點的名稱。沒有給出列表中節點之間的邊緣。假設給出了一個新節點,其邊緣來自/從列表中的節點,如何將新節點插入到拓撲排序中?拓撲排序變體

+0

我正在考慮通過假設給出的列表的最壞情況情況圖來解決它。假設列表是[P1,P2,P3]。這可以看作圖P1-> P2-> P3。現在這只是一個頂級排序。但我認爲這有一個更優化的解決方案。 –

+0

我不認爲這是可能的。 – rici

+0

即使有一些額外的例外,如從邊緣的優先級低於邊緣? –

回答

0

只需在最後一個「從」節點和第一個「到」節點之間放置新節點即可。如果沒有最後一個「從」節點的循環索引將小於第一個「到」節點的索引,那麼您可以在它們之間添加新節點。