liangjian

积分:315
上传文件:3
下载次数:44
注册日期:2006-04-27 20:09:21

上传列表
K_select.rar - 描述:Design a program to find k longest itemsets in a database of N records. 分析:因为题目的要求是找到k longest itemsets,在本程序中为了模拟这个目的,我对算法进行简单化,即简化为这样一个题目:在若干个比较大的数字中找到k 个最大的数字,这个等价于在若干记录中找到k个最长的记录集,因为k个最大的数字自然也是最长的。 思想: 1、数据由程序随机生成,保存到文件out.txt中,以进行读取。 2、这里的方法为堆排序操作,对所有的输入放置在out.txt的文件中,并 逐一读入,对所有数据建造大根堆。 3、最终结果以文件的方法输出:out1.txt为选定的K-项集。 4、数值大的元素放在后部,输出时,从最后一个元素开始。 5、所有的数据都由文件调入内存进行堆筛选,在得到K-项集后再送回到文件中去,而若要是在实际数据库中则是把关键字调入内存进行筛选操作。 程序的详细说明,因为涉及许多细节,所以附在原代码中,因为效率的提高往往是许多细节的改进,而这些必须定量来考察。 实验环境:Win2000,Visual C++6.0,MS Access2000.mfc7.0情况下能否运行没有测试 ,2006-05-08 21:27:16,下载23次
partition2.rar - 实验描述:分布式数据库的算法partition的具体实现。即通过该算法找到关系数据库最优分裂点(2个),使得结果最优。 1、 首先根据所输入的attribute usage matrix得到AQ( ) 2、 对CA矩阵中划分点预先设在n-1处,并将属性列分成3个集合,TA和BA和MA, 3、 确定集合TQ、BQ,MQ和OQ,其中TQ={ qj| AQ(qi) TA},BQ= TQ={ qj| AQ(qi) BA}, MQ={ qj| AQ(qi) MA},OQ=Q-{TQ BQ}。 4、 计算出CTQ、CBQ、CMQ、COQ这些值,其中CTQ= ,CBQ= ,CMQ= ,COQ= 5、 通过划分点的第次移动分别计算出z=CTQ*CBQ*CMQ-COQ3 6、 对取到的z的最大值处标记,为分割点 7、 对CA进行调整,重复计算得到最终z的最大值点,对CA矩阵进行划分 对上述算法进行修改,将得到的最大z值的分割点和次大的分割点都记录下来,得到两个分割,则将原有的属性集划分成三部分。 ,2006-05-08 21:25:56,下载25次
partition1.rar - 实验描述:分布式数据库的算法partition的具体实现。即通过该算法找到关系数据库最优分裂点,使得结果最优。 算法思想: 1、 首先根据所输入的attribute usage matrix得到AQ( ) 2、 对CA矩阵中划分点预先设在n-1处,并将属性列分成两个集合,TA和BA,TA中的元为:{ A1 、A2 …… An-1 },BA中的元素为:{ An} 3、 确定集合TQ、BQ和OQ,其中TQ={ qj| AQ(qi) TA},BQ= TQ={ qj| AQ(qi) BA}, OQ=Q-{TQ BQ}。 4、 计算出CTQ、CBQ、COQ这些值,其中CTQ= ,CBQ= ,COQ= 5、 通过划分点的第次移动分别计算出z=CTQ*CBQ-COQ2 6、 对取到的z的最大值处标记,为分割点 7、 对CA进行调整,重复计算得到最终z的最大值点,对CA矩阵进行划分 8、 对上述算法进行修改,将得到的最大z值的分割点和次大的分割点都记录下来,得到两个分割,则将原有的属性集划分成三部分。 该算法的目的是找到独立存取的属性集合或者分别的应用集。比如说,如果可以找到两个属性A1,A2,他们只是被q1读取,而A3,A4被q2,q3读取,这样在分裂的时候可以确定。算法就是找到这些组。另外为了简单化起见,我命令refj(qi)全部等于1.,2006-05-08 21:23:41,下载29次

近期下载

收藏