func ExampleDistanceMatrix_NeighborJoin() { d := cluster.DistanceMatrix{ {0, 23, 27, 20}, {23, 0, 30, 28}, {27, 30, 0, 30}, {20, 28, 30, 0}, } tree, wt := d.NeighborJoin() fmt.Println("n1 n2 weight") for n, to := range tree.LabeledAdjacencyList { for _, h := range to { fmt.Printf("%d %2d %6.3f\n", n, h.To, wt[h.Label]) } } // Output: // n1 n2 weight // 0 5 8.000 // 1 4 13.500 // 2 4 16.500 // 3 5 12.000 // 4 5 2.000 // 4 1 13.500 // 4 2 16.500 // 5 3 12.000 // 5 0 8.000 // 5 4 2.000 }