2019-03-22 07:47:39 +02:00

22 lines
2.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Система непересекающихся множеств
**Система непересекающихся множеств** это структура данных (также называемая структурой данной поиска пересечения или
множеством поиска слияния), которая управляет множеством элементов, разбитых на несколько непересекающихся подмножеств.
Она предоставляет около-константное время выполнения операций (ограниченное обратной функцией Акерманна) по *добавлению
новых множеств*, *слиянию существующих множеств* и *опеределению, относятся ли элементы к одному и тому же множеству*.
Применяется для хранения компонент связности в графах, в частности, алгоритму Краскала необходима подобная структура
данных для эффективной реализации.
Основные операции:
- *MakeSet(x)* - создаёт одноэлементное множество {x},
- *Find(x)* - возвращает идентификатор множества, содержащего элемент x,
- *Union(x,y)* - объединение множеств, содержащих x и y.
После некоторых операций *объединения*, некоторые множества собраны вместе
## Ссылки
- [СНМ на Wikipedia](https://ru.wikipedia.org/wiki/%D0%A1%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B0_%D0%BD%D0%B5%D0%BF%D0%B5%D1%80%D0%B5%D1%81%D0%B5%D0%BA%D0%B0%D1%8E%D1%89%D0%B8%D1%85%D1%81%D1%8F_%D0%BC%D0%BD%D0%BE%D0%B6%D0%B5%D1%81%D1%82%D0%B2)
- [СНМ на YouTube](https://www.youtube.com/watch?v=bXBHYqNeBLo)