초보자에게 자료구조는 종종 이름 싸움처럼 느껴진다. 배열, 리스트, 맵, 딕셔너리라는 단어가 쏟아지면 무엇이 다른지보다 무엇이 더 어려운지가 먼저 들어온다.
하지만 입문 단계에서 중요한 것은 내부 구현보다 나중에 이 값을 어떤 방식으로 꺼내고 싶은가다.
순서로 꺼낼지, 이름으로 꺼낼지
리스트나 배열은 순서대로 값을 다루고 싶을 때 편하다. 딕셔너리나 맵은 이름표를 붙여 꺼내고 싶을 때 편하다. 초보자는 이 구분만 명확해도 데이터 구조 선택이 많이 쉬워진다.
결국 자료구조는 저장보다 조회 방식과 더 가깝다. 나중에 이 값을 어떻게 찾을까를 먼저 생각하면 된다.
DATA
fruits = ["apple", "banana", "orange"]
user = {"name": "mina", "level": "beginner"}
fruits는 순서로, user는 이름표로 값을 꺼내는 구조다.
처음에는 이렇게 구분하면 된다
- 순서가 중요하면 리스트 또는 배열
- 이름표가 중요하면 딕셔너리 또는 맵
- 처음엔 복잡한 구조보다 단순한 구조 두세 개를 자주 써 본다.
자료구조 입문은 정의 암기보다, 값을 어떻게 찾고 싶은지 스스로 묻는 데서 시작한다.
이 글의 포인트
- 초보자는 내부 구현보다 조회 방식 차이를 먼저 익히는 편이 낫다.
- 순서 중심 데이터와 이름표 중심 데이터를 구분하면 이해가 빨라진다.
- 단순한 구조를 자주 써 보는 것이 복잡한 구조를 빨리 외우는 것보다 중요하다.