이 레슨과 관련된 학습 키워드
컴퓨터 과학 & 프로그래밍 — 문제 해결의 도구 → 자료구조 — 효율적인 데이터 관리의 핵심 → 자료구조 — 효율적인 데이터 관리의 핵심 → 기초 자료구조
Learn why data structures matter, time/space complexity, Big-O notation, amortized analysis, and how to choose the right data structure.
여러분, 같은 문제라도 어떤 자료구조를 사용하느냐에 따라 프로그램의 속도가 수천 배까지 달라질 수 있습니다.
그림 왼쪽 빨간 박스를 보세요.
정렬되지 않은 배열에서 값을 찾으려면 처음부터 끝까지 하나씩 확인해야 해요.
100만 개 데이터라면 최대 100만 번 비교가 필요합니다. 빅오로 오엔이죠.
이번에는 가운데 초록 박스를 보세요.
해시 테이블은 해시 함수로 저장 위치를 바로 계산합니다.
그래서 평균적으로 단 한 번만에 값을 찾을 수 있어요. 오원이라고 합니다.
파란 박스의 이진 탐색 트리를 보면, 데이터를 반씩 나누어 탐색합니다.
100만 개에서도 약 20번이면 충분합니다. 오로그엔이에요.
하단의 막대 그래프를 보세요. 배열과 해시의 차이가 얼마나 큰지 직접 확인됩니다.
오른쪽 보라색 박스에는 실무 활용 예시가 정리되어 있어요.
데이터베이스 인덱스는 비트리, 브라우저 뒤로가기는 스택을 사용합니다.
프린터 대기열은 큐, 디엔에스 캐시는 해시맵 구조예요.
이처럼 자료구조는 이론이 아니라 매일 사용하는 실전 도구입니다.
팽 면접의 80퍼센트가 자료구조와 알고리즘 문제라는 것, 알고 계셨나요?
실무에서도 올바른 자료구조 선택이 성능 최적화의 첫 번째 단계입니다.
자료구조란 데이터를 효율적으로 저장하고 접근하기 위한 체계적인 방법이에요.
배열, 링크드 리스트, 트리, 해시 테이블 등이 모두 자료구조에 해당합니다.
이 레슨에서는 먼저 시간과 공간 복잡도를 배우고, 그 다음 핵심 자료구조들을 비교해 볼 거예요.
왜 자료구조를 배워야 하는지, 이 그림 하나로 답이 나오죠?
선생님: 배열에서 값을 찾을 때 왜 최대 100만 번이나 비교해야 할까요?
학생: 정렬이 안 되어 있으니까 어디에 있는지 모르잖아요. 처음부터 끝까지 다 봐야 하니까요.
선생님: 맞아요. 그러면 해시 테이블은 어떻게 단 한 번에 찾을 수 있을까요?
학생: 해시 함수가 키를 받아서 저장 위치를 바로 계산해주니까, 그 위치만 확인하면 되는 거죠?
선생님: 정확합니다. 그래서 시간 복잡도가 오원인 거예요. 자료구조 선택이 왜 중요한지 느껴지죠?
학생: 네, 같은 문제인데 자료구조만 바꿔도 100만 배 차이가 나다니 놀랍네요.