6R33N

가장 쉽게 설명하는 - 플로이드-워셜 (Floyd-Warshall)

개요 플로이드-워셜(Floyd-Warshall)은 모든 정점에서 모든 정점으로의 최단 거리를 구하는 알고리즘으로, $O(N^3)$의 시간 복잡도를 가지고 있습니다. 다익스트라 알고리즘은 가중치가 음수인 경우에는 사용할 수 없다는 단점이 있지만, 플로이드-워셜은 사용할 수 있습니다. 음수 사이클이 있는 그래프의 경우 사용할 수 없습니다. 과...

가장 쉽게 설명하는 - 좌표 압축 (Coordinate Compression)

개요 좌표 압축, 혹은 값 압축(Coordinate Compression)은 데이터 범위가 매우 클 때 효율적으로 처리할 수 있게 해주는 최적화 기법입니다. 이름만 들으면 뭔가 기하학적인 지식이 필요할 것 같지만, 절대 그렇지 않습니다! 좌표 압축은 알고리즘이라기 보단, 데이터를 다루는 하나의 방법론에 가깝습니다. 일반적인 코딩 테스트에서 ...

GitHub Pages로 옮긴 이유

소개 거의 1년 반동안 사용한 티스토리 블로그를 뒤로 하고, 이번에 새로 GitHub Pages에 정착하게 되었습니다. 예전에 한번 GitHub Pages를 사용해 본 적이 있었지만, 다른 블로그 대비 복잡한 환경 설정 등으로 인해 금방 포기했던 기억이 있습니다. 하지만 날이 갈수록 자유도가 높은 플랫폼으로 이사를 가고 싶다는 생각이 들었고, 이것이...