Мінімальне остовне дерево

Ця сторінка призначена для студентів, що вивчають курс дискретної математики та (або) теорії графів. Безпосередньо з неї ви можете виконати своє ІДЗ, навіть якщо у вас немає на комп’ютері MATLAB. Якщо ж у вас є MATLAB, перейдіть на цю сторінку: там у вас є можливість втрутитися у сценарій (програму) обчислень. А на цій сторінці задача про мінімальне зважене остовне дерево розв’язується за допомогою алгоритму Краскала. Докладніше див. тут, стор. 60.

Для правильної роботи з цією сторінкою ваш браузер повинен підтримувати сценарії Java Script. Увімкніть їх.

Введіть вхідні дані в області введення нижче. У першій області треба (точніше, можна) ввести координати вершин для малювання графа. Вони задаються у вигляді матриці n×2: у першому стовпці − x координати, у другому − y-і. Числа можна задавати цілі, з десятичною точкою або в експоненційній формі. Числа розділяйте пробілами. Загальна кількість рядків у цій області введення визначає розмір графа n − кількість вершин. Ці вхідні дані (координати вершин) не є обов’язковими: якщо їх не задати, то граф буде малюватися у вигляді правильного n-кутника, а кількість вершин буде визначатися максимальним номером вершини у наступній області введення.

В наступній області введення ліва частина є обов’язковою для заповнення. В ній визначається структура графа. Кожне ребро у графі поєднує дві вершини. Номери цих вершин задаються у вигляді матриці m×2 у лівій частині другої області введення. Яку вершину вважати першою, а яку другою − не має значення. У цих стовпцях повинні бути натуральні числа від 1 до n включно. Числа розділяйте пробілами. У правій частині цієї області введення задаються ваги ребер − дійсні числа. Якщо цей стовпчик не заданий, то всі ваги вважаються одинаковими (одиничними), і в цьому випадку розв’язується задача про звичайне (не мінімальне) остовне дерево. Загальна кількість чисел у кожному з цих стовпців визначає потужність графа m − кількість ребер.

Координати вершин
x   (пробіл)   y

Ребра та їхні ваги
v1  (пробіл)  v2 Вага