Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 조코딩
- 자바 조건문
- 자바 public
- Vue3
- 자바 향상된 for문
- 타입스크립트
- 정보처리기사실기
- 자바 if문
- 자바 for문
- 자바 삼항연산자
- Til
- java
- 자바 구구단 출력
- TypeScript
- 자바 switch문
- 자바 스캐너
- 자바 반복문
- 이클립스 DB연동
- 변수
- 자바 while문
- 항해99 2기
- 자바 자동캐스팅
- 프로그래머스
- react ag grid
- react with typescript
- MySQL
- 자바 강제 캐스팅
- 항해99
- 자바
- 자바 공배수
Archives
- Today
- Total
뇌 채우기 공간
[알고리즘] 시간 복잡도 판단하기 본문
시간 복잡도란?
입력값과 문제를 해결하는데 걸리는 시간과의 상관관계이다.
입력값이 2배로 늘어났을때 문제 해결하는데 걸리는 시간은 몇배로 늘어날까?
입력값이 늘어나도 걸리는 시간은 덜 늘어나는 것이 좋은 알고리즘이다!
각 줄이 실행되는 걸 1번의 연산이 된다라고 생각하고 계산한다
위 코드에서 연산을 보면
array의 길이 * array의 길이 * 비교 연산 1번
그러면 N * N 만큼의 시간만큼 걸렸다고 할 수 있다.
위 코드에서 연산을 보면
max_num에 array[0]을 넣는 대입연산 1번 + array의 길이 * (비교연산1번 + max_num에 num을 넣는 대입연산 1번)
1 + N( 1+1) = 1 + 2N
이 시간 복잡도는 n이 커질수록 확연한 차이가 난다.
상수는 고려하지 않아도 된다. (크기 차이가 크지 않아서)
결국 시간 복잡도가 간단하고 수가 적은 것이 좋은 알고리즘이다.
728x90
'알고리즘' 카테고리의 다른 글
[알고리즘] 링크드리스트 delete_node구현 (0) | 2021.06.13 |
---|---|
[알고리즘] 링크드리스트 print_all구현 (0) | 2021.06.13 |
[알고리즘] 더하기 or 곱하기 python (0) | 2021.06.12 |