function edges=getEdges(D)
% Побудова масиву ребер для ієрархічного дерева та MST
% (Mantegna R. Hierarchical structure of correlations in a set of stock prices)
% Вхід:
%    D - матриця відстаней
% Вихід:
%    edges - масив відсортованих відстаней у форматі "ВІДСТАНЬ ВЕРШИНА1 ВЕРШИНА2"

% побудова вектора відстаней шляхом вибору відстаней частини матриці
%    D над головною діагоналлю та вказівки вершин для даного ребра

% визначаємо кількість ребер і готуємо пустий масив
[m,m]=size(D);
edges=zeros(floor(m*(m-1)/2),3);
index=1;
for i=1:m-1
    for j=i+1:m
        % зберігаємо відстань і вершини-кінці ребра
        edges(index,:)=[D(i,j) i j];
        index=index+1;
    end
end
% сортування вектора відстаней по їх зроостанню
edges=sortrows(edges,1);