경력 개발자들이 가장 유용하다고 생각하는 자료 구조
Source
Evernote/ancom21c's notebook/B급 프로그래머 (Quora) 구글 또는 아마존에 다니는 경력 개발자들이 가장 유용하다고 생각하는 자료 구조는.md
Summary
구글, 아마존, 마이크로소프트 등 주요 IT 기업에서 근무한 경력 개발자들이 꼽은 가장 유용한 자료 구조는 Set/Map, Tree, Graph, 이진 탐색이다. Set/Map은 빠른 값 검색과 존재 확인에, Tree는 재귀적 순회 및 계층적 데이터(JSON/XML) 처리에, Graph는 엔티티 간 관계 파악 및 경로 최적화 등 범용 문제 해결에 각각 핵심적으로 활용된다. 이진 탐색은 정렬된 데이터에서 효율적인 값 탐색을 가능하게 한다.
Key Points
- Set/Map: 빠른 값 검색 및 존재 확인을 위한 핵심 자료 구조. 내부 구조보다 사용 시기와 효율적인 코드 작성법이 중요.
- Tree: 디렉토리 순회, JSON/XML 처리, 표현식 평가 등 계층적 데이터 처리에 필수. 정렬된 Set/Map 구현의 기반.
- Graph: 엔티티 간 관계 모델링의 만능 해법. 소셜 네트워크, 라우팅, 매칭 시스템 등 다양한 도메인에서 일반화된 프레임워크로 활용.
- 이진 탐색: 정렬된 배열이나 트리에서 특정 값을 빠르게 찾는 효율적인 알고리즘.