반응형 DFS2 [코딩 테스트] 12일차: 그래프 알고리즘 그래프 알고리즘그래프 알고리즘은 노드(정점)와 노드를 연결하는 에지(간선)로 구성된 자료구조인 그래프를 탐색하거나 분석하는 알고리즘입니다. 이번 글에서는 깊이 우선 탐색(DFS), 너비 우선 탐색(BFS), 그리고 최단 경로 알고리즘(Dijkstra, Floyd-Warshall)에 대해 알아보겠습니다.깊이 우선 탐색(DFS)깊이 우선 탐색(DFS)은 그래프의 모든 정점을 깊게 탐색하는 알고리즘입니다. 스택(또는 재귀)을 사용하여 구현할 수 있습니다.예제: DFS 구현JavaScriptclass Graph { constructor() { this.adjList = new Map(); } addVertex(v) { if (!this.adjList.has(v)) { this.adjLi.. 2024. 9. 12. [코딩 테스트] 7일차: 트리와 그래프 트리트리는 노드와 에지로 구성된 자료구조로, 계층적인 데이터를 표현하는 데 사용됩니다. 트리는 루트 노드를 가지고 있으며, 각 노드는 자식 노드를 가질 수 있습니다.트리의 주요 개념루트 노드: 트리의 시작 노드리프 노드: 자식 노드가 없는 노드간선(Edge): 노드를 연결하는 선깊이(Depth): 루트 노드에서 특정 노드까지의 경로 길이높이(Height): 루트 노드에서 리프 노드까지의 가장 긴 경로 길이트리 순회트리 순회 방법에는 전위 순회(Preorder), 중위 순회(Inorder), 후위 순회(Postorder)가 있습니다.전위 순회 (Preorder)현재 노드를 방문왼쪽 서브트리를 전위 순회오른쪽 서브트리를 전위 순회중위 순회 (Inorder)왼쪽 서브트리를 중위 순회현재 노드를 방문오른쪽 서브.. 2024. 9. 7. 이전 1 다음 반응형