탐욕 알고리즘 또는 탐욕적 알고리즘매순간 최적이라고 생각되는 것(지역적 최적)을 선택하여 최적해에 도달하는 기법현재의 선택이 나중의 선택에 미칠 영향을 고려하지 않음즉, 전역적 최적해를 반드시 보장하지 않음대부분의 경우 속도가 빠른 알고리즘이기 때문에, 최적에 근사한
자료구조를 탐색하는 방법 중 하나로 각 가지(branch)를 탐색할 수 있을 수 있는 만큼 최대한 탐색한다.백트래킹(되돌아가 다시 해를 찾음)전에 가지를 최대한 깊게 탐색한다.즉, 깊이를 우선으로 탐색한다.주로, Graph나 Tree 구조의 자료구조를 탐색한다.DFS는
넓이 우선 탐색 - BFS자료구조를 탐색하는 방법 중 하나로 하나의 정점으로부터 시작하여 인접한(가까운) 노드를 먼저 탐색한다.다른 표현으로, 같은 깊이(level)의 노드를 먼저 탐색함주로, Graph나 Tree구조의 자료구조를 탐색한다.BFS는 Queue 형태의 자
넓이 우선 탐색 - BFS자료구조를 탐색하는 방법 중 하나로 하나의 정점으로부터 시작하여 인접한(가까운) 노드를 먼저 탐색한다.다른 표현으로, 같은 깊이(level)의 노드를 먼저 탐색함주로, Graph나 Tree구조의 자료구조를 탐색한다.BFS는 Queue 형태의 자
매번 가장 작은 원소를 선택한다.정렬하고자 하는 대상의 첫 원소와 다음 원소를 비교하는 것을 시작한다.그리고 매번 가장 작은 원소를 찾아 순서대로 정렬한다.
정렬 대상의 N번째 원소를 적절한 위치에 삽입한다.정렬 대상의 맨 처음 원소부터 하나씩 적절한 위치에 삽입한다.구체적으로, N 번째 원소를 1부터 N-1번째의 적절한 위치에 삽입한다.
정렬 대상의 한 원소를 기준(피벗)으로 정렬한다.그리고 기준을 중심으로 다시 나머지 범위를 정렬한다.재귀적으로 구현할 수 있다.기준 원소는 원소가 정렬 대상에서 올바른 위치에 있으므로 이를 이용한다.
정렬 대상의 원소의 범위를 알 수 있을 때 적용할 수 있는 정렬 방법이다.계수를 이용하여 원소의 중복 횟수를 구하고 이를 순서대로 출력한다.
분할 정복 전략을 사용하는 알고리즘으로 정렬 대상을 잘게 나누어 정렬시킨다.정렬 대상을 균등하게 둘로 나누며, 원소가 하나 남을 때까지 나눈다.하나 남은 원소들을 비교 후 합병하여 최종적으로 대상을 정렬시킨다.재귀적으로 구현한다.
효율적으로 문제를 해결하기 위한 기술로 문제를 작게 쪼깨어 해결한다.일반적으로 재귀적인 방법을 사용하여 복잡한 문제를 간단하게 만든다.동적 프로그래밍을 적용하여 해결할 수 있는 문제는 반드시 하위 문제로 쪼갤 수 있다.최적의 하위구조(optimal substructur