algorithm
-
[알고리즘 정리] Union-Find(유니온 파인드)Development/Algorithm 2020. 5. 3. 17:29
다룰 내용 서로소 집합이란 무엇인가? 상호 배타 집합을 표현하는 방법 Union Find 구현 서로소 집합(Disjoint-set)이란? 서로소 또는 상호 배타 집합들은 서로 중복되는 원소가 없는 집합을 말합니다. 상호 배타 집합을 표현하는 방법 연결 리스트로 구현 트리로 구현 상호 배타 집합 연산 Make-set(x) : 집합을 만드는 동작입니다. Find-set(x) : x가 속한 집합을 찾는 동작입니다.(이때 해당 원소의 대표자를 반환합니다.) Union(x, y) : 두 집합의 원소를 주고 합치는 동작입니다. 상호 배타 집합 - 연결리스트 구현 같은 집합의 원소들은 하나의 연결리스트로 관리합니다. 연결리스트의 맨 앞의 원소를 집합의 대표 원소로 생각해봅니다. 따라서 각 원소는 집합의 대표 원소를 ..
-
[알고리즘 정리] 재귀Development/Algorithm 2020. 4. 8. 00:19
다룰 내용 재귀란 무엇인가? 재귀를 구현할 때 주의할 점 Factorial Fibonachi 재귀란 무엇인가? 자신의 메소드 내부에서 자신의 메소드를 호출하는 것 재귀를 구현할 때 주의할 점 1) 메소드의 역할을 명확히 해야 함. 2) 자신이 해야할 일과 나머지 작업으로 분리해야 함. 3) 기저 조건이 반드시 있어야 함. (재귀 탈출 조건) -> 기저가 없으면 스택 오버 플로우 발생 4) 재귀의 깊이를 생각해야 함. (상태 공간 트리 활용) 5) 깊이뿐만 아니라 수행시간도 고려해야 함. Factorial 5! -> 5 * 4 * 3 * 2 * 1 => 이는 5 * 4! 형태로 이해할 수 있음. => 또 5 * 4 * 3! 형태로도 이해할 수 있음. => 5 * 4 * 3 * 2! 형태 => 5 * 4 *..