본문 바로가기

공부/알고리즘4

유니온 파인드(Union-Find) - Python Why?왜 쓰냐 => 여러 개의 원소가 있을 때 다음 두 가지 작업을 효율적으로 수행하기 위해 사용 Union? Find?1. Union : 두 개의 집합을 합침2. Find : 특정 원소가 속한 집합을 찾음 주로 그래프 알고리즘, 사이클 검출, 최소 신장 트리 등의 문제에 사용  핵심 개념 1. 부모 노드(parent): 각 원소는 자신이 속한 집합을 대표하는 "부모 노드"를 가집니다. 초기에는 모든 원소가 자기 자신을 부모로 가집니다.Find 연산을 통해 부모를 찾을 수 있습니다.  2. 경로 압축(Path Compression): Find 연산을 수행하면서 트리의 깊이를 줄여 효율성을 높이는 기법입니다.경로 압축을 통해 원소들이 직접 루트 노드를 가리키게 되어 Find 연산이 매우 빠르게 수행됩니다.. 2024. 12. 10.
Integer.valueOf(String) VS Integer.parseInt(String) Integer.valueOf(String)반환 타입: Integer 객체설명: Integer.valueOf(String)는 문자열을 Integer 객체로 변환합니다. 이 메서드는 내부적으로 Integer 객체를 생성하거나, 이미 생성된 객체를 캐싱하여 반환할 수 있습니다. 따라서 이 메서드는 Integer 객체를 반환하기 때문에 자동 박싱(autoboxing)이 발생합니다.캐싱: Integer.valueOf(int)는 -128부터 127까지의 값을 캐싱합니다. 이 범위 내의 값들은 동일한 객체를 재사용합니다.Integer intValue = Integer.valueOf("123"); Integer.parseInt(String)반환 타입: 기본 타입 int설명: Integer.parseInt(String).. 2024. 5. 25.
메모 DFS 는 완전 탐색 BFS 는 최단 거리 찾기에 적합하다. 2023. 2. 26.
최대 공약수(GCD), 최소 공배수(LCM) 구하기, 유클리드 호제법 - JAVA 최대 공약수와 최대 공배수의 개념 1) 공약수 두 정수의 공통 약수를 공약수라고 한다. 두 정수 a, b에 대하여 e가 a의 약수이면서 b의 약수일 때 e를 a, b의 공약수라고 한다. 2) 최대공약수 두 정수의 공약수 중 가장 큰 것을 최대공약수라고 한다. 또한 최대공약수는 다음의 성질을 만족한다. a, b의 최대공약수가 g이다. ⇔ a = ga′, b = gb′이면 a′, b′는 서로소이다. 3) 공배수 두 정수의 공통 배수를 공배수라고 한다. 두 정수 a, b에 대하여 c가 a의 배수이면서 b의 배수일 때 c를 a, b의 공배수라고 한다. 4) 최소공배수 양의 공배수 중 가장 작은 것을 최소공배수라고 한다. [네이버 지식백과] 최대공약수와 최소공배수 (통합논술 개념어 사전, 2007. 12. 15... 2022. 12. 16.