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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? 新建 文本文檔.c

?? 該壓縮包的內(nèi)容為用C語言編寫的K均值算法的源程序。K均值算法是用于數(shù)據(jù)分類的一種算法。
?? C
字號(hào):
#include <stdio.h> 
#include <math.h>
#include<stdlib.h>
#define TRUE            1
#define FALSE           0 
int N;//數(shù)據(jù)個(gè)數(shù)
int K;//集合個(gè)數(shù)
int * CenterIndex;//初始化質(zhì)心數(shù)組的索引
double * Center;//質(zhì)心集合
double * CenterCopy;//質(zhì)心集合副本
double * AllData;//數(shù)據(jù)集合
double ** Cluster;//簇的集合
int * Top;//集合中元素的個(gè)數(shù),也會(huì)用作棧處理


//隨機(jī)生成k個(gè)數(shù)x(0<=x<=n-1)作為起始的質(zhì)心集合
void CreateRandomArray(int n, int k,int * center)
{
    int i=0;
    int j=0;    
    srand( (unsigned)time( NULL ) );
    for( i=0;i<k;++i)//隨機(jī)生成k個(gè)數(shù)
    {
        int a=rand()%n;
        //判重
        for(j=0;j<i;j++)
        {
            if(center[j]==a)//重復(fù)
            {
                break;
            }
        }
        if(j>=i)//如果不重復(fù),加入
        {
            center[i]=a;
        }
        else
        {
            i--;
            //如果重復(fù),本次重新隨機(jī)生成
        }
    }     
}
 
//返回距離最小的質(zhì)心的序號(hào)
int GetIndex(double value,double * center)
{
    int i=0;
    int index=i;//最小的質(zhì)心序號(hào)
    double min=fabs(value-center[i]);//距質(zhì)心最小距離
    for(i=0;i<K;i++)
    {
        if(fabs(value-center[i])<min)//如果比當(dāng)前距離還小,更新最小的質(zhì)心序號(hào)和距離值
        {
             index=i;
             min=fabs(value-center[i]);
        }
    }
    return index;
}
 
//拷貝質(zhì)心數(shù)組到副本
void CopyCenter()
{
    int i=0;
    for(i=0;i<K;i++)
    {
        CenterCopy[i]=Center[i];
    }
}
//初始化質(zhì)心,隨機(jī)生成法
void InitCenter()
{
    int i=0;
    CreateRandomArray(N,K,CenterIndex);//產(chǎn)生隨機(jī)的K個(gè)<N的不同的序列
    for(i=0;i<K;i++)
    {
        Center[i]=AllData[CenterIndex[i]];//將對(duì)應(yīng)數(shù)據(jù)賦值給質(zhì)心數(shù)組
    }
    CopyCenter();//拷貝到質(zhì)心副本
}
//加入一個(gè)數(shù)據(jù)到一個(gè)Cluster[index]集合
void AddToCluster(int index,double value)
{
    Cluster[index][Top[index]++]=value;//這里同進(jìn)棧操作
} 

//重新計(jì)算簇集合
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);//得到與當(dāng)前數(shù)據(jù)最小的質(zhì)心索引
        AddToCluster(tindex,AllData[i]);        //加入到相應(yīng)的集合中 
    }
}
//重新計(jì)算質(zhì)心集合,對(duì)每一簇集合中的元素加總求平均即可
void UpdateCenter()
{
    int i=0;
    int j=0;
    double sum=0;
    for(i=0;i<K;i++)
    {
        sum=0;    
        //計(jì)算簇i的元素和
        for(j=0;j<Top[i];j++)
         {
             sum+=Cluster[i][j];
         }
        if(Top[i]>0)//如果該簇元素不為空
        {
           Center[i]=sum/Top[i];//求其平均值
        }
    }
}
//判斷2數(shù)組元素是否相等
int IsEqual(double * center1 ,double * center2)
{
    int i;
    for(i=0;i<K;i++)
    {
         if(fabs(center1[i]!=center2[i]))
         {
             return FALSE;
         }
    }
    return TRUE;
}
//打印聚合結(jié)果
void Print()
{
    int i,j;
    for(i=0;i<K;i++)
    {
         printf("第%d組: 質(zhì)心(%f) ",i,Center[i]);
          for(j=0;j<Top[i];j++)
          {
              printf("%f ",Cluster[i][j]);
          }           
    }     
}
//初始化聚類的各種數(shù)據(jù)
void InitData()
{
    int i=0;
    int a;
    printf("輸入數(shù)據(jù)個(gè)數(shù): ");     
    scanf("%d",&N);
    printf("輸入簇個(gè)數(shù): ");     
    scanf("%d",&K);    
    if(K>N)
    {
        exit(0);
    }
    Center=(double *)malloc(sizeof(double)*K);//為質(zhì)心集合申請(qǐng)空間
    CenterIndex=(int *)malloc(sizeof(int)*K);//為質(zhì)心集合索引申請(qǐng)空間
    CenterCopy=(double *)malloc(sizeof(double)*K);//為質(zhì)心集合副本申請(qǐng)空間
    Top=(int *)malloc(sizeof(int)*K); 
    AllData=(double *)malloc(sizeof(double)*N);//為數(shù)據(jù)集合申請(qǐng)空間
    Cluster=(double **)malloc(sizeof(double *)*K);//為簇集合申請(qǐng)空間
    //初始化K個(gè)簇集合
    for(i=0;i<K;i++)
    {
        Cluster[i]=(double *)malloc(sizeof(double)*N);
        Top[i]=0;
    }
    
     
}

