1. Представление графа (матрица смежности, список смежности)
  2. Обход графа (BFS и DFS)
  3. Вопрос по сетке (множество вопросов по сетке, все они решены с помощью BFS или DFS)
  4. Обнаружение цикла в неориентированном графе (с использованием как BFS, так и DFS)
  5. Обнаружение циклов в ориентированном графе (с использованием DFS и BFS)
  6. Топологическая сортировка
  7. Алгоритм объединения и поиска
  8. Алгоритмы поиска кратчайшего пути (Dijkstra, Bellman-Ford, Floyd Warshall)
  9. Минимальное связующее дерево
  10. Мостики и точки артикуляции
  11. Компонент с сильной связью

Поскольку мы все изучаем различные типы структур данных, но когда дело доходит до отработки некоторых вопросов по этой структуре данных, мы очень злимся, потому что существует так много доступных вопросов. Поэтому иногда очень сложно понять, какие вопросы нам нужно потренировать, а какие оставить.
Поэтому здесь я пытаюсь составить полную графу вопросов по всем темам.

Следует иметь в виду, что прежде чем приступить к этим вопросам, приведенным ниже, попробуйте получить представление о них, прочитав или просмотрев учебные пособия на YouTube.

Записывайте все стандартные концепции самостоятельно, иначе будет очень сложно пересматривать их снова.

Если вы разбираетесь в BFS и DFS, то этот график будет для вас легкой прогулкой. потому что большинство алгоритмов являются лишь небольшими модификациями BFS и DFS.

  1. Представление графа (матрица смежности, список смежности)

Посмотрите свое любимое руководство по bhaiya/didi на YouTube и реализуйте его на своем локальном компиляторе.

2. Обход графа (BFS и DFS)
а) Обход BFS
б) Обход DFS (реализовать как рекурсивный, так и итерационный методы)

3. Вопрос по сетке

Я лично люблю решать все вопросы сетки с помощью BFS, но их также можно решить с помощью метода DFS. Так что вам решать, какой метод вы выберете.

200. Количество островов
695. Максимальная площадь острова
994. Гниющие апельсины
1905. Острова Графа Суба
733. Заливка
1020. Количество Анклавов
1254. Количество закрытых островов
130. Окрестности
417. Тихоокеанский атлантический поток
542. 01 Матрица
1091. Кратчайший путь в двоичной матрице
1162. Как можно дальше от суши

4. Обнаружение циклов в неориентированном графе
а) Использование BFS
б) Использование DFS

5. Обнаружение цикла в ориентированном графе
а) Использование BFS
б) Использование DFS

Примечание. После этого вы должны выполнить топологическую сортировку, потому что вам нужно сделать лишь небольшие изменения в коде обнаружения циклов.

6. Топологическая сортировка
a) Использование BFS (также известного как алгоритм Кана)
b) Использование DFS

207. Расписание курса I
210. Расписание курса II
444. Реконструкция последовательности (извините, что поделился закрытым)
269. Alien Dictionary (GFG, leetcode ) (VVIP)
310. Деревья минимальной высоты

7. Алгоритм объединения и поиска

Let there are V number of vertex given
// make parent a vector and initilize it with it's own parentvector<int> parent(V)
for(int i=0;i<V:i++) parent[i]=i;
// Find
int findParent(int x){
    if(parent[x]==x) return x;
    else return findParent(parent[x]);
}
//Union
void union(int x,int y){
     int parentX = findParent(x);
     int parentY = findParent(y);
     parent[parentX] = parentY;
}

323. Количество связанных компонент в неориентированном графе
(gfg, leetcode)
547. Количество провинций
1101. Самый ранний момент, когда все становятся друзьями
(Кодинг-ниндзя, литкод)
684. Резервное подключение
1319. Количество операций для подключения к сети
737. Сходство предложений II (заблокировано)

8. Алгоритм поиска кратчайшего пути

Примечание :

  1. Все вышеперечисленное дает алгоритмы, используемые для поиска путей от одного источника ко всем другим узлам.
  2. Чтобы найти кратчайший путь для всех пар, мы должны использовать алгоритм Флойда-Уорхолла.
  3. Дейкстра и Беллман-Форд наиболее важны. Поэтому тщательно изучите их Временную и Пространственную Сложность.

743. Время задержки в сети
1334. Найдите город с наименьшим числом соседей на пороговом расстоянии
787. Самые дешевые рейсы в пределах K остановок
1514. Путь с максимальной вероятностью

9. Минимальное связующее дерево

Алгоритм Прима
Алгоритм Крускала

10. Мостики и точка артикуляции

Точка артикуляции
Ребро моста на графике
1568 год. Минимальное количество дней для отключения острова
1192. Критические соединения в сети

11. Компонент с сильными связями

Алгоритм Тарьяна (с использованием понятий, связанных с точкой артикуляции)
Алгоритм Косараджу (использование двух раз dfs)

1568 год. Минимальное количество дней для отключения острова

Если вы считаете, что я пропустил некоторые стандартные вопросы, связанные с какой-либо темой, или пропустил какую-либо тему, не стесняйтесь комментировать, я добавлю их.