
Connect Stars
In this mission you'll have to make the Minimum spanning tree (Wikipedia) .
You are given a list of coordinates of vertices. Each coordinate is a tuple of x (integer) and y (integer).
You have to return a list (or an iterable) of lines that connect all vertices.
The total length of lines should be the minimum. Each line is a tuple of two integers.
These integers represent the index of list of input.
NOTE:
- The output of tests has a unique combination of lines.
Example:
connect_stars([(1, 1), (4, 4)])) == [(0, 1)] # or [(1, 0)] connect_stars([(1, 1), (4, 1), (4, 4)])) == [(0, 1), (1, 2)] # or [(1, 2), (0, 1)] , [(1, 0), (2,1)] etc connect_stars([(6, 6), (6, 8), (8, 4), (3, 2)])) == [(0, 1), (0, 2), (0, 3)] # or [(2, 0), (0, 3), (1, 0)] etc
Input:
-
A list of coordinates of vertices.
- Each coordinate is a tuple of x (integer) and y (integer).
Output:
- A list (or an iterable) of lines.
- Each line is a tuple of two integers. These integers represent the index of list of input.
- The order of lines and each index is arbitrary (see examples).
Precondition:
- 2 ≤ len(input) ≤ 50
- 0 ≤ x (,y) ≤ 999