벨만포드 알고리즘
개요
최단거리 알고리즘 분류
모든 간선이 양수인 경우
다익스트랑 알고리즘
음수 간선이 있는 경우
벨만포드 알고리즘
모든 노드 간의 최단거리를 구해야 하는 경우
플로이드워셜 알고리즘
Dispatcher Servlet을 활용해 매핑되는 핸들러 구하기
개요
최근에 스프링부트를 활용한 서버 Application 프로젝트를 진행하던 도중, 아래와 같은 요구사항이 추가되었다.
인터셉터를 통해 404 에러를 처리하라.
그러기 위해선, 서버로 전달된 HTTP 요청 메시지의 URI(Endpoint)에 따라, 어떤 컨트롤러가 매핑되는지 분석한다.
그리고 그 결과를 기반으로 응답 메시지를 다르게 전송한다.
단순히 해당 요구사항만 본다면, “컨트롤러 계층이나 서비스 계층에서 처리를 하면 되는 간단한 문제아닌가?” 라고 생각할 수 있다.
하지만 이 로직을 인터셉터 단에서 처리하도록 해야하는 상황이었다.
유니온 파인드 알고리즘
개요
유니온 파인드란?
유니온 파인드는 그래프(트리) 알고리즘의 한 종류이다.
어떤 두 개의 노드가 같은 그래프에 속해 있는지 판별하는 알고리즘이다.
서로소 집합, 상호 베타적 집합이라고도 한다.
연산 종류
Union 연산
두 개의 트리를 합쳐, 하나의 그래프를 만드는 연산
Find 연산
어떤 트리의 루트 노드를 찾는 연산
주로 배열을 활용하여, 트리를 표현한다.