티스토리 뷰
반응형
루트 노드 그 자체가 집합을 대표한다.
-----------------------------------------------------------------
1. DisjointSet.h
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | #ifndef DISJOINTSET_H #define DISJOINTSET_H #include <stdio.h> #include <stdlib.h> typedef struct tagDisjointSet{ struct tagDisjointSet* Parent; void* Data; }DisjointSet; void DS_UnionSet(DisjointSet* Set1,DisjointSet* Set2); DisjointSet* DS_FindSet(DisjointSet* Set); DisjointSet* DS_MakeSet(void* NewData); void DS_DestroySet(DisjointSet* Set); #endif | cs |
2. DisjointSet.c
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 | #include "DisjointSet.h" DisjointSet* DS_FindSet(DisjointSet* Set){ while(Set->Parent!=NULL){ Set=Set->Parent; } return Set; } void DS_UnionSet(DisjointSet* Set1,DisjointSet* Set2){ Set2=DS_FindSet(Set2); Set2->Parent=Set1; } DisjointSet* DS_MakeSet(void* NewData){ DisjointSet* NewNode=(DisjointSet*)malloc(sizeof(DisjointSet)); NewNode->Data=NewData; NewNode->Parent=NULL; return NewNode; } void DS_DestroySet(DisjointSet* Set){ free(Set); } | cs |
3. Test_DisjointSet.c
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | #include "DisjointSet.h" int main(){ int a=1,b=2,c=3,d=4; DisjointSet* Set1=DS_MakeSet(&a); DisjointSet* Set2=DS_MakeSet(&b); DisjointSet* Set3=DS_MakeSet(&c); DisjointSet* Set4=DS_MakeSet(&d); // ( 1 ) ( 2 ) ( 3 ) ( 4 ) printf("Set1==Set2 ? : %d\n",DS_FindSet(Set1)==DS_FindSet(Set2)); DS_UnionSet(Set1,Set3); // ( 1 , 3 ) ( 2 ) ( 4 ) printf("Set1==Set3 ? : %d\n",DS_FindSet(Set1)==DS_FindSet(Set3)); DS_UnionSet(Set3,Set4); // ( 1 , 3 , 4 ) ( 2 ) printf("Set3==Set4 ? : %d\n",DS_FindSet(Set3)==DS_FindSet(Set4)); return 0; } | cs |
실행결과
반응형
'개인 서재..* > 알고리즘' 카테고리의 다른 글
[C언어] 삽입 정렬(Insertion Sort) (0) | 2017.04.24 |
---|---|
[C언어] 버블 정렬(Bubble Sort) (0) | 2017.04.24 |
[C언어] 수식 트리 계산 (0) | 2017.04.24 |
[C언어] 이진트리 순회 표현 (0) | 2017.04.24 |
[C언어] 일반 트리 구조 (0) | 2017.04.23 |
댓글
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 겨드랑이 지방종
- 구글애드센스 혐오광고
- 스텐팬 세척
- 물이 안나와요
- 피지낭종 수술후기
- 제습기 후기
- 스텐팬 탄 자국
- 타르코프 스파 관광
- 싱크대 단수
- 스파 파트 4
- 피지낭종 제거수술
- 휘센 제습기
- 급수에러
- 사마귀광고 제거
- 친구들호캉스
- 피지낭종 후기
- 스텐팬 갈색
- 타르코프 스파 투어
- 겨드랑이 혹
- 구글애드센스 광고차단
- 건강검진 겨드랑이
- 아난티앳강남
- 스파관광 파트4
- 겨드랑이 멍울
- 겨드랑이 초음파
- 스파투어 파트4
- 스텐팬 갈변
- 혐오광고 제거
- 자취요리
- 제습기 내돈내산
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함