반응형
<알고리즘>
- 문제를 해결하기 위한 논리적 흐름.
- 서술어, 순서도, 프로그램 언어, 가상코드로 표현이 가능하다. 주로 순서도를 이용한다.
<알고리즘의 분석 기준>
- 알고리즘 또한 효율성을 추구한다.
- 보기 쉽고, 메모리와 시간을 적게 쓰면서 처리할 수 있는 데이터가 많고, 정확한 결과를 도출한다면 좋은 알고리즘. (공간복잡도 & 시간복잡도의 개념이 포함되어 있다.)
<공간복잡도>
- 프로그램을 실행하는데 필요한 총 저장공간.
- 고정 공간 + 가변 공간
- 프로그램을 저장하는 공간, 변수 및 상수들을 저장하기 위한 공간.
- 실행 과정에서 사용되는 데이터, 변수 및 관련 정보를 저장하는 공간.
<시간복잡도>
- 프로그램을 이용해 알고리즘을 완료하는데 걸리는 시간
- 컴파일 시간 + 실행 시간
- 프로그램의 특성과 큰 관계없는 고정된 시간. 고려요소 아님.
- 실행 빈도 수를 이용해 알고리즘간 비교. (***Big O 표기법으로 시간복잡도를 나타낸다.)
***Notion 링크_Big O 표기법 정리 내용
https://pattern-surgeon-d2e.notion.site/Big-O-86b2c02e053a44c78db32d223497d35a
<느낀 점>
알고리즘의 포인트는 컴퓨터를 이용해 문제를 해결하는 것 인데,
'경영'과 비슷하게 불필요한 비용을 줄이고 효용을 극대화 하는 것.
개념 자체는 이해하기 다소 쉬운편인듯 하다.
반응형
'Algorithm' 카테고리의 다른 글
Java의 일꾼 'JVM' (0) | 2021.09.03 |
---|---|
자바로 배우는 쉬운 자료구조_리뷰_2 (0) | 2021.08.30 |
자바로 배우는 쉬운 자료구조_리뷰_1 (0) | 2021.08.30 |
댓글