알고리즘 기법

자료구조 \ 알고리즘 기법

[ 알고리즘 기법 ] 버블 정렬(bubble sort) 알고리즘 개념 정리

버블 정렬(bubble sort) 알고리즘 개념 정리 ☑️ 버블 정렬 알고리즘이란, 여러 정렬 알고리즘(삽입 정렬, 퀵 정렬, 병합 정렬, 기수 정렬 등) 중 가장 기본적인 알고리즘이다. '거품이 밀려 올라가는 것과 같은 모습'과 같아서 bubble sort라고 부른다. ☑️ 버블 정렬 알고리즘의 실행 로직은 아래와 같다. 첫 번째 요소가 두 번째 요소보다 크면, 두 요소의 위치를 바꿉니다. (swap) 두 번째 요소와 세 번째 요소보다 크면, 두 요소의 위치를 바꿉니다. (swap) 1, 2를 마지막까지 반복합니다. (마지막에서 두 번째 요소와 마지막 요소를 비교) 1~3의 과정을 한 번 거치게 되면, 가장 큰 요소가 배열의 마지막으로 밀려납니다. 1~3의 과정을 첫 요소부터 다시 반복합니다. 5를 통..

자료구조 \ 알고리즘 기법

[ 알고리즘 기법 ] DP(Dynamic Programming) 개념 정리

DP(Dynamic Programming)란, 작은 부분 문제의 정답을 결합해 전체 문제의 정답을 구하는 알고리즘 기법이다. DP는 일반적으로 최적화 문제를 해결하기 위한 기법으로 사용된다. - 최적화 문제란, 여라가지 가능한 해 중에서 가장 좋은 해를 찾는 문제를 말한다. DP 알고리즘 핵심 중복되는 문제들이 존재한다고 가정해 보자, DP는 이러한 중복 부분 문제들을 한번만 계산하고, 이후에는 이전에 계산한 값을 이용하여 전체 문제를 해결한다. DP 알고리즘 특징 최적 부분 구조 : 큰 문제를 작은 문제로 나눌 수 있으며, 작은 문제의 최적해를 이용해서 큰 문제의 최적해를 구할 수 있다. 중복되는 부분 문제 : 동일한 작은 문제를 반복적으로 해결해야 한다. 이러한 특징을 이용하여 DP 알고리즘은 문제의..

_moda
'알고리즘 기법' 태그의 글 목록