檢視文章
k-均值聚類演算法c語言版
2009-08-03 13:44
#include
#include
#define true 1
#define false 0
int n;//資料個數
int k;//集合個數
int * centerindex;//初始化質心陣列的索引
double * center;//質心集合
double * centercopy;//質心集合副本
double * alldata;//資料集合
double ** cluster;//簇的集合
int * top;//集合中元素的個數,也會用作棧處理
//隨機生成k個數x(0<=x<=n-1)作為起始的質心集合
void createrandomarray(int n, int k,int * center)
else
}
}//返回距離最小的質心的序號
int getindex(double value,double * center)}}
//判斷2陣列元素是否相等
int isequal(double * center1 ,double * center2)
center=(double *)malloc(sizeof(double)*k);//為質心集合申請空間
centerindex=(int *)malloc(sizeof(int)*k);//為質心集合索引申請空間
centercopy=(double *)malloc(sizeof(double)*k);//為質心集合副本申請空間
top=(int *)malloc(sizeof(int)*k);
alldata=(double *)malloc(sizeof(double)*n);//為資料集合申請空間
cluster=(double **)malloc(sizeof(double *)*k);//為簇集合申請空間
//初始化k個簇集合
for(i=0;i
k 均值聚類演算法c語言版
k 均值聚類演算法c語言版 include stdio.h include math.h define true 1 define false 0 intn 資料個數 intk 集合個數 int centerindex 初始化質心陣列的索引 double center 質心集合 double cen...
k 均值聚類演算法c語言版
include stdio.h include math.h define true 1 define false 0 intn 資料個數 intk 集合個數 int centerindex 初始化質心陣列的索引 double center 質心集合 double centercopy 質心集合副本...
k 均值聚類演算法c語言版
include stdio.h include math.h define true 1 define false 0 intn 資料個數 intk 集合個數 int centerindex 初始化質心陣列的索引 double center 質心集合 double centercopy 質心集合副本...