August 29, 2026
안녕하세요. 자바파커입니다. 지도에서 목적지 방향으로 곧게 뻗은 길을 골랐습니다. 눈으로는 가장 가까워 보이지만 도로별 이동 시간을 더하니 19분입니다. 옆으로 돌아간 경로는 10분밖에 걸리지 않습니다. 왜 이런 차이가 생길까요? 최단 경로는 선의 길이가 아니라, 지나온 간선 가중치의 합으로 결정됩니다. 노드가 거리 순서대로 확정되고 마지막에 최단 경로가…
August 31, 2026
안녕하세요. 자바파커입니다. 다익스트라 알고리즘은 최단 경로를 정확하게 찾습니다. 다만 목적지가 오른쪽 위에 있어도 시작점 주변을 모든 방향으로 넓게 확인합니다. A*는 여기에 질문 하나를 더합니다. 지금까지 싸게 왔고, 목적지에도 가까운 후보는 어디일까? 이번 예제에서 두 알고리즘이 찾은 경로 비용은 모두 22입니다. 하지만 확정한 칸은 다익스트라 16…
September 03, 2026
안녕하세요. 자바파커입니다. 데이터가 수억 건 있는 저장소에 어떤 키가 존재하는지 확인해야 한다고 생각해 보겠습니다. 매 요청마다 DB나 디스크를 읽으면 정확하지만 비쌉니다. 그렇다고 모든 키를 메모리에 보관하면 메모리가 커집니다. 블룸 필터(Bloom Filter)는 이 문제에 독특한 답을 냅니다. 없다고 판정하면 확실히 없습니다. 있다고 판정하면 실제…
September 04, 2026
안녕하세요. 자바파커입니다. 분산 캐시에 서버가 세 대 있다고 가정해 보겠습니다. 가장 단순한 배치식은 다음과 같습니다. 이 방식은 빠르고 이해하기 쉽습니다. 하지만 네 번째 서버를 추가하는 순간 식이 로 바뀝니다. 같은 키의 해시값은 그대로인데 나누는 수가 달라져 기존 키 대부분의 목적지가 달라질 수 있습니다. 일관된 해싱의 목적은 데이터를 완벽히 균등…
September 09, 2026
안녕하세요. 자바파커입니다. 정렬 알고리즘의 시간복잡도는 다들 외웁니다. 버블은 , 퀵은 . 그런데 이게 실제로 얼마나 차이 나는지는 잘 와닿지 않습니다. 숫자로 보면 이렇습니다. 원소 수 버블 퀵 배수 32 496 160 3배 1,000 499,500 9,965 50배 10,000 49,995,000 132,877 376배 1,000,000 499,…