알고리즘-python(2)
-
02. 자료구조_java_빅오 표기법
1-3. 빅오 표기법 - 알고리즘의 효율성을 표시하는 표기법 - 위 그래프는 복잡도가 nn 인 알고리즘에 빅 오 표기법을 적용한 결과 - x축은 복잡도 n, y축은 필요한 일의 양이나 메모리를 의미함 - 다른 알고리즘이 이 그래프의 어떤 위치에 있는지에 따라 복잡도 n 인 알고리즘과 다른 알고리즘의 복잡도를 비교할 수 있습 - 다른 알고리즘이 복잡도 nn 인 알고리즘의 아래에 있다면, 같은 일을 하는 데 시간이 덜 들기 때문에 더 빠른 알고리즘 - 빅 오 표기법 * O (빅 오 복잡도) : 비교 대상인 그래프가 일치 혹은 아래에 있을 때. 비교 대상인 다른 알고리즘과 같거나 더 빠르다. * θ (세타 복잡도) : 비교 대상인 그래프가 일치할 때. 비교 대상인 다른 알고리즘과 같다. * Ω (빅 오메가 복..
2022.06.21 -
01. 자료구조 스터디 _ with java
1. 시간 복잡도 : 시간 복잡도는 서로 다른 알고리즘의 효율성을 비교할 때 사용하며 몇가지 규칙이 있다 - input ≥ 0 - functions do more work for more input (입력값이 많을 수록 많은 처리해야함) - drop all constants (상수 무시) - ignore lower order terms (낮은 차수 무시) - ignore the base of logs ( 로그는 서로 배수관계 (계산할때 나누면됨) 이므로 -> 로그의 밑은 무시하고 log n 알고리즘이라 말함) - 2n=O(n) => 2n∈O(n) 규칙1. 입력값(n)은 항상 0보다 크다 - 입력값이 음수일 수는 없으며, 그래서 복잡도는 항상 0보다 크다고 가정하고 계산을 해야함 규칙2. 함수는 많은 입력..
2022.06.21