Дан .csv файл со связями компьютерных узлов, образующими сеть. Необходимо написать метод проверки наличия в данной сети несвязанных между собой сегментов.
Пример
Для сети из csv файла:
Node1Id; Node2Id
Node1;Node2
Node2;Node3
Node3;Node1
Несвязанных сегментов нет.
Для сети из csv файла:
Node1Id; Node2Id
Node1;Node2
Node2;Node3
Node3;Node1
Node5;Node4
Есть два сегмента. Первый с узлами Node1, Node2, Node3. Во второй c узлами Node5, Node4.
Достаточно вернуть true/false как признак наличия таких сегментов, сами сегменты можно не перечислять. По условию задачи можно пользоваться сторонними библиотеками. Оценивается общее качество кода, наличие тестов и т.п. Решение можно прислать либо в виде архива, либо ссылки на github или аналог.
Для рассчета связности использована система непересекающихся множеств. Предполагается, что индексация узлов непрерывна и начинается с нуля. Информация о графе аккумулируется в классе StorageGraph. Сам граф не хранится. Проект демонстраицонный, по этому возможно, несколько более сложен чем нужно. Используется библиотека NUnit в качестве демонстрации тестирования и многопоточности.