ДОДАТКИ
Додаток А
Програма знаходження мінімального покриваючого дерева графа
Function MinTree(C As Variant) As Variant
Dim I, J, K, Im, Jm As Integer
Dim Dis(), Tree(), Vlink() As Integer
Dim S, S1 As String
N = C.Columns.Count
ReDim Dis(N, N), Tree(N, N), Vlink(N)
' -- Підготовка початкових масивів
For I = 1 To N
Vlink(I)= 0 '<- цей масив зберігає номери вершин, що додаються до ' дереву
For J = 1 To N
Dis(I, J)= C(I, J)
Tree(I, J)= 0 '<- цей масив зберігає структуру оптимального ' дерева
Next J
Next I
До = 1
Vlink(1)= 1
' -- Знаходження ребра з мінімальною вагою
While До <= N
Rec = 1000
For I = 1 To N
For J = 1 To N
If Dis(I, J)<> 0 And Rec > Dis(I, J) And Vlink(I)= 1 And Vlink(J)= 0 Then
Rec = Dis(I, J)
Im = I
Jm = J
End If
Next J
Next I
' -- Додавання знайденої вершини до покриваючого дерева
Vlink(Jm)= 1