void inputdata()
{
int i;
	FILE *f;
    if((f=fopen("data.txt","rb"))==NULL)
	{
	printf("Cannot open file\n");
    exit(1);
	}
    for(i=0;i<N;i++)
	{
    fscanf(f,"%3d",&AllData[i]);	
	}
    if(feof(f))
     printf("file read error!");
    fclose(f);	

    InitCenter();//初始化質(zhì)心集合      
    UpdateCluster();//初始化K個(gè)簇集合
}

/*
算法描述:
K均值算法:
    給定類的個(gè)數(shù)K,將N個(gè)對(duì)象分到K個(gè)類中去,
    使得類內(nèi)對(duì)象之間的相似性最大,而類之間的相似性最小。
*/
main()
{
    int Flag=1;//迭代標(biāo)志,若為false,則迭代結(jié)束
    int i=0;
     InitData();//初始化數(shù)據(jù)    
	 inputdata();
     while(Flag)//開始迭代
     {
         UpdateCluster();//更新各個(gè)聚類
         UpdateCenter();//更新質(zhì)心數(shù)組
         if(IsEqual(Center,CenterCopy))//如果本次迭代與前次的質(zhì)心聚合相等,即已收斂,結(jié)束退出
         {
             Flag=0;
         }
         else//否則將質(zhì)心副本置為本次迭代得到的的質(zhì)心集合
         {
             CopyCenter();//將質(zhì)心副本置為本次迭代得到的的質(zhì)心集合
         }
     }
     Print();//輸出結(jié)果
     getchar();
     getchar();
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩伦理电影网| 国产午夜亚洲精品理论片色戒| 亚洲免费色视频| 91麻豆国产香蕉久久精品| 亚洲免费成人av| 欧美日韩精品三区| 青青草97国产精品免费观看| 欧美大片顶级少妇| 成人网在线播放| 亚洲一卡二卡三卡四卡五卡| 777午夜精品视频在线播放| 久久99国内精品| 国产精品沙发午睡系列990531| 93久久精品日日躁夜夜躁欧美| 亚洲成av人片www| 欧美精品一区二区久久久| 成人午夜av影视| 亚洲高清免费在线| 久久日韩精品一区二区五区| 成人激情午夜影院| 三级欧美在线一区| 欧美国产精品一区| 欧美日韩精品一区二区三区蜜桃 | 国产一区中文字幕| 亚洲免费资源在线播放| 91精品国产91久久久久久一区二区| 久久99久久精品| 国产精品久久久久aaaa樱花 | 国产精品女主播av| 欧美精品成人一区二区三区四区| 国产99久久久久| 亚洲一级二级三级在线免费观看| 精品国产麻豆免费人成网站| 一本久久a久久免费精品不卡| 理论片日本一区| 亚洲男女毛片无遮挡| 精品国产1区2区3区| 色偷偷久久人人79超碰人人澡| 美女一区二区在线观看| 亚洲天堂精品在线观看| 精品国产91乱码一区二区三区| 91视频91自| 东方aⅴ免费观看久久av| 亚洲国产日韩综合久久精品| 国产精品视频线看| 日韩欧美成人激情| 欧美三区免费完整视频在线观看| 国产成人av一区| 蜜桃av一区二区| 亚洲国产精品天堂| 中文字幕在线不卡视频| 精品国产一区二区三区av性色| 欧美在线短视频| 99在线精品观看| 国产精一品亚洲二区在线视频| 午夜影院久久久| 一区二区三区四区亚洲| 国产色91在线| 精品免费视频.| 91麻豆精品国产91久久久久久久久| 色综合天天综合网天天看片| 丁香婷婷综合激情五月色| 久久国内精品自在自线400部| 亚洲高清免费观看| 亚洲综合在线电影| 亚洲欧美另类图片小说| 国产精品网站一区| 国产片一区二区| 国产亚洲欧美中文| 久久先锋影音av鲁色资源| 欧美大胆人体bbbb| 日韩一区二区三区视频| 91精品一区二区三区久久久久久 | 91精品国产品国语在线不卡| 欧美专区日韩专区| 欧美色网站导航| 欧美日韩不卡在线| 日韩午夜精品电影| 精品剧情在线观看| 久久奇米777| 欧美国产综合色视频| 中文字幕av不卡| 国产精品久久久久久福利一牛影视 | 亚洲精品日韩综合观看成人91| 国产精品久久久99| 亚洲欧美一区二区三区久本道91| 日韩理论片一区二区| 一区二区三区视频在线观看| 一区二区三区鲁丝不卡| 亚洲综合成人在线| 天天操天天色综合| 久久99国产精品免费| 国产精品中文字幕欧美| yourporn久久国产精品| 在线中文字幕不卡| 欧美一卡2卡3卡4卡| 欧美成人激情免费网| 欧美国产日本韩| 亚洲老司机在线| 日本午夜精品一区二区三区电影| 狠狠色综合日日| 成人午夜视频在线| 欧美日韩中文精品| 欧美精品一区二区三区很污很色的| 久久久久久亚洲综合影院红桃| 中文字幕一区二区不卡 | 欧美一区二区三区在线视频| 欧美mv日韩mv国产网站app| 国产欧美一区二区三区在线看蜜臀| 国产精品久久毛片av大全日韩| 亚洲电影中文字幕在线观看| 美洲天堂一区二卡三卡四卡视频 | 中文字幕五月欧美| 日本成人在线不卡视频| 成人丝袜视频网| 欧美日韩综合一区| 国产欧美综合在线观看第十页| 亚洲综合成人在线视频| 国产乱子伦视频一区二区三区 | 午夜久久久久久久久| 国产精品一卡二卡在线观看| 色婷婷亚洲综合| 精品国产免费一区二区三区香蕉 | 国产日产精品1区| 天天爽夜夜爽夜夜爽精品视频| 国产精品 欧美精品| 欧美色精品在线视频| 国产日韩欧美一区二区三区综合| 一区二区三区不卡视频在线观看| 国内精品国产三级国产a久久| 色94色欧美sute亚洲线路二 | 国产精品福利一区二区| 天堂精品中文字幕在线| 97久久人人超碰| 2欧美一区二区三区在线观看视频| 亚洲乱码精品一二三四区日韩在线| 麻豆国产欧美日韩综合精品二区| av一区二区三区在线| 精品国产亚洲在线| 香蕉久久一区二区不卡无毒影院 | 欧美高清dvd| 日韩理论片在线| 国产不卡免费视频| 日韩欧美色综合| 日韩中文字幕一区二区三区| 91麻豆精品视频| 中文字幕第一区综合| 久久99日本精品| 欧美人与禽zozo性伦| 亚洲色图都市小说| 国产精品系列在线观看| 精品国产免费视频| 久久精品噜噜噜成人88aⅴ| 欧美人妖巨大在线| 亚洲韩国一区二区三区| 在线亚洲高清视频| 亚洲激情图片一区| 99re这里都是精品| 自拍偷自拍亚洲精品播放| 成人午夜激情在线| 国产农村妇女毛片精品久久麻豆| 韩国女主播一区| 精品免费视频一区二区| 九色|91porny| 久久久久久免费| 国产馆精品极品| 国产亚洲欧美色| 成人黄色网址在线观看| 国产精品水嫩水嫩| 成人午夜私人影院| 国产精品大尺度| 91啪亚洲精品| 一区二区在线观看视频| 91精品办公室少妇高潮对白| 亚洲激情图片小说视频| 欧洲一区二区av| 午夜影视日本亚洲欧洲精品| 7777精品久久久大香线蕉| 日韩av不卡一区二区| 日韩视频免费直播| 国产电影精品久久禁18| 欧美激情在线观看视频免费| 成人a区在线观看| 亚洲人成在线播放网站岛国| 91久久精品网| 日韩二区三区四区| 久久免费视频一区| 99久久夜色精品国产网站| 亚洲激情图片qvod| 911精品国产一区二区在线| 精油按摩中文字幕久久| 中文字幕在线不卡| 欧美日韩一区视频| 久久福利视频一区二区| 中文字幕av一区二区三区免费看 | 日韩欧美成人午夜| 成人av高清在线| 亚洲一区二区三区在线看| 日韩一区二区三区av| 国产成人午夜片在线观看高清观看|