Contents

Develop
2014.06.24 09:43

알고리즘 성능분석

조회 수 2961 댓글 0
Atachment
첨부 '1'
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
알고리즘의 성능을 분석할때 중요한 키워드 3가지가 있다.
 
1. 시간복잡도(Time Complexity)
시간복잡도는 알고리즘을 수행시 걸리는 시간에 대한 분석결과를 말한다.
 
2. 공간 복잡도(Space Complexity)
공간복잡도는 알고리즘을 수행시 메모리 사용량에 대한 분석결과를 말한다.
 
3. 빅-오 (Big-O)
시간복잡도를 나타낼 때 함수에서 가장 영향력이 큰부분을 말한다.
 
이 중 시간복잡도와 공간복잡도에 대해서 먼저 설명하겠다.
 
시간과 메모리 사용량을 적절이 판단하면서 알고리즘을 채택하여야 하는데
알고리즘을 채택하는데 있어서 객관적인 자료로 사용할 수 있기때문이다.
 
그럼 시간복잡도는 어떻게 측정을 할까?
프로그램이 시작되서 끝날때까지의 시간을 측정하는 방법은
자료의 양에따라 처리값이 다르기 때문에 알고리즘의 성능을 예측할수가 없다.
그래서 아래와 같이 측정한다.
 
1 . 연산의 횟수를 센다.
2 . 처리해야 할 데이터 수 n에 대한 함수T(n)을 나타낸다.

big_o.png

이렇게 측정을하면 어떤 알고리즘을 사용해야하는지에 대한 지표가 될 수 있다.

[출처] http://blog.naver.com/rkdgml6332/220038985752

?

List of Articles
번호 분류 제목 글쓴이 날짜 조회 수
733 Develop [js] URL 파싱하기 (jQuery 안쓰고) hooni 2017.12.14 1306
732 Develop [php] 한글 문자열 자르기 (utf-8) hooni 2015.11.10 1315
731 Develop [android] 간단한 SQLIite 예제 hooni 2017.06.14 1319
730 Develop How to Test SMTP AUTH using Telnet hooni 2018.04.05 1330
729 Develop [ios] How to set up clang formatter hooni 2015.09.17 1355
728 Develop [swift] popToRoot 모달뷰, 네비게이션컨트롤러 한꺼번에 닫기 file hooni 2021.01.29 1379
727 Develop [ios] Swift 4 String, Date, DateFormatter 예제 hooni 2018.10.18 1392
726 Develop What is difference between Get, Post, Put and Delete? hooni 2018.02.28 1398
725 Develop [android] 레이아웃 사이즈 변경 (동적; programmatically) hooni 2016.11.07 1478
724 Develop [ios] Pod 특정 버전 설치하고 사용하기 hooni 2022.05.28 1521
723 Develop [ios] binary를 C코드로 변환 file hooni 2015.01.03 1525
722 Develop [python] 파라미터 앞에 *, ** 의 의미? (*args, **kwargs) hooni 2019.11.22 1549
Board Pagination Prev 1 ... 5 6 7 8 9 10 11 12 13 14 ... 71 Next
/ 71