Algorithum이란
어떠한 문제를 해결하기 위한 일련의 절차를 공식화한 형태로 표현한 것이다.
- 쇼핑몰에서 물품 구매
- 햄버거 만드는 방법
- 최단 거리 최단 시간에 집에가는 길을 찾는 것
프로그래밍에서 알고리즘은 정확하고 효율적으로 결과값을 얻기위해 필요하다.
Good 알고리즘의 조건
시간 복잡도
0(1) :상수형태. n의 값에 상관없이 일정한 양의 계산만 한다.
0(logn) : 로그 형태
0(n) : 선형
0(nlogn) : 선형로그 형태
0(n2),O(n3),.... : 다차 형태
O(2n) : 지수 형태
O(n!) : 팩토리얼 형태
자료구조
데이터 사이의 관계를 반영한 저장구조 및 다루는 연산에 대한 정의
자료구조는 데이터를 효율적으로 사용할 수 있도록 컴퓨터에서 데이터를 효과적으로 저장하고 구성하는 방법을 제공하는 데이터 요소 그룹으로 정의할 수 있다.
SW또는 프로그램의 성능 향상에 중요한 역할을 한다.
출처 - 초보몽키의 개발공부로그
소비자가 더 빠르고 눈으로 확실히 보이는 개선된 것을 원하기 때문에 소비자의 니즈를 충족시키려면 개발자들은 더 효율적이고 성능을 향상시키는 것을 추구한다.
이러할 때 사용하는 것이 자료구조와 알고리즘 적절히 사용하면 소비자가 원하는 데이터까지 접근하는데 걸리는 시간을 획기적으로 줄여준다.