Notice
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- ICQA
- Protocol
- deep learning
- 네트워크 관리사
- 딥러닝
- Django
- dns
- Algorithm
- 머신러닝
- Machine learning
- 코딩테스트
- 네트워크
- Dynamic Programming
- 자격증
- 자료구조
- 패스트캠퍼스
- Windows Server
- 프로토콜
- 네트워크 자격증
- 알고리즘
- 서브넷마스크
- 파이썬
- FTP
- network
- 기본 정렬
- 네트워크 관리사 2급
- Python
- 실기
- IPV4
- 밑바닥부터 시작하는 딥러닝
Archives
- Today
- Total
쳉지로그
[알고리즘 이론] 공간 복잡도 (Space Complexity) 본문
- 공간 복잡도 : 프로그램을 실행 및 완료하는데 필요한 저장 공간의 양
(참고)
- 알고리즘 계산 복잡도 척도
- 시간 복잡도 : 속도 (얼마나 빨리 실행되는가)
- 공간 복잡도 : 저장 공간 (얼마나 많은 저장 공간이 필요한가)
- 둘 다 만족하면 좋지만, 시간과 공간은 반비례적인 경향이 있음
- 대용량 시스템의 보편화로 인해, 시간 복잡도의 우선순위 >> 공간 복잡도의 우선순위
예시) 공간 복잡도 예제 1
""" n! 팩토리얼 구하기 """
# n의 값에 상관없이 변수 n, fac, index만 필요
# 공간 복잡도 = O(1)
def factorial(n):
fac = 1
for index in range(2, n+1):
fac = fac * index
return fac
fac(3) # 결과: 6
예시) 공간 복잡도 예제 2
""" n! 팩토리얼 구하기 """
# 재귀함수 사용
# n에 따라 변수 n이 n개 만들어짐
# 공간 복잡도 = O(n)
def factorial(n):
if n > 1 :
return n * factorial(n-1)
else:
return 1
'코딩테스트 > 알고리즘 이론' 카테고리의 다른 글
[알고리즘 이론] 동적 계획법(Dynamic Programming) (0) | 2021.12.08 |
---|---|
[알고리즘 이론] 재귀 용법 (Recursive Call, 재귀 호출) (0) | 2021.12.07 |
[알고리즘 이론] 선택 정렬 (Selection Sort) (0) | 2021.12.07 |
[알고리즘 이론] 삽입 정렬 (Insertion Sort) (0) | 2021.12.06 |
[알고리즘 이론] 버블 정렬 (Bubble Sort) (0) | 2021.12.06 |
Comments