맛보기 입니다..
- Data를 Memory에 표현하는 Structure
이미 배운 자료구조
- 정수
- 실수
- 문자
- 배열
- 구조체
- 자료구조의 정의 상으로는 모두 자료구조 라고 할 수 있다.
실제 자료구조는 더 복잡한 형태를 지칭
연결리스트와 배열 그리고 알고리즘
문제) 카페에서 주문을 받는 키오스크가 있다고 해보자. 주문이 들어오면 들어온 주문내역을 배열 즉 메모리에 저장하고 바리스타가 주문을 확인하고 음료를 제조한 후 고객이 음료를 받으면 배열, 메모리에서 삭제하면 된다.
- 배열을 통해 위 문제를 해결한다고 하자. 어떤 문제가 있을까?
- 배열의 사이즈를 100으로 잡았고 배열의 한 인덱스마다 하나의 주문을 저장한다고 해보자.
- 고객이 한꺼번에 너무 많이 몰리면 100개의 배열로는 모든 주문을 저장할 수 없다.
- 배열의 사이즈를 1000으로 잡았다면?
- 고객이 너무 적으면 쓰지도 않는 메모리를 크게 잡고 있어 메모리 낭비가 발생한다.
- 해결방안 : 주문이 들어올 때 마다 하나의 주문만큼 메모리를 할당하고 주문이 처리되면 메모리에서 해제한다. (동적 메모리 할당을 이용)
해결방안은 나왔다. 이제 어떻게 구현할지를 고민해보자.