공부/자료구조&알고리즘
[자료구조&알고리즘] 개요
비렴
2022. 5. 27. 19:32
1. 자료구조란?
- Data Structure, 컴퓨터 과학에서 효율적인 접근 및 수정을 가능케 하는 자료의 조직, 관리, 저장
- 자료를 효율적으로 사용하기 위해 자료의 특성에 따라 분류하여 구성하고 저장 및 처리하는 모든 작업
- 즉, '데이터를 어떤 식으로 사용할 것인가'에 따라 결정되어야 할 '데이터 간의 관계'
2. 알고리즘이란?
- 여러 개의 지시사항
- 어떤 액션을 수행하기 위해 컴퓨터가 해야하는 것
3. 시간복잡도란?
- 데이터가 사용되는 패턴에 따라 가장 효율적인 자료구조가 존재한다는 것
- 이때 효율이 시간대비 처리속도 즉, 효율성
- 시간 X, 시간복잡도로 Step을 의미
- 기본적인 연산을 수행하는 데에 어떤 고정된 시간이 걸릴 때 알고리즘에 의해서 수행되는 기본 연산의 개수
4. 시간복잡도의 종류
- Big-Oh표기법
최악의 경우라도 이정도 이하로 걸린다의 기준으로 수행시간 표현(상한)
- Big-Omega표기법
아무리 빨리 해도 이정도 이상은 걸린다의 기준으로 수행시간 표현(하한)
- Theta표기법
평균적으로 이정도 걸린다의 기준으로 수행시간을 표현