안녕하세요, iOS 개발자입니다. 앱을 만들며 마주친 것들과 쓰면서 이해한 것을 남깁니다. CS 기초, Swift 런타임, 아키텍처를 주로 다룹니다.
글 2편
이진 탐색 트리가 O(log n)을 잃는 순간
정렬된 데이터를 그대로 넣으면 트리가 연결 리스트가 됩니다. 편향이 생기는 과정을 직접 넣어보며 확인하고, 균형 트리가 무엇을 해결하는지 정리했습니다.
해시 테이블은 왜 평균 O(1)이고, 언제 아닌가
해시 충돌 처리 방식에 따라 최악 시간복잡도가 갈리는 지점과, Swift Dictionary가 실제로 택한 전략을 정리했습니다.