일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- passport.js
- python
- 북마크앱
- mongodb
- join()
- 프로젝트
- 예술영화추천
- ART_Cinema
- Bookmark
- 북마크만들기
- 자바스크립트
- Node.js
- Algorithm
- 독립영화플랫폼
- 파이썬 웹프로그래밍 장고
- MYSQL
- Blog
- MyPick31
- 장고
- Exercism
- 알고리즘
- Django Blog
- til
- 개발
- 장고 프로젝트
- Django
- 장고 프로젝트 순서
- 타사인증
- JavaScript
- 장고 개발 순서
- Today
- Total
목록O(n) (2)
Juni_Dev_log
공간 복잡도 - 알고리즘 계산 복잡도는 다음 두 가지 척도로 표현할 수 있다. 1. 시간 복잡도 : 얼마나 빠르게 실행되는지 2. 공간 복잡도 : 얼마나 많은 저장 공간이 필요하는지 좋은 알고리즘은 실행 시간도 짧고, 저장 공간도 적게 쓰는 알고리즘이다. - 통상 둘 다 만족시키기는 어렵다. : 시간과 공간은 반비례적인 경향이 있음 : 최근 대용량 시스템이 보편화되면서 공간복잡도 보다는 시간복잡도가 우선이 되었다. : 그래서 알고리즘은 "시간 복잡도" 가 중심이다. 공간 복잡도의 대략적인 계산이 필요함 - 기존 알고리즘 문제는 예전에 공간 복잡도도 고려되어야할 때 만들어진 경우가 많다. - 그래서 기존 알고리즘 문제에 시간 복잡도뿐만 아니라, 공간 복잡도 제약 사항이 있는 경우가 있다. - 또한, 기존 ..
결과는 같은데, 과정은 다르며, 이에 따른 여러가지 알고리즘이 있다. 이처럼 다양한 알고리즘도 성능이 제 각각이다. 그렇기 때문에 좋은 성능의 알고리즘을 고르는 것이 굉장히 중요하다. 가장 좋은 알고리즘을 고르기 위해서는 알고리즘의 효율성을 따지는 데 이 때 두 가지로 나눌 수 있다. 시간적 효율성 (얼마나 이 알고리즘이 빠른가) / 공간적 효율성(메모리를 얼마나 차지하는가) => 얼마나 빠른 시간으로 처리하는가 ('시간 복잡도') / 얼마나 메모리를 차지하는가 ('공간 복잡도') 알고리즘의 속도에 영향을 주는 요소는 굉장히 많지만, 제일 영향을 많이 주는 것은 '입력이 n일 때 연산 횟수' 이다. 예를 들어, 1~100 까지 순서대로 더하는 프로그램과 1~1000까지 순서대로 더하는 프로그램을 만들었다..