순열, 중복순열, 조합, 중복조합, 부분집합
2024. 6. 15. 20:46
Algorism/개념
package main;import java.io.BufferedReader;import java.io.FileInputStream;import java.io.InputStreamReader;import java.util.Arrays;public class CompleteSearch { private static int m = 3; private static int[] arr = {1, 3, 5, 7}; private static boolean[] select; private static int[] num; public static void main(String[] args) throws Exception { System.setIn(new FileInputStream("./input.txt")); ..

알고리즘 - 유니온파인드, 서로소집합 (Unionfind)
2024. 1. 5. 11:47
Algorism/개념
서로소 집합에 대한 알고리즘인 유니온파인드를 계속 까먹고, 다른 포스트에서 보면 다양한 방식이 있어, 그때 그때 찾고 적용하면 햇갈릴 때가 많다. 그래서 내가 쓰는 알고리즘 형식을 메모하기 위해서 유니온파인드 알고리즘을 포스팅한다. 개념 서로소 또는 상호배타 집합들은 서로 중복 포함된 원소가 없는 집합들이다. 다시 말하자면 교집합이 없다는 뜻이다. 그리고 집합에 하나의 특정 멤버를 통해 각 집합들을 구분한다. 서로소 집합을 표현하는 방법은 다음과 같다. 연결 리스트 트리 그리고 서로소 집합 알고리즘을 적용하기 위해서는 다음과 같은 연산이 필요하다. Make-Set(x) : 자신이 대표자가 되어 집합을 만드는 함수. Find-Set(x) : 원소 x가 속해있는 집합에서 대표자가 누구인지 찾는 함수. Uni..