그래프 2

이것이 코딩 테스트다 - Chapter5 DFS, BFS 정리

"DFS, BFS" 이란 그래프를 탐색하기 위한 대표적인 두 가지 알고리즘 여기서 탐색이란 "원하는 데이터를 찾는 과정"을 말하기에 그래프 탐색이란 "그래프 내에서 원하는 데이터를 찾는 과정"을 일컬는다. 여기서 기초적으로 그래프 탐색 전에 알아야 하는 자료구조 개념이 필요하다. 1. 스택 Stack 스택은 선입후출 구조로 쌓이는 구조라 생각하면 된다. 재귀함수에서 사용되며, 재귀함수는 DFS에서 사용된다. 2. 큐 Queue 큐는 선입선출 구조로 차례로 들어온대로 나가는 구조라 생각하면 된다. BFS에서 사용된다. 3. 재귀함수 Recursive function 재귀함수는 함수가 함수를 다시 부르는 경우이다. 보통 연쇄적으로 계산되는 경우 종료조건을 만족할때까지 재귀가 이뤄지다가 다시 반환되며 종료되는..

Graph (DFS, BFS) 자료구조 (C++)

" class vertex " - Graph의 정점을 저장하는 단위로 쓰이는 객체이다. 1. 변수 - int data : 정점의 data를 저장한다. - int degree : 정점의 인접한 vertex 수를 저장한다. - bool visited : 탐색시에 정점이 탐색되었는지 여부를 저장한다. - vector adj_list : 정점에 인접한 vertex를 vector로 저장한다. 2. 함수 - vertex(int data) : 셍성자 함수이며, data를 받아와 생성한다. 3. class vertex ADT class vertex { public: int data; int degree; bool visited; vector adj_list; vertex(int data) { this->data = d..

자료구조 2020.12.17