亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? k-means.cpp

?? kmeans聚類算法c版本 應用于三維數據操作
?? CPP
字號:


#include <stdio.h> 
#include <math.h>
#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)
{
    int i=0;
    int j=0;    
    srand( (unsigned)time( NULL ) );
    for( i=0;i<k;++i)//隨機生成k個數
    {
        int a=rand()%n;//判重
        
        for(j=0;j<i;j++)
            if(center[j]==a)//重復
                break;

        if(j>=i)//如果不重復,加入
            center[i]=a;
        else
            i--;//如果重復,本次重新隨機生成

    }     
}
 
//返回距離最小的質心的序號
int GetIndex(double value,double * center)
{
    int i=0;
    int index=i;//最小的質心序號
    double min=fabs(value-center[i]);//距質心最小距離
    for(i=0;i<K;i++)
    {
        if(fabs(value-center[i])<min)//如果比當前距離還小,更新最小的質心序號和距離值
        {
             index=i;
             min=fabs(value-center[i]);
        }
    }
    return index;
}
 

void CopyCenter()//拷貝質心數組到副本
{
    int i=0;
    for(i=0;i<K;i++)
        CenterCopy[i]=Center[i];
}

void InitCenter()//初始化質心,隨機生成法
{
    int i=0;
    CreateRandomArray(N,K,CenterIndex);//產生隨機的K個<N的不同的序列
    for(i=0;i<K;i++)
    {
        Center[i]=AllData[CenterIndex[i]];//將對應數據賦值給質心數組
    }
    CopyCenter();//拷貝到質心副本
}

void AddToCluster(int index,double value)//加入一個數據到一個Cluster[index]集合
{
    Cluster[index][Top[index]++]=value;//這里同進棧操作
} 

//重新計算簇集合
void UpdateCluster()
{    
    int i=0;
    int tindex;
    //將所有的集合清空,即將TOP置0
    for(i=0;i<K;i++)
        Top[i]=0;
    for(i=0;i<N;i++)
    {
        tindex=GetIndex(AllData[i],Center);//得到與當前數據最小的質心索引
        AddToCluster(tindex,AllData[i]);        //加入到相應的集合中 
    }
}

void UpdateCenter()//重新計算質心集合,對每一簇集合中的元素加總求平均即可
{
    int i=0;
    int j=0;
    double sum=0;
    for(i=0;i<K;i++)
    {
        sum=0;  //計算簇i的元素和   
       
        for(j=0;j<Top[i];j++)
             sum+=Cluster[i][j];
        if(Top[i]>0)//如果該簇元素不為空
           Center[i]=sum/Top[i];//求其平均值
    }
}

int IsEqual(double * center1 ,double * center2)//判斷2數組元素是否相等
{
    int i;
    for(i=0;i<K;i++)
    {
         if(fabs(center1[i]!=center2[i]))
             return FALSE;
    }
    return TRUE;
}

void Print()//打印聚合結果
{
    int i,j;
    printf("-------------------------------------- ");
    for(i=0;i<K;i++)
    {
         printf("第%d組: 質心(%f) ",i,Center[i]);
          for(j=0;j<Top[i];j++)
          {
              printf("%f ",Cluster[i][j]);
          }           
    }     
}

