반응형 코테 대비3 [알고리즘 공부] 최단 경로 최단 경로 (Shortest Path) 이번 말씀드릴 알고리즘은 '최단 경로'에 대해서 알아보도록 하겠습니다. 최단 경로는 말 그대로 가장 짧은 경로를 찾는 알고리즘입니다. 그리고 위 알고리즘은 다음과 같은 상황에 주로 사용됩니다. 예시 한 지점에서 다른 특정 지점가지의 최단 경로를 구해야 하는 경우 모든 지점에서 다른 모든 지점까지의 최단 경로를 모두 구해야 하는 경우 최단 경로 문제는 보통 그래프로 표현하는데 각 지점은 그래프에서 '노드'로 표현되고 지점간 연결된 도로는 그래프에서 '간선'으로 표현됩니다. 또한 실제 코딩 테스트에서 최단 경로를 모두 출력하는 문제보다는 단순히 최단 거리를 출력하도록 요구하는 문제가 많이 출제된다고 알려져 있습니다. 오늘도 참고서인 에 따라서 최단 거리 알고리즘의 종류.. 2024. 3. 15. [알고리즘 공부] 이진 탐색 이진 탐색 (Binary Search) 이번에도 내용을 바탕으로 "이진 탐색" 알고리즘에 대해서 알아보도록 하겠습니다. 먼저 이진 탐색은 정렬된 배열에서 특정 요소의 위치를 효율적으로 찾는 검색 알고리즘입니다. 기본 원리는 대상 값을 중앙 값과 비교하여 탐색 범위를 반으로 줄여나가는 것입니다. 일단은 이진 탐색을 본격적으로 알기 이전에 리스트 안에 있는 특정한 데이터를 찾기 위해 앞에서부터 데이터를 하나씩 차례대로 확인하는 순차 탐색(Sequential Search)과 코드를 비교하면서 살펴보도록 하겠습니다. 순차 탐색은 말 그대로 순차로 데이터를 탐색한다는 의미입니다. 리스트 안에 데이터를 하나씩 방문하면서 특정한 문자열과 같은지 검사하므로 구현에 있어서도 비교적 쉬운 편입니다. 순차 탐색에 대한 간단.. 2024. 3. 14. [알고리즘 공부] 정렬 정렬(Sorting) 이번에는 이전 탐색 알고리즘에 이어서 내용을 바탕으로 "정렬" 알고리즘에 대해 알아보도록 하겠습니다. 우선 정렬(Sorting)이란 데이터를 특정한 기준에 따라서 순서대로 나열하는 것을 의미합니다. 프로그램에서 데이터를 가공할 때 오름 차순 혹은 내림차순 등 다양한 방식으로 정렬해서 사용하는 경우가 있기 때문에 이 알고리즘은 프로그램을 작성할 때 가장 많이 사용되는 알고리즘 중 하나라고 명시되어 있습니다. 그리고 정렬 알고리즘으로 데이터를 정렬하면 다음에 배울 이진 탐색(Binary Search)가 가능해진다고 하네요! 그리고 정렬 알고리즘은 대표적으로 선택, 삽입, 퀵 그리고 계수 정렬 등의 종류가 있는 데, 일단 책의 내용에 따라 이번에는 4개의 정렬 알고리즘에 대한 간단한 설명.. 2024. 3. 13. 이전 1 다음 반응형