[Java] Graph 그래프 / 인접 행렬 / 인접 리스트
뇌를 자극하는 알고리즘 (박상현 저)를 참고해 정리한 내용입니다. Graph란? 객체 사이의 연결 관계를 표현할 수 있는 자료구조 정점의 집합과 간선의 집합의 결합 즉, 정점과 간선으로 이루어진 자료구조의 일종 G : 그래프 Vertex : = 노드(node) 또는 정점의 집합 Edge : 간선의 집합 (= link) 라고 했을 때, G = (V, E)이다. 간선으로 연결되어 있는 두 정점을 가리켜 서로 '인접(adjacent)' 또는 이웃 관계에 있다고 말한다. (A, B), (A, D), (A, E), (B, C), (B, E), (C, D)가 서로 이웃 관계에 있다. 이렇게 간선을 통해 서로 이웃이 된 각 정점은 그래프 안에서의 길을 형성하기도 한다. 예를 들어 정점 A에서 정점 C까지는 A, B,..
2020. 5. 9.
[백준 - Java] 17298번 : 오큰수
문제 더보기 https://www.acmicpc.net/problem/17298 크기가 N인 수열 A = A1, A2, ..., AN이 있다. 수열의 각 원소 Ai에 대해서 오큰수 NGE(i)를 구하려고 한다. Ai의 오큰수는 오른쪽에 있으면서 Ai보다 큰 수 중에서 가장 왼쪽에 있는 수를 의미한다. 그러한 수가 없는 경우에 오큰수는 -1이다. 예를 들어, A = [3, 5, 2, 7]인 경우 NGE(1) = 5, NGE(2) = 7, NGE(3) = 7, NGE(4) = -1이다. A = [9, 5, 4, 8]인 경우에는 NGE(1) = -1, NGE(2) = 8, NGE(3) = 8, NGE(4) = -1이다. 입력 첫째 줄에 수열 A의 크기 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째에..
2020. 5. 3.