알고리즘 소개 (1)

알고리즘의 기본 개념

알고리즘이란?

  • 알고리즘

    • 9세기경, 페르시아 수학자 알콰리즈미(al-Khwarizmi)에서 유래
  • 문제 해결을 위한 레시피

    • 단계적인 조리 절차를 따르면 음식을 만들 수 있듯이 알고리즘도 단계적인 풀이 절차를 따르면 주어진 답을 구할 수 있음

알고리즘의 정의

  • 주어진 문제를 풀기 위한 명령어들의 단계적 나열

알고리즘 생성 단계

  • 설계: 상향식 설계, 하양식 설계
  • 표현/기술: 일상언어, 순서도, 의사코드, 프로그래밍 언어, ...
  • 정확성 검증: 수학적 검증
  • 효율성 분석: 공간 복잡도, 시간복잡도

기본 자료구조

알고리즘에서 자료구조는?

  • 자료구조

    • 컴퓨터 기억공간 내에 자료를 표현하고 조직화하는 방법
  • 프로그램 = 자료구조 + 알고리즘

    • 자료구조에 대한 고려없는 효율적인 알고리즘의 선택, 또는 알고리즘에 대한 고려 없는 효율적인 자료구조의 선택은 무의미