Apriori算法的C/C#实现(五)

2014-11-24 10:45:17 · 作者: · 浏览: 5
];

248 248 generatedCandidate[i+1]=temp;

249 249 }

250 250 }

251 251 }

252 252 }

253 253 }

254 254 int u=0;

255 255 int v=1;//用V来进行输出各种组合的标识数V=1表示正在进行输出

256 256 int c2[100]={0};

257 257 int flag1=1;

258 258 int counter=0;

259 259 int temp;

260 260 //getsupport

261 261 for (int k=2;b2[0][0]!='\0';k++)

262 262 {

263 263 u=0;v=1;

264 264 for (int i=0;i<100;i++)

265 265 {

266 266 c2[i]=0;

267 267 }

268 268 for (int i=0;i

269 269 {

270 270 for (int i1=i+1;i1

271 271 {

272 272 for (int j=0;j

273 273 {

274 274 if (b2[i][j]!=b2[i1][j])

275 275 {

276 276 flag1=0;

277 277 break;

278 278 }

279 279 }

280 280 //进行组合的部分

281 281 if (flag1==1&&b2[i][k-2]!=b2[i1][k-2])

282 282 {

283 283 for (int j2=0;j2

284 284 {

285 285 b21[u][j2]=b2[i][j2];

286 286 }

287 287 b21[u][k-1]=b2[i1][k-2];

288 288 u++;

289 289 }

290 290 flag1=1;

291 291 }

292 292 }

293 293 counter=0;

294 294 for (int i=0;i

295 295 {

296 296 for (int i1=0;i1

297 297 {

298 298 for (int j1=0;j1

299 299 {

300 300 for (int j=0;TranL.r[i+1].item[j]!='\0';j++)

301 301 {

302 302 if (TranL.r[i+1].item[j]==b21[i1][j1])

303 303 counter++;

304 304 }

305 305 }

306 306 if (counter==k)

307 307 c2[i1]++;

308 308 counter=0;

309 309 }

310 310 }

311 311 j1=0;

312 312 temp=0;

313 313 //对U中情况进行选择,选出支持度计数大于2的

314 314 for (int i=0;i

315 315 {

316 316 if (c2[i]>=minSupport)

317 317 {

318 318