티스토리 뷰
상호배타 집합: 서로 중복하게 포함된 원소가 없는 집합들을 뜻한다.
집합에 특정한 멤버를 대표자라고 하며 각 집합을 구분한다.
상호배타집합 표현방법
=> 연결리스트, 트리
연결리스트
1.같은 집합의 원소들은 하나의 연결리스트로 관리
2.맨 앞의 원소가 대표원소
3. 각 원소는 대표를 가리키는 링크를 갖음
트리
1. 하나의 잡합을 하나의 트리
2. 자식노드는 부모노드를 가리킨다. 따라서 가장 상위에 있는 루트 노드가 대표자가 된다.
연산
Make-Set(x) :멤버x만 포함하는 새로운 집합을 생성
Find-Set(x) :원소 x가 속한 집합을 알아내기 위함, 대표자를 알아내기 위함
Union(x,y) : x가 속한 집합과 y가 속한 집합을 하나의 집합으로 합침
연산의 효율을 높이는 방법
1. union에서 rank를 이용함
각 노드는 자신을 루트로 하는 트리의 높이를 rank로 저장한 뒤 두 집합을 합칠 때 랭크가 낮은 집합을 높은 집합에 붙인다.
2. path compression
Fine-set하는 과정에서 모든 노드들이 루트를 가리키도록 변경시켜준다.
'TIL' 카테고리의 다른 글
서버-클라이언트 (0) | 2021.05.17 |
---|---|
티스토리 구글 검색 제외됨!!!!!ㅡㅡ (0) | 2021.04.25 |
[알고리즘] 트리 (2) | 2021.04.05 |
[GIT] branch (0) | 2021.03.26 |
[SQL] 기본 명령어 예시 (0) | 2021.03.25 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 싸피
- commit되돌리기
- Pyhton
- 배포
- 위클리챌린지2주차
- 백준
- 알고리즘
- 파이썬
- Java
- vue.js
- 독학
- 비동기패턴
- git
- 자바
- javascript
- N과M
- SQL
- 안드로이드스튜디오
- Python
- AWS
- 프로그래머스
- SWEA
- django
- 트리
- SSAFY퇴소
- 세션 스토리지
- SSAFY
- DOM
- splide
- vue
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
글 보관함