以文本方式查看主题 - 中文XML论坛 - 专业的XML技术讨论区 (http://bbs.xml.org.cn/index.asp) -- 『 理论计算机科学 』 (http://bbs.xml.org.cn/list.asp?boardid=64) ---- 频繁子树挖掘算法 (http://bbs.xml.org.cn/dispbbs.asp?boardid=64&rootid=&id=49881) |
-- 作者:jianghai079 -- 发布时间:7/13/2007 5:23:00 PM -- 频繁子树挖掘算法 [color=#0099FF] 我最近因为准备要写文章,所有就用C++写了一个频繁子树的挖掘算法的程序,此算法是基于Apriori思想的(先找频繁一子树,再找频繁二子树,如此下去至到找完所有的频繁子树),程序的特色如下: 1、根据树结构的特点设计出一个非常好的数据结构(我把它叫做等价子树森林eqforest,当然在等价子树森林下还有其它的数据结构)来挖掘频繁子树,而只需扫描一次数据库,这与Apriori需要多次扫描数据库不同的,对于数据量大的数据库,能极好地减少程序的运行时间(与硬盘打交道)。 2、对候选子树的计数提供了非权重(一颗候选子树在原树中出现了一次以上,此候选子树的计数只加1)和权重(候选子树所有的出现次数)的两种方式。 3、能够自定义数据的输入输出文件、支持数。 4、能够求出程序的运行时间及各个频繁子树的运行时间。 5、根据输出结果的详细程度,能够自定义数据的输出格式,实验显示更简的输出能够节省很大一部分时间。 6、定义树结点的符号为string型,便于以后能够适应更多的树符号。 7、为完成数据结构的设计,使用了标准模板库stl。 8、因为需要输入数据库,后来写了一个随机树生成程序,能够生成规范的树结构。 9、这个随机树生成程序能够自定义输出文件、随机树的个数、树的高度、树的扇出(分支数)、树结点的符号(数字,字母,字符串都行等等)。 10、以上的两个程序即有程序默认的参数设置,也提供了配置文件来设置各个参数(这样就免了在程序运行中输入),这些都可以在程序运行中进行选择。 11、现在两个程序已经能够在.net 2003的Win32控制台项目下准确地运行出结果了。 |
W 3 C h i n a ( since 2003 ) 旗 下 站 点 苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》 |
31.250ms |