C均值演算法 課本的一道題

2021-06-14 21:26:51 字數 1843 閱讀 9661

也叫k均值演算法

模式識別書上的一道課後題

#include

#include

using namespace std;

#define c_num 2

#define data_num 20

struct datatype

;datatype data[20];

datatype z[2];

void inti(datatype* data,datatype* z)

data[0].x = 0.0;

data[0].y = 0.0;

data[1].x = 0.0;

data[1].y = 1.0;

data[2].x = 1.0;

data[2].y = 0.0;

data[3].x = 1.0;

data[3].y = 1.0;

data[4].x = 2.0;

data[4].y = 1.0;

data[5].x = 1.0;

data[5].y = 2.0;

data[6].x = 2.0;

data[6].y = 2.0;

data[7].x = 3.0;

data[7].y = 2.0;

data[8].x = 6.0;

data[8].y = 6.0;

data[9].x = 7.0;

data[9].y = 6.0;

data[10].x = 8.0;

data[10].y = 6.0;

data[11].x = 6.0;

data[11].y = 7.0;

data[12].x = 7.0;

data[12].y = 7.0;

data[13].x = 8.0;

data[13].y = 7.0;

data[14].x = 9.0;

data[14].y = 7.0;

data[15].x = 7.0;

data[15].y = 8.0;

data[16].x = 8.0;

data[16].y = 8.0;

data[17].x = 9.0;

data[17].y = 8.0;

data[18].x = 8.0;

data[18].y = 9.0;

data[19].x = 9.0;

data[19].y = 9.0;

z[0].x = data[0].x;

z[0].y = data[0].y;

z[1].x = data[1].x;

z[1].y = data[1].y;

}void selected(datatype* data,datatype* z)

else}}

int juge(datatype* data,datatype* z)

else

}newx1 = sumx1/n1;

newy1 = sumy1/n1;

newx2 = sumx2/n2;

newy2 = sumy2/n2;

if(z[0].x == newx1)

else

return flag;

}void main()

cout<<"新的類心"<

cout<<"z1 = "<

cout<<"z2 = "<

cout<<"***********************************="<

k++;

}for(int i = 0; i<20 ;i++)

}isodata好麻煩 = = 還沒整理出來

一道演算法題

兩個燒杯,乙個放糖乙個放鹽,用勺子舀一勺糖到鹽,攪拌均勻,然後舀一勺混合 物會放糖的燒杯,問你兩個燒杯哪個雜質多?一樣多吧 對的 為啥?是不是因為 糖和鹽本來就是均勻的 因為,就算不攪拌均,你放一勺過去,那邊放一勺不含雜質的過來,那麼都是一勺雜之 如果攪拌均勻的話也是一樣 小依 21 45 32 也...

一道演算法題

1.上午主要做了對翻譯任務的劃分,下午把 翻譯完畢。2.明天要講的演算法題 對乙個集合,求出其連續元素組成的子集中,和最大的子集 我對這道題的理解是 1 若集合中最小值大於0,意味著所有的都大於0,則最大的子集和,為所有值加起來 2 若集合中最大值小於0,意味著所有的都小於0,則最大的子集和,為集合...

一道演算法題

include using namespace std const int size 5 int max sub array const int a,int n,int m int max matrix const int a size int row,int col,int subsize int...