[컴퓨터 사이언스] 자료구조와 알고리즘이란?

자료구조(Data Structure)란?

  • 대량의 데이터를 효율적으로 관리할 수 있는 데이터의 구조를 의미한다.
  • 코드상에서 효율적으로 데이터를 처리하기 위해, 데이터 특성에 따라, 체계적으로 데이터를 구조화해야한다.
    • 어떤 데이터 구조를 사용하느냐에 따라 코드 효율이 달라진다.

효율적인 데이터 관리 예제

우편번호

  • 5자리로 국가의 기초 구역을 제공한다.
  • 앞 3자리는 시, 군, 자치구를 표기하고 뒤 2자리는 일련 번호로 구성된다.

학생 관리

  • 학년, 반, 번호를 학생에게 부여해서 학생부를 관리한다.
    • XX학년, X반, X번 학생
    • 만약 관리 기법이 없다면, 여러명의 학생 중 특정 학생을 찾기 위해 전체 학생부를 모두 훑어야 한다.

대표적 자료구조

  • 배열
  • 스택
  • 연결 리스트
  • 해쉬 테이블

현실 세계의 가장 대표적인 데이터 구조는 사전이다.

알고리즘(Algorithm)이란?

  • 어떤 문제를 풀기 위한 절차나 방법이다.
  • 어떤 문제에 대해 특정한 입력을 넣으면, 원하는 출력을 얻을 수 있도록 만드는 프로그래밍이다.

현실 세계의 가장 대표적인 알고리즘은 백종원 레시피이다.

자료구조와 알고리즘이 중요한 이유

  • 어떤 자료구조와 알고리즘을 쓰느냐에 따라 성능이 천지차이이다.
0%