Написать на C++ класс, описывающий граф/орграф. Класс должен поддерживать следующую функциональность:
• определение числа вершин;
• определение числа ребер (дуг);
• определение степени произвольной вершины (для орграфа – полустепеней исхода и захода);
• определение степенной последовательности графа;
• определение матрицы смежности;
• определение матрицы инцидентности;
• определение списка смежности;
• определение висячих вершин, определение изолированных вершин;
• определение в орграфе истоков и стоков;
• определение расстояния между двумя вершинами;
• определение эксцентриситета вершины;
• определение диаметра графа;
• определение радиуса графа;
• определение центра графа;
• определение периферийных вершин;
• добавление/удаление вершины в граф;
• добавление/удаление ребра в граф;
• определение дополнения графа;
• подразбиение ребра;
• стягивание графа;
• отождествление вершин;
• дублирование вершины;
• размножение вершины;
• объединение (дизъюнктивное) графов;
• соединение графов;
• произведение графов;
• ввод/вывод графов в текстовый файл в виде списка смежности в следующем формате: {1 <смежные вершины через пробел>…}{2 <смежные вершины через пробел}…Например: {1 2}{2 1 4}{3}{4 2}.
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости