PROGRAMMING

알고리즘, 시간 복잡도, Big-O 표기 본문

프로그래밍 언어 공통

알고리즘, 시간 복잡도, Big-O 표기

Raccoon2125 2020. 11. 1. 23:36

 

- Big-O

: 대학교 수업 때, 이걸 왜 배우나 했었는데 돌이켜 생각해보면 작업 효율에 있어서 필수적인 개념이다.

  ※ 7개의 값을 지닌 리스트가 있다고 가정
O(1) 리스트에 대한 어떠한 알고리즘을 수행하는데 있어서 딱 한 번의 작업으로 끝
O(log n) 로그
O(n) 예시로, 7개의 값을 다 한 번씩 훑어야 하는 iterator(start to end)
O(n log n) 선형 로그
O(n**2)  
O(n**3)  
O(2**n) n개의 데이터에 대해 어떤 알고리즘 수행 시 총 사용된 작업 횟수가 2**n
  위에서 아래로 갈수록 효율이 나쁘고 작업시간이 오래걸리므로 이에 대한 개선은 필수적인 프로그래머의 고민거리라고 할 수 있다.

 

joshuajangblog.wordpress.com/2016/09/21/time_complexity_big_o_in_easy_explanation/

 

(번역) 알고리즘 쉽게 이해하기 : 시간 복잡도와 Big-O 표기

(번역) 알고리즘을 쉬운 영어로 : 시간 복잡도와 Big-O 표기 오늘 번역글은 medium 의 freecodecamp 글입니다. 알고리즘, 시간 복잡도, Big-O 를 사례를 들어가며 이해하기 쉽게 풀어서 설명된 글입니다.

joshuajangblog.wordpress.com

 

'프로그래밍 언어 공통' 카테고리의 다른 글

가상환경 설정(base: python)  (0) 2020.12.21
콜백 함수  (0) 2020.11.27
해쉬(Hash)  (0) 2020.11.01
환경 변수  (0) 2020.11.01
객체, 임시 객체  (0) 2020.10.24
Comments