알고리즘

1. 자료구조와 알고리즘 - 패스트캠퍼스 백엔드 부트캠프 3기

gkss2tpt 2025. 1. 21. 18:09

1. 자료구조와 알고리즘

  • 자료구조란?
    • 프로그램의 수행은 자료(Data)와 그 자료를 활용하는 명령어들로 이루어짐
    • 자료구조는 이러한 자료들이 프로그램의 수행 시 효율적으로 수행될 수 있도록 메모리에 저장하는 방식
  • 알고리즘이란?
    • 컴퓨터의 명령어들의 집합
    • 문제의 해결 절차를 체계적으로 기술한 것
    • 알고리즘의 필수 요소
      • 입력(input): 외부에서 제공되는 자료가 0개 이상 있음
      • 출력(output): 적어도 1개 이상의 결과를 만들어야 함
      • 명확성(definiteness): 각 명령어는 매번 모호함이 없고 명백해야 함
      • 유한성(finiteness): 한정된 수의 단계 뒤에는 반드시 종료되어야 함
      • 유효성(effectiveness): 모든 명령은 실행 가능한 연산이어야 함
    • 효율적인 알고리즘의 수행을 위해서는 그에 맞는 자료구조가 필수
  • 알고리즘 분석
    • 시간 복잡도 (Time complexity)
      • 알고리즘이 수행되는 시간
      • 실행되는 명령문의 연산 빈도수
    • 점근적 표기법 (Asymptotic Notations)
      • 시간 복잡도에 영향을 주는 데이터의 개수(n)에 대한 표시
      • 계수는 생략한다.
      • O(3n + 2) = O(n)