우선순위 큐는 언제 써야 할까: 정렬로는 부족한 실시간 최솟값 문제 이해하기
우선순위 큐와 힙이 필요한 상황을 정렬과 비교해 설명합니다. push, pop 비용, Python heapq, Java PriorityQueue 예시를 통해 Top K, 스케줄링, 다익스트라 문제에서 왜 쓰는지 정리합니다.
우선순위 큐와 힙이 필요한 상황을 정렬과 비교해 설명합니다. push, pop 비용, Python heapq, Java PriorityQueue 예시를 통해 Top K, 스케줄링, 다익스트라 문제에서 왜 쓰는지 정리합니다.
Trie 자료구조를 쉽게 설명합니다. 문자열을 문자 경로로 저장해 prefix 검색과 자동완성이 왜 빨라지는지, 해시 테이블과 비교하면 무엇이 다른지 직관 중심으로 정리했습니다.
희소 테이블을 쉽게 설명합니다. 업데이트 없는 구간 최소값 문제에서 왜 세그먼트 트리보다 단순하게 느껴지는지, 전처리와 O(1) 질의 구조를 예시와 코드로 정리합니다.
모노톤 큐를 쉽게 설명합니다. 슬라이딩 윈도우 최댓값 문제에서 왜 deque가 필요한지, 일반 deque와 무엇이 다르고 어떤 후보를 버려야 하는지 코딩테스트 기준으로 정리합니다.
펜윅 트리와 세그먼트 트리 차이를 쉽게 설명합니다. 둘 다 구간 문제에 쓰이지만 어떤 상황에서 더 가볍고, 언제 세그먼트 트리가 더 일반적인지 코딩테스트 기준으로 정리합니다.
세그먼트 트리를 쉽게 설명합니다. 구간 합, 최소값 같은 질의와 업데이트가 함께 나오는 문제에서 왜 세그먼트 트리가 필요한지 코딩테스트 기준으로 정리합니다.