[자료구조와 알고리즘] 자료구조와 알고리즘

kai6666·2022년 5월 28일
0
post-thumbnail

자료구조

프로그램은 데이터를 입력 받아 조작하고 반환하는 것이다. 따라서 프로그래밍은 기본적으로 데이터를 다루는 일이다.

데이터는 모든 유형의 정보이다. 소리, 이미지, 영상, 숫자 등 우리 실생활을 구성하는 모든 정보가 데이터이다.

자료구조란 데이터를 조직하는 방법이다. 넘쳐나는 정보에 규칙을 주고, 목적에 맞게 정리하고 활용하는 것이다.

흔히 개발자를 문제를 해결하는 사람이라고 부른다. 그렇기 때문에 프로그래머라면 자료구조를 필히 알아야 한다. 자료구조는 문제를 빠르고 정확하게 해결할 수 있게 해줄 뿐만 아니라, 프로그램의 성능에도 직접적인 영향을 미치기 때문이다.

알고리즘

알고리즘

알고리즘은 문제를 해결하는 절차이다. 예를 들어 샌드위치를 먹는 알고리즘은 아래와 같을 수 있다.

  1. 빵 봉지를 연다.
  2. 빵을 꺼낸다.
  3. 땅콩잼 뚜껑을 딴다.
  4. 나이프를 가져온다.
  5. 나이프로 땅콩잼을 뜬다.
  6. 잼을 빵에 펴바른다.
  7. 빵을 반으로 접는다.
  8. 빵을 맛있게 먹는다.

이러한 일련의 과정을 사람은 별 생각없이 수행할 수 있다. 그러나 컴퓨터는 이런 절차를 정해줘야 연산을 수행할 수 있다.

문제에 따라 사용할 수 있는 알고리즘은 하나가 될 수도, 수십 가지가 될 수도 있다. 알고리즘에 따라 연산의 속도가 빨라질 수도, 느려질 수도 있다. 따라서 문제에 적합한 알고리즘을 사용하는 것이 중요하다.

profile
성장 아카이브

0개의 댓글