이미 배운 자료구조

실제 자료구조는 더 복잡한 형태를 지칭

연결리스트와 배열 그리고 알고리즘

문제) 카페에서 주문을 받는 키오스크가 있다고 해보자. 주문이 들어오면 들어온 주문내역을 배열 즉 메모리에 저장하고 바리스타가 주문을 확인하고 음료를 제조한 후 고객이 음료를 받으면 배열, 메모리에서 삭제하면 된다.

  1. 배열의 사이즈를 100으로 잡았고 배열의 한 인덱스마다 하나의 주문을 저장한다고 해보자.
  2. 고객이 한꺼번에 너무 많이 몰리면 100개의 배열로는 모든 주문을 저장할 수 없다.
  3. 배열의 사이즈를 1000으로 잡았다면?
  4. 고객이 너무 적으면 쓰지도 않는 메모리를 크게 잡고 있어 메모리 낭비가 발생한다.
  5. 해결방안 : 주문이 들어올 때 마다 하나의 주문만큼 메모리를 할당하고 주문이 처리되면 메모리에서 해제한다. (동적 메모리 할당을 이용)

해결방안은 나왔다. 이제 어떻게 구현할지를 고민해보자.