![](/img/trans.png)
[英]Given an adjacency list for multigraph, compute adjacency list for equivalent (simple) undirected graph in O(|V|+|E|) time
[英]For a given graph G = (V,E) how can you sort its adjacency list representation in O(E+V) time?
因為我們知道表示頂點的整數可以采用[0,...,|V|-1]
范圍內的值,所以我們可以使用計數排序來對O(V)
時間中的鄰接表的每個條目進行排序。
由於我們有要排序的V
列表,因此可以得到O(V^2)
時間算法。 我看不到如何將其轉換為O(V+E)
時間算法...
實際上,您總共需要對E
元素進行排序-邊數。 因此,您對O(V^2)
估計不太正確。 您可以按照線性時間相對於每個鄰接表包含的邊數對其進行排序。 總的來說,您將擁有E條邊,對所有列表進行排序的復雜度將為O(E)
。 當然,由於有了V
列表,所以不能低於O(V)
,因此不能低於O(V +E)
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.