CS/알고리즘

CS/알고리즘

2. [알고리즘] 깊이 우선 탐색(DFS)

이번 스터디 주제인 DFS와 BFS에 대해 공부하고 포스팅하려고 한다. DFS와 BFS는 그래프를 탐색하는 방법을 크게 나눈 것이다. 그래프를 탐색한다는 것은 하나의 정점으로부터 시작하여 차례대로 모든 정점들을 한번씩 방문하는 것을 말한다. DFS와 BFS가 무엇이고 문제에서 어떻게 풀어야하는지 알아보자 깊이 우선 탐색(DFS, Depth-First Search) 최대한 깊이 내려간 뒤, 더이상 깊이 갈 곳이 없을 경우 옆으로 이동 DFS는 탐색할 때 시작 노드에서 한방향으로 계속 탐색하다가 더이상 갈 수 없을 때 다시 가장 가까운 노드로 돌아와 다시 탐색을 진행하는 방법 예를 들어, 미로를 통과할 때 한방향으로 쭉~ 들어가다가 더이상 길이 없을 때 다시 가장 가까운 갈림길로 돌아가서 다른 방향으로 탐색..

CS/알고리즘

1. 정렬 알고리즘 [Sorting]

정렬 알고리즘 (Sorting Algorithm) 무작위로 섞여있는 데이터를 어떤 기준에 맞춰 정렬하는 알고리즘 정렬 알고리즘은 다양한 경우에 매우 유용하게 사용됨 각종 데이터 목록을 정리하고 싶을 때 분포도의 중위값을 알아내고 싶을 때 데이터에서 중복값을 잡아내고 싶을 때 이진 탐색을 하고 싶을 때 사실, 자바스크립트에서 정렬을 하고자할때 sort()라는 메서드를 사용하면 정렬을 해준다. 하지만 정렬 알고리즘을 배우는 이유는 데이터들의 양이나 상황에 따라 어떤 정렬을 사용하는 것이 좋은지를 알고 가리기 위해 몇몇 유명한 정렬 알고리즘을 알아보려한다. 알아볼 정렬 알고리즘: 버블 정렬 선택 정렬 삽입 정렬 퀵 정렬 힙 정렬 병합 정렬 먼저, 정렬의 Stable정렬, In-place정렬에 대해 알아보자 S..

plla2
'CS/알고리즘' 카테고리의 글 목록