1

I am learning the topic of Minimum-Spanning-Tree right now, and I understand the most of it, but I still have some things that I do not understand. I am dealing with undirected weighted graphs.

First, I know that finding MST costs O(E*log V). Now, I want to optimize it to linear time - O(V+E), when we dealing with planar graphs.

Secondly, I saw an example of n points in the unit-square and I succeed to show that a MST that weights O(sqrt n) is exist. The problem is that I could not find an algorithm to find this MST.

Thanks all, Or

  • 1
    In a planar graph there are at most 3|V| - 6 edges, so E = O(V), so O(V+E) simplifies to O(V). I don't know of an O(V) algorithm specialised for planar graphs, but you might have some luck searching the literature online. Regarding finding the MST for the n points in a unit square: why not just use any ordinary algorithm, like Prim's or Kruskal's? – j_random_hacker Jun 05 '14 at 17:47
  • planar graph: I didn't found anything, so I tried here maybe to get some directions to the explanation. MST: I thought about doing a regular algorithm for MST. is this satisfying solution? – Or Zuckerman Jun 05 '14 at 17:59
  • Then you didn't look very hard. Googling "planar minimum spanning tree" got me a page of results, on which the 4th link is to a citeseer page containing a 1994 paper by Matsui called "The Minimum Spanning Tree Problem on a Planar Graph". – j_random_hacker Jun 05 '14 at 18:05
  • I don't see why you should feel the need to use a different algorithm for points in a unit square. There might be faster algorithms for MST using a Euclidean metric (or a metric in general); there are for some other graph problems like Steiner Minimal Tree. – j_random_hacker Jun 05 '14 at 18:09
  • I found this article, but I didn't understood him well. I will try again, Thank you. – Or Zuckerman Jun 05 '14 at 18:09
  • BTW if by "O(square n)" you mean "O(n^2)" then I think this can be improved: the longest possible edge in a unit square has length sqrt(2), so for n points a trivial upper bound is (n-1)*sqrt(2). – j_random_hacker Jun 06 '14 at 13:01
  • @j_random_hacker thank you, I corrected it to O(sqrt n). Finally, I succeed to proof that such a spanning tress is exist and it is the minimum spanning tree. Then, all I have to do is just to find this MST with any known algorithm, so the problem is solved. – Or Zuckerman Jun 06 '14 at 15:16

1 Answers1

5

Boruvka's algorithms runs in O(V) time on planar graphs. For details see

http://www.cs.princeton.edu/~wayne/kleinberg-tardos/pdf/04GreedyAlgorithmsII.pdf

Also, you can compute the Euclidean MST of n points in the plane in O(n log n) time by computing MST of edges in Delauney triangulation.

ford
  • 61
  • 1
  • +1 for Boruvka's algorithm, but I don't get the part about using Delaunay triangulation for the Euclidean MST. Is doing that faster than just building a complete graph on the points? – j_random_hacker Jun 05 '14 at 23:06
  • @j_random_hacker Building a complete graph takes Theta(n^2) since any two vertices are connected by an edge. – G. Bach Jun 06 '14 at 02:23