자료구조 2

플로이드 워셜 알고리즘 (Floyd-Warshall Algorithm)

1. 플로이드 워셜 알고리즘 (Floyd-Warshall Algorithm)이란, 그래프에서 가능한 모든 노드 쌍에 대한 최단 거리를 구하는 알고리즘입니다. ​ * 다익스트라 알고리즘은, 하나의 정점에서 다른 모든 정점까지의 최단 거리를 구하는 알고리즘이고, * 플로이드-워셜 알고리즘은, 한 번 실행하여 모든 노드​ 간의 최단 거리를 구하는 알고리즘입니다. ​ * 플로이드 워셜 알고리즘은, 다익스트라 알고리즘과 다르게 음의 간선도 사용할 수 있다. 2. 과정 ​ * 플로이드 워셜 알고리즘은 모든 노드간의 경로를 구하기때문에 2차원 배열이 필요합니다. ​ 초기 행렬 ​ * 노드의 개수만큼 라운드를 반복하여 각각의 해당 하는 노드를 중간 노드로 설정합니다. ​ 예를 들어, 1) 1번 라운드에는, 1번 노드가..

자료구조 2022.09.20

Set

Set 데이터의 집합이며 순서가 없고 중복된 데이터를 허용하지 않습니다. 중복되지 않은 데이터를 구할 때 유용합니다. 빠른 검색 속도를 가집니다. 인덱스가 따로 존재하지 않기 때문에 iterator를 사용합니다. Set의 종류와 특징 HashSet 인스턴스의 해시값을 기준으로 저장하기 때문에 순서를 보장하지 않는다. NULL 값을 허용한다. TreeSet보다 삽입, 삭제가 빠르다. LinkedHashSet 입력된 순서를 보장한다. TreeSet 이진 탐색 트리(Red-Black Tree)를 기반으로 한다. 데이터들이 오름차순으로 정렬된다. 데이터 삽입, 삭제에는 시간이 걸리지만 검색, 정렬이 빠르다. Java Set 타입 관련 Method add(Object) contains(Object) 출처: htt..

자료구조 2022.07.24