Menu
Coddy logo textTech

Implementation (Part 1)

Урок 5 из 9 курса Алгоритм Краскала — Алгоритмы на графах на Coddy.

Мы начнем с union-find, механизма обнаружения циклов.

challenge icon

Задание

Средне

Проверка циклов в алгоритме Краскала основана на системе непересекающихся множеств (union-find). Давайте сначала реализуем её, используя её для подсчета компонент связности.

Напишите функцию с именем countSets, которая принимает n и плоский массив edges (тройки [u, v, w, ...], неориентированные; здесь веса игнорируйте) и возвращает количество компонент связности, вычисленное с помощью union-find.

Например, для 4 вершин и ребер [0,1,5, 2,3,5] есть 2 компоненты: {0,1} и {2,3}.

Попробуйте сами

#include <stdlib.h>

int countSets(int n, int* edges, int edges_size) {
    // Напишите код здесь
    return 0;
}
quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

Все уроки раздела Алгоритм Краскала — Алгоритмы на графах