算法之并查集 C语言实现1
来源:互联网 发布:怎么打开淘宝网址链接 编辑:程序博客网 时间:2024/05/21 23:00
头文件 UnionFind.h
#ifndef UNIONFIND_H_INCLUDED#define UNIONFIND_H_INCLUDED#include "stdlib.h"#include "ASSERT.h"typedef struct{ int* id; int count;}Union;void unionFindInit(Union *un,int n);void freeUnion(Union *un);int unionFind(Union *un,int p);int isConnected(Union *un,int p,int q);void unionElements(Union *un,int p,int q);#endif // UNIONFIND_H_INCLUDED
c代码 UnionFind.c
include “UnionFind.h”
/**********************************************函数名:并查集的初始化*********************************************/void unionFindInit(Union *un,int n){ int i; un->count = n; un->id = (int*)malloc(n*sizeof(int)); for(i=0;i<n;i++){ un->id[i] = i; }}/**********************************************函数名:并查集将空间释放*********************************************/void freeUnion(Union *un){ free(un->id);}/**********************************************函数名:返回并查集中p的ID*********************************************/int unionFind(Union *un,int p){ assert(p >= 0 && p< un->count); return un->id[p];}/**********************************************函数名:判断并查集中p和q是否是一个集合*********************************************/int isConnected(Union *un,int p,int q){ return unionFind(un,p) == unionFind(un,q) ;}/**********************************************函数名:并查集的合并*********************************************/void unionElements(Union *un,int p,int q){ int i; int pID = unionFind(un,p); int qID = unionFind(un,q); if(pID == qID){ return ; } else{ for(i=0;i<un->count;i++){ if(pID == un->id[i]){ qID = un->id[i]; } } }}
0 0
- 算法之并查集 C语言实现1
- 算法之并查集 C语言实现2
- 算法之并查集 C语言实现3
- 并查集实现(C语言)
- C语言 并查集
- 不相交集 / 并查集(C语言实现)
- 算法之并查集
- 并查集(C语言)
- C语言 并查集基础
- C语言 并查集 压缩路径
- [算法] 并查集概念及其实现
- 使用并查集实现Kruscal算法
- Kruskal算法+并查集实现
- 并查集实现Kruskal算法
- Kruskal算法的并查集实现
- java实现并查集算法
- [容易] kruskal 算法并查集实现
- 并查集及其算法实现
- 求日期的前一天
- 减小C语言生成的执行文件大小的方法(嵌入式)
- Linux运维第二十一讲
- Yii添加富文本编辑器
- 编动态链接库时,提示 对‘dlopen’未定义的引用.该如何解决
- 算法之并查集 C语言实现1
- 【大话数据结构】——-数据结构概述
- 解决php读取路径问题
- 行内元素和块元素的区别
- 【十大经典数据挖掘算法】系列
- 第一个Servlet程序
- UVa 1146 Now or Later (2-SAT)
- android中的动画以及基本的形式
- orCAD原理图中显示封装信息