자료를 저장하는 데에 있어서 우리는 무슨 생각을 가져야 할까요?
자료를 어렵게 생각하지 맙시다. 당신이 도서관 사서이고, 혼자서 백만권의 책을 정리해야 한다고 생각해봅시다.
'하 막막하다.. 이거 어떻게 처리해...ㅅㅂ..'
저런 마음이 든 후에, 당신은 아마 이런 세 가지 질문이 들겁니다.
1) 어떤 식으로 책(자료)을 저장하는 게 좋을까? : Insert
2) 어떤 식으로 책(자료)을 찾는 게 빠를까? : Search
3) 어떤 식으로 책(자료)를 빼는 게 좋을까? : Delete
자료구조는 사서 일의 질문과 유사합니다.
결국, 이 세 가지 질문이 자료구조의 구조화에 있어서 가장 큰 질문들입니다.
그렇다면, 어떤 사서가 일을 잘한다고 칭찬을 들을까요?
1. 당연히 실수는 절대 없어야 하구요 ( 자료는 안정적으로 저장하면서)
2. 책장은 적게 써야 합니다. (데이터 용량은 적게 쓰면서)
3. 그리고, 빨리 일들을 처리하는 게 좋겠지요 ( 처리 속도는 빠르게)
자료 구조의 알고리즘은 이러한 질문에 대한 해결책들입니다.