algorithm 2

선택 정렬 알고리즘 (Selection sort Algorithm)

틀린 내용을 발견하신 경우 말씀 부탁드립니다! 🙇 선택 정렬 알고리즘은 제자리(in-placing) 알고리즘 중 하나로, 결과 값을 만들기 위해 별도의 추가적인 메모리를 사용하지 않고 입력 배열의 메모리만 사용하는 정렬 방법이다. 제자리(in-placing) 알고리즘은 일반적으로 입력 값이 출력 값으로 덮어씌워지며, 입력 값을 출력 값으로 교체하거나 요소들의 위치를 바꾸는 방식으로 출력 값을 반환한다. 선택정렬 시각화 참고 Pseudo code n개의 요소로 이루어진 (정렬되지 않은) 배열이 있을 경우, 첫 번째 ~ n번째까지 탐색하며 기준에 맞는 요소를 찾은 뒤, 첫 번째 자리와 위치를 변경한다. 두 번째 ~ n번째까지 탐색하며 기준에 맞는 요소를 찾은 뒤, 두 번째 자리와 위치를 변경한다. 세 번째 ..

퀵 정렬 알고리즘 (Quick sort Algorithm)

틀린 내용을 발견하신 경우 말씀 부탁드립니다! 🙇 퀵 정렬은 분할 정복(Divide and conquer) 전략 중 하나로 재귀적 알고리즘에 해당한다. 분할 정복 전략은 그대로 해결할 수 없는 문제를 작은 문제로 분리하고 결과를 모아 원래의 문제를 해결하는 전략이다. 분할 정복 전략으로 문제를 풀기 위해선 아래 단계를 거친다. ① 문제가 기본단계가 될 때까지 나눈다 (Divide) ② 기본 단계를 해결한다 (Conquer) ③ 기본 단계의 답을 통합해 가장 큰 문제(원래 문제)의 답을 도출한다 (Combine) 분할 정복 전략 예시 가로 14, 세로 6인 직사각형을 똑같은 크기의 정사각형으로 나누면 총 몇 개의 정사각형이 반환되는가? 정사각형은 최대한 크게 만들도록 한다. 1. 주어진 직사각형을 최대한 ..