Реализовать алгоритм на языке С++ с использованием объектов (классов).
Выбрать оптимальную структуру данных для представления графа в памяти ЭВМ. Реализовать граф как объект, а обработку — как метод для него. Результат обработки может быть или не быть частью объекта, способ его представления выбирается особо.
Для объекта должны быть объявлены все вспомогательные методы (методы по умолчанию) — конструкторы, деструктор и т. п. Использование ненужных методов блокируется на уровне компиляции или выполнения.
Стек и очередь (если нужны) реализуются как вспомогательные объекты. Использовать шаблоны классов.
Интерфейс программы должен быть удобен для испытаний алгоритма. Следует предусмотреть ввод заранее заготовленных (из текстового файла) и генерацию произвольных тестовых данных графа с количеством вершин 20.
Дополнительное требование: оценить возможный объём исходных данных для решения поставленной задачи для следующих ограничений:
— возможность вывода данных на экран;
— доступный объём памяти;
— получение решения за разумное время.
НАПИСАТЬ ПРОГРАММУ:
подсчет расстояний от произвольной вершины до всех остальных вершин в ориентированном ненагруженном графе.