위 포스팅에서 우리는 그래프 예시를 통해 DFS가 무엇인지에 대해 이해했다.이제 실제로 이 인물 관계도 그래프와 DFS를 C# 코드로 구현해보자.지난 포스팅에서도 잠깐 살펴 보았지만, 우선 이 인물 관계도를 그래프로 구현하는 방법에는 크게 2가지가 있다. 배열을 사용해 인접 행렬을 만드는 방법과, 리스트 배열을 사용해서 인접 리스트를 만드는 방법이다. class Graph{ //모든 정보를 들고 있는 방식, 배열 사용 int[,] adj = new int[6, 6] { {0, 1, 0, 1, 0, 0}, //0번 카리나 정점 연결 정보 {1, 0, 1, 1, 0, 0}, //1번 제니 정점 연결 정보 {0, 1, 0, 0, 0, 0}, //2번 지수 ..
DFS
https://nybot-house.tistory.com/113 [자료구조] 그래프 개요자료 구조 중 그래프에 대해 알아보자.(기본 교과 과정에서 배웠던 수학의 그래프와는 전혀 관계 없음을 밝힌다)그래프란?: 현실 세계의 사물이나 추상적인 개념 간의 연결 관계를 표현하는데nybot-house.tistory.com이전 포스트에서 그래프의 개요에 대해 알아 보았다. 이제 실제 그래프를 구현해보고, 이 그래프를 탐색하는 방법 중 하나인 DFS(깊이 우선 탐색) 방법에 대해 알아보자.그래프 생성그래프를 구현해보기에 앞서서, 앞서 만들어 봤던 가상의 소셜 네트워크 관계도를 생각해보자.이제 우리는 그녀들과 데이트를 하려고 한다. 다만 서로 관계가 있는, 즉 연결되어 있는 인물들만 만날 수 있다. 우리는 그녀들을 모..