UserCF算法主要流程:主要全局变量:constintusersum=6040;//用户总数constintitemsum=3952;//项目总数constintN=10;//为用户推荐前N个物品inttrainuser[usersum][itemsum]={0};//训练集合useritemrate矩阵inttest[usersum][itemsum]={0};//测试集合useritemrate矩阵struct_simi{doublevalue;//相似值intnum;//相似用户号};_simisimiUser[usersum][usersum];//排序后的相似性矩阵doubletrainuserItem[usersum][itemsum]={0.0};//useritem兴趣程度矩阵intrecommend[usersum][N]={0};//为每个用户推荐N个物品拆分数据集函数intSplitData(intm,intk)主要流程:将数据集拆分为测试集test和训练集trainuser,其中1/m为测试集,取不同的k<=m-1值在相同的随即种子下可得到不同的测/训集合计算用户之间相似度函数doubleSimility(int*Ua,int*Ub)主要流程:计算用户Ua和Ub的相似性,返回值为Ua和Ub的相似度用户相似性矩阵排序函数intsort(double*simArr,_simi*simStruct)主要流程:根据相似性由高到低排序,每行第一个是自己用户i对物品j预测兴趣程度函数doublegetUserLikeItem(inti,intj,intk)主要流程:利用k个最近邻来计算推荐函数intgetRecommend()主要流程:通过物品兴趣程度,推荐前N个