[Java] 어서와! 자료구조 알고리즘은 처음이지? 파트 1-3

창진·2022년 10월 5일
0

좋은 프로그램이란?

-신뢰성이 높은 알고리즘
-처리 효율이 높은 알고리즘
-일반적으로 적용이 가능한 알고리즘
-확장성이 있는 알고리즘
-이해하기 쉬운 알고리즘
-이식성이 높은 알고리즘

이렇게 나열한 것처럼 여러 기준이 있지만 오늘은 '처리 효율이 높은 알고리즘'에 대해서 말해보겠습니다.

시간복잡도란 나무위키나 구글에 검색하면 여러 가지 장황하게 설명된 정의가 나와 있으니 저는 간단하게
입력되는 데이터의 증가에 따른 변화를 예측하는 것 이라고 하겠습니다.

Big O 표기법

으로 시각적으로 표현되며 입력되는 n개에 대비해서 얼마나 많은 양의 연산을 수행하는지 표기하는 방법입니다. O(1), O(n), O(log n), O(n2), O(2n) 이렇게 5가지의 시간복잡도가 있으며
위의 사진 같이 그래프로도 표현됩니다.
시간복잡도는 프로그램을 개발할 때 중요하게 생각해야 하는 것 중 하나입니다. 시간 복잡도가 어떻게 되었냐에 따라 최선, 평균, 최악으로 나뉘기 때문입니다.

profile
안녕하세요

0개의 댓글