개인적인 실습이 포함되어서 틀린 내용이 있을 수 있습니다!
함수내에 자기자신을 호출하여 반복하여 함수를 실행하는 함수
재귀함수의 장점:
*분할정복: 큰 문제를 작은문제로 작은문제를 더 작은문제로
제일 하위문제를 해결하여 상위 문제를 해결하는 방법
유명한 예제로 Factorial이 재귀함수를 사용하면 편리하게 작성이 된다.

문제 해결을 위한 과정과 논리적인 절차를 구성한 단계
1. 정확도 2. 효율성 - 이 두가지가 코딩에서의 알고리즘 설계이다.
알고리즘 조건
정렬 알고리즘을 알아보겠다.
알고리즘 구현에서 필요한 4가지를 사용하여 5가지 정렬 알고리즘을 학습해보자
1) 선택정렬
가장 낮은 값을 선택하여 정렬하는 방법

2) 삽입정렬
선택한 값을 순서에 맞게 삽입하여 정렬하는 방법

3) 버블정렬
두개의 값을 비교하여 작은쪽이 왼쪽 큰쪽이 오른쪽으로 가는 정렬

4) 병합정렬
값들을 두개씩 나누어서 정렬하고, 정렬한 값들을 또 모아서 왼,오른쪽 으로 정렬한다 이때 왼쪽 오른쪽 둘중에 값들 모두 다 정렬하여 들어갔다면 나머지
큰 값들이 자동으로 할당하여 들어가게 된다.



5) 퀵정렬
pivot을 선정하고 왼쪽, 오른쪽 시작점을 생성한다. 왼쪽은 +, 오른쪽은 - 방향으로 진행하면서 왼쪽은 기준값보다 클 경우 멈추고 오른쪽은 기준 값보다 작을 경우 멈춘다. 이때, 왼쪽 오른쪽 값을 바꿔준 다음 다시 pivot의 기준으로 왼쪽은 +, 오른쪽은 -방향으로 움직인다. 만약 오른쪽이 왼쪽점을 넘어갈 시 pivot과 해당 오른쪽은 바꿔주고, 이러한 방법을 반복하여 정렬시켜준다.
