一、名词解释
1、多维:描述一个实体的不同属性,如:颜色、尺寸、价格
2、散列:每个属性有多个属性值,且数量不一
4、分组:对属性值进行组合,不可出现完全相同组合,且每组数量必须等于属性个数,用来表明一个唯一实体
3、交叉组合:每个属性中分别取值进行组合,顺序不受限制,必须保证每种可能性都有出现
4、原子:每个属性中具体值
二、变量定义说明
1、原子的出现次数 = $times
2、属性值个数 = $valCount
3、属性个数 = $attrCount
4、最长分组数 = $groupCount
5、出现最多次原子,的出现次数 = $maxTimes
6、组 = $group
6、组集合 = $groups
三、算法分析
1、原子出现次数$times;计算方式,连乘(数学表达式大约是这样):∏$times = a1 * a2 * …… * an
2、随意取,原子出现次数$maxTimes,及其对应属性的值个数$valCount
3、计算,分组总数$groupCount = $times $valCount
4、递归进行列填充
1)首列填充,每个属性值按照出现次数填充新的列表
2)其他列填充,分别针对其后面所有列表组合过程中出现次数计算,及分组数计算
5、重组完成最终分组。
1)遍历首列,取相应下标值&#