Недавно я изучил структуру графовых данных и алгоритм Косараджу, чтобы найти сильно связанный компонент, и, как новичок, сначала я попытался отследить программу, чтобы узнать, как на самом деле эти концепции по любому вопросу.
Я отслеживал программа для поиска номера острова в матрице (в основном матрица смежности используется для представления графа), и матрица содержит 1 и 0, а группа связанных единиц образует остров.
Это ссылка на программу , https://www.geeksforgeeks.org/find-number-of-islands/
В программе в функции DFS()
есть два массива rowNbr[]
и colNbr[]
, проблема, с которой я сталкиваюсь, заключается в том, что такое логика c позади построить эти массивы и то, как они помогают в выполнении программы и получать правильный вывод, я понимаю, что мы должны рекурсивно вызывать 8 соседей только потому, что ячейка в матрице окружена 8 ячейками, но эти 2 массива не в моем уме.
ПРИМЕЧАНИЕ: - Я знаю, что это самый странный вопрос за всю историю, и этот тип вопросов всегда будет раздражать опытного программиста, но я здесь один, и здесь нет никого, кому бы я мог обсудить или спросить, поэтому, пожалуйста, извините меня, чтобы задать такой тупой вопрос и любезно помочь мне выбраться из этого избавления, я застрял здесь на долгое время.