그래프 - 너비우선탐색
·
자료구조
# [C언어로 쉽게 풀어쓴 자료구조(천인국)]를 공부하고 주요 내용을 정리하고자 작성하는 글입니다. # 해당 게시글에 대한 모든 피드백 환영합니다. 너비우선탐색 Breath First Search : BFS 시작 정점으로부터 가장 가까운 정점을 먼저 방문하고 차차 멀리 떨어져있는 정점을 방문한다. 다시 말해서, 가까운 거리에 있는 정점들을 차례로 저장한 후 넣은 순서대로 꺼내서 방문하는 방식이다. 이를 위해서, 자료구조 Queue 큐를 사용한다. #알고리즘 breath_first_search(v): v를 방문했다고 표시 큐 Queue에 정점 v를 삽입 while (Queue가 공백이 아니면) do w front = q->rear = 0; } // 공백 상태 검출 함수 int is_empty(QueueTy..
그래프 - 표현방법(인접행렬/인접리스트)
·
자료구조
# [C언어로 쉽게 풀어쓴 자료구조(천인국)]를 공부하고 주요 내용을 정리하고자 작성하는 글입니다. # 해당 게시글에 대한 모든 피드백 환영합니다. 1. 인접행렬 adjacency matrix # 개념, 특징 1) 2차원 배열 사용 2) 자체 간선 허용 X ==> 대각선 성분 = 0 3) 정점 i, j 에 대해 간선 (i,j) or 가 존재하면 - 무방향 그래프: Matrix[i][j] = Matrix[j][i] = 1 - 방향 그래프: Matrix[i][j] = 1 4) 2차원 배열은 - 무방향 그래프: 대칭 행렬 ==> 배열의 상위 삼각/하위 삼각만 저장하면 메모리 절약 가능 - 방향 그래프: 비대칭 행렬 5) 정점의 개수 = n 인 경우 간선의 개수와 무관, n*n개의 메모리 공간이 필요함 ==> ..