void InitData()//初始化聚類的各種數據
{
    int i=0;
    int a;
    printf("輸入數據個數: ");     
    scanf("%d",&N);
    printf("輸入簇個數: ");     
    scanf("%d",&K);    
    if(K>N)
    {
        exit(0);
    }
    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;i++)
    {
        Cluster[i]=(double *)malloc(sizeof(double)*N);
        Top[i]=0;
    }
    printf("輸入%d數據: ",N);
    for(i=0;i<N;i++)
    {
        scanf("%d",&(a));
        AllData[i]=a;
    }
    InitCenter();//初始化質心集合      
    UpdateCluster();//初始化K個簇集合
     
}
/*
算法描述:
K均值算法:
    給定類的個數K,將N個對象分到K個類中去,
    使得類內對象之間的相似性最大,而類之間的相似性最小。
*/
main()
{
    int Flag=1;//迭代標志,若為false,則迭代結束
    int i=0;
     InitData();//初始化數據      
     while(Flag)//開始迭代
     {
         UpdateCluster();//更新各個聚類
         UpdateCenter();//更新質心數組
         if(IsEqual(Center,CenterCopy))//如果本次迭代與前次的質心聚合相等,即已收斂,結束退出
         {
             Flag=0;
         }
         else//否則將質心副本置為本次迭代得到的的質心集合
         {
             CopyCenter();//將質心副本置為本次迭代得到的的質心集合
         }
     }
     Print();//輸出結果
     getchar();
     getchar();
     
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人av电影在线| 色琪琪一区二区三区亚洲区| 亚洲免费av在线| 欧美成人一级视频| 91福利社在线观看| 国产成人av资源| 美国十次了思思久久精品导航| 18欧美乱大交hd1984| 欧美va亚洲va香蕉在线| 欧美在线啊v一区| 成人激情图片网| 国产毛片精品一区| 蜜臀久久99精品久久久久宅男| 亚洲激情一二三区| 国产精品久久久久久久久免费桃花 | 成人一道本在线| 久久精品理论片| 午夜一区二区三区视频| 亚洲色图欧洲色图| 亚洲国产精品v| 久久只精品国产| 7777精品伊人久久久大香线蕉| 91黄色免费观看| 91免费版在线| 成人app下载| 成人精品一区二区三区中文字幕| 麻豆精品久久精品色综合| 日韩精品乱码av一区二区| 曰韩精品一区二区| 亚洲美女视频在线| 日韩理论电影院| 日韩毛片视频在线看| 自拍偷拍亚洲欧美日韩| 国产精品麻豆视频| 一区视频在线播放| 中文字幕在线播放不卡一区| 欧美国产激情一区二区三区蜜月 | 久久久久久久一区| 日韩免费看的电影| 精品毛片乱码1区2区3区| 精品少妇一区二区三区视频免付费 | 91黄色免费观看| 欧美亚洲动漫精品| 欧美日韩亚洲国产综合| 欧美日韩电影一区| 555www色欧美视频| 日韩一级免费观看| 久久综合九色综合97_久久久| 久久嫩草精品久久久精品一| 国产亚洲精品超碰| 国产精品久久久久影视| 中文字幕一区二区三| 亚洲三级在线观看| 五月婷婷久久综合| 久久精品国产免费| 国产精品88888| 99精品欧美一区二区蜜桃免费| 色www精品视频在线观看| 欧美性大战久久久| 日韩一区二区免费电影| 久久一夜天堂av一区二区三区| 国产精品天美传媒| 亚洲国产视频一区二区| 久久精品999| 9色porny自拍视频一区二区| 欧美视频在线播放| 欧美一区二区三区性视频| 亚洲综合色视频| 无码av中文一区二区三区桃花岛| 久久精品国产99国产精品| 粉嫩av一区二区三区在线播放| 色综合中文综合网| 91麻豆精品国产91久久久 | 一本大道av伊人久久综合| 欧美日韩国产精选| 久久综合五月天婷婷伊人| 国产精品久久久久影院色老大| 亚洲图片欧美视频| 久久99精品视频| 91丝袜美女网| 日韩一二三四区| 亚洲天堂免费看| 精品一区二区在线免费观看| 99久久亚洲一区二区三区青草| 欧美天堂一区二区三区| 久久综合九色综合97婷婷| 一区二区三区在线观看视频| 看电影不卡的网站| 欧日韩精品视频| 国产人伦精品一区二区| 午夜久久久久久久久| 不卡的电影网站| 欧美一区二区在线不卡| 国产精品家庭影院| 久久超级碰视频| 欧美午夜精品久久久久久孕妇| 国产亚洲自拍一区| 五月天网站亚洲| 99久免费精品视频在线观看| 欧美不卡在线视频| 亚洲一区二区三区四区不卡| 成人免费视频视频在线观看免费 | 国产一本一道久久香蕉| 69精品人人人人| 亚洲特黄一级片| 国产精品 欧美精品| 678五月天丁香亚洲综合网| 亚洲激情一二三区| av在线播放不卡| 国产丝袜在线精品| 狠狠狠色丁香婷婷综合久久五月| 欧美日韩免费不卡视频一区二区三区 | 99久久久精品| 久久精品视频一区二区| 蜜臀av国产精品久久久久| 欧美伊人久久大香线蕉综合69| 国产午夜精品久久| 七七婷婷婷婷精品国产| 欧美日韩黄色一区二区| 亚洲精品国产a久久久久久| 成人听书哪个软件好| 久久一区二区视频| 国产一区欧美日韩| 久久综合九色综合欧美98| 裸体在线国模精品偷拍| 日韩免费视频一区| 蜜臀久久99精品久久久画质超高清 | 婷婷开心久久网| 欧美日韩三级视频| 亚洲va国产天堂va久久en| 在线免费观看日韩欧美| 中文字幕中文字幕在线一区| 成人美女在线观看| 国产精品五月天| 成人福利在线看| 国产精品福利av| 91啪亚洲精品| 亚洲男女一区二区三区| 色999日韩国产欧美一区二区| 国产精品不卡一区| 91理论电影在线观看| 亚洲黄色录像片| 欧美日本乱大交xxxxx| 日本午夜精品一区二区三区电影 | xf在线a精品一区二区视频网站| 激情五月激情综合网| 久久蜜臀精品av| 99天天综合性| 亚洲成人免费看| 日韩一区二区电影| 国产美女视频91| 中文字幕一区二区三区不卡| 91九色02白丝porn| 日韩极品在线观看| 久久一留热品黄| 99久久精品99国产精品| 亚洲高清久久久| 欧美大片在线观看一区二区| 国产精品一区二区久激情瑜伽| 中文字幕在线免费不卡| 欧美日韩一区二区不卡| 麻豆成人综合网| 欧美激情一区在线观看| 色狠狠桃花综合| 免费高清在线视频一区·| 久久久综合激的五月天| 91在线丨porny丨国产| 午夜天堂影视香蕉久久| 精品1区2区在线观看| 成人黄色小视频在线观看| 亚洲妇熟xx妇色黄| 国产亚洲精品bt天堂精选| 色综合天天做天天爱| 乱一区二区av| 1000精品久久久久久久久| 欧美乱妇20p| 粉嫩av亚洲一区二区图片| 亚洲一区中文在线| xf在线a精品一区二区视频网站| 91丨九色丨蝌蚪富婆spa| 日本在线观看不卡视频| 国产精品国产自产拍高清av| 5566中文字幕一区二区电影| 成人午夜碰碰视频| 日韩av一级电影| 亚洲欧美一区二区不卡| 久久这里都是精品| 91国模大尺度私拍在线视频| 国内精品伊人久久久久av影院| 国产精品二三区| 精品少妇一区二区| 欧美性xxxxxxxx| 成人激情开心网| 精品一区在线看| 亚洲国产一区二区在线播放| 欧美国产一区视频在线观看| 日韩一区二区影院| 99精品热视频| 国产传媒一区在线| 日本一道高清亚洲日美韩|