공부/자료구조&알고리즘

[자료구조&알고리즘] 개요

비렴 2022. 5. 27. 19:32

1. 자료구조란?
    - Data Structure, 컴퓨터 과학에서 효율적인 접근 및 수정을 가능케 하는 자료의 조직, 관리, 저장
    - 자료를 효율적으로 사용하기 위해 자료의 특성에 따라 분류하여 구성하고 저장 및 처리하는 모든 작업
    - 즉, '데이터를 어떤 식으로 사용할 것인가'에 따라 결정되어야 할 '데이터 간의 관계'

2. 알고리즘이란?
  - 여러 개의 지시사항
  - 어떤 액션을 수행하기 위해 컴퓨터가 해야하는 것

3. 시간복잡도란?
   - 데이터가 사용되는 패턴에 따라 가장 효율적인 자료구조가 존재한다는 것
   - 이때 효율이 시간대비 처리속도 즉, 효율성
   - 시간 X, 시간복잡도로 Step을 의미
  - 기본적인 연산을 수행하는 데에 어떤 고정된 시간이 걸릴 때 알고리즘에 의해서 수행되는 기본 연산의 개수

4. 시간복잡도의 종류
   - Big-Oh표기법
     최악의 경우라도 이정도 이하로 걸린다의 기준으로 수행시간 표현(상한)
   - Big-Omega표기법
      아무리 빨리 해도 이정도 이상은 걸린다의 기준으로 수행시간 표현(하한)
   - Theta표기법
      평균적으로 이정도 걸린다의 기준으로 수행시간을 표현