목 차
📘 Flutter: 자료구조 & 알고리즘 확장 가이드
1. 자료구조 활용 in Flutter
1-1. 리스트 & 스크롤 최적화
1-2. 맵(Map) , 셋(Set)
1-3. 큐 & 스택.
2. 알고리즘 최적화
2-1. 정렬 & 검색
2-2. 캐싱 전략
2-3. 페이징(Pagination)
3. 앱 특화 알고리즘
3-1. 멀티스레드 분리
3-2. 지도/경로 앱
3-3. 추천 시스템.
4. 면접/실무 대비 문제
- Sliding Window → 채팅 메시지 무한 스크롤
- BFS/DFS → 지도 탐색
- Heap (우선순위 큐) → 알림 예약
- Prefix Sum → 통계/차트 최적화
- LRU Cache → 최근 본 상품
ListView vs ListView.builder
GridView vs GridView.builder
CustomScrollView + SliverList → 대용량 데이터 최적화
Infinite Scroll 구현: API Cursor 기반
빠른 검색 (O(1))
중복 제거 (Set.from(list))
HashMap → 검색창 자동완성, 태그 시스템
메시지 큐 / 알림 스케줄링
Queue (dart:collection)
binarySearch (dart:collection) → 이진 탐색 (O(log n))
MergeSort / QuickSort → 대용량 리스트 정렬
Trie 구현 → 오프라인 검색 최적화
Offset 기반 (page=1,2…) → 작은 프로젝트
Cursor 기반 (lastId, createdAt) → 대규모 서비스
Skeleton UI / Shimmer 적용
대용량 JSON 파싱, 이미지 처리
UI Thread 부하 줄이기
다익스트라 / A* 알고리즘으로 최단 경로 탐색
google_maps_flutter + 그래프 탐색 알고리즘 결합
HashMap + PriorityQueue
정렬: 평점 높은 순 / 최근 본 순
Sliding Window → 채팅 메시지 무한 스크롤
BFS/DFS → 지도 탐색
Heap (우선순위 큐) → 알림 예약
Prefix Sum → 통계/차트 최적화
LRU Cache → 최근 본 상품