복잡도 ✔ 알고리즘 성능을 나타내는 척도 ✔ 시간 복잡도 (Time Complexity) - 알고리즘의 필요 연산 횟수 ✔ 공간 복잡도 (Space Complexity) - 알고리즘의 필요 메모리 ✔ 시간 복잡도와 공간 복잡도는 Trade-off 관계 시간 복잡도 ✔ 어떤 문제를 해결하기 위한 알고리즘의 필요 연산 횟수 ✔ 빅오(Big-O) 표기법을 통해 나타냄 공간 복잡도 ✔ 어떤 문제를 해결하기 위한 알고리즘의 필요 메모리 사용량 ✔빅오 표기법을 통해 나타냄 - 일반적으로 메모리 사용량 기준은 MB 단위 // 기초 수학 - 알고리즘 복잡도 public class Main { static int fibonacci(int n) { if (n < 3) { return 1; } return fibonacci..
점화식 ✔어떤 수열의 일반항을 그 이전의 항들을 이용하여 정의한 식 예시) 피보나치 수열 재귀함수 ✔ 어떤 함수가 자신을 다시 호출하여 작업을 수행하는 방식 제곱, 제곱근, 지수 제곱 ✔ 같은 수를 두 번 곱함 ✔ 거듭 제곱: 같은 수를 거듭하여 곱함 제곱근 ✔ a를 제곱하여 b가 될 때 a를 b의 제곱근이라고 함 로그 ✔ a가 b가 되기 위해 제곱해야 하는 수
팩토리얼 ✔ 1에서 n까지 모든 자연수의 곱 (n!) 순열 ( Permutation ) ✔ 순서를 정해서 나열 ✔ 서로 다른 n개 중에 r개를 선택하는 경우의 수 (순서 O, 중복 X) 중복순열 ✔ 서로 다른 n개 중에 r개를 선택하는 경우의 수 (순서 O, 중복 O) 원 순열 ✔ 원 모양의 테이블에 n개의 원소를 나열하는 경우의 수 조합(Combination) ✔ 서로 다른 n개 중에서 r개를 선택하는 경우의 수 (순서 X, 중복 X) 중복 조합 ✔ 서로 다른 n개 중에서 r개를 선택하는 경우의 수 (순서 X, 중복 O)
학습 순서 집합 경우의 수 순열 / 조합 점화식과 재귀함수 지수와 로그 알고리즘 복잡도 집합(Set) 집합 표현 방법 원소나열법 A = {1, 2, 3, 4, 5}, B = {2, 4, 6, 8, 10} 조건제시법 A = {A | A는 정수, 1 ≦ A ≦ 5} B = {2B | B는 정수, 1 ≦ B ≦ 5} 벤 다이어그램 교집합 합집합 차집합 여집합 경우의 수 ? ✔ 어떤 사건에서 일어날 수 있는 경우의 가짓수 합의 법칙 ? ✔ 사건 A 또는 사건 B가 일어날 경우의 수 곱의 법칙 ? ✔ 사건 A와 사건 B가 동시에 일어날 경우의 수