12.2构建FP 树

2023-07-21 08:08:3626:26 165
声音简介

12.2 构建FP树


树的数据结构:

class treeNode:

def __init__(self, nameValue, numOccur, parentNode):

self.name = nameValue

self.count = numOccur

self.nodeLink = None #用于链接相似的元素项

self.parent = parentNode #指向父节点的指针

self.children = {}


def inc(self, numOccur):

    self.count += numOccur


def disp(self, ind=1): #将树以文本形式显示

    print " "*ind, self.name, " ",self.count

    for child in self.children.values():

    child.disp(ind+1)


构建树的图示过程

#================FP树构建函数=============================

def updateTree(items, inTree, headerTable, count):
    if items[0] in inTree.children:                 #测试第一个元素项是否作为子节点存在
        inTree.children[items[0]].inc(count)
    else:
        inTree.children[items[0]] = treeNode(items[0], count, inTree)           #创建树的新节点
        if headerTable[items[0]][1] == None:
            headerTable[items[0]][1] = inTree.children[items[0]]                #树上的新的节点的值更新
        else:
            updateHeader(headerTable[items[0]][1], inTree.children[items[0]])   #如果节点已经有了,这两个进行链接下
    if len(items) > 1:
        updateTree(items[1::], inTree.children[items[0]], headerTable, count)   #添加了首节点,递归添加剩下的节点
 
def updateHeader(nodeToTest, targetNode):
    while (nodeToTest.nodeLink !=None):
        nodeToTest = nodeToTest.nodeLink
    nodeToTest.nodeLink = targetNode



数据辅助函数,讲列表转化为字典:



用户评论

表情0/300
喵,没有找到相关结果~
暂时没有评论,下载喜马拉雅与主播互动
猜你喜欢
国家构建

弗朗西斯·福山的名字对于中国读者并不陌生。他因1989年发表《历史的终结?》而名扬世界(1992年福山将最初的文章扩展成书,即《历史的终结与最后的人》,下文简称...

by:启辰说过要听话

心智的构建

心智的构建:脑如何创造我们的精神世界序言:真正的科学家不研究心智心理学家害怕聚会硬科学与软科学...

by:究是明理

重新构建零售

新零售已来,我们共同探讨传统行业的机会点。在学习和新零售实践的过程中,有新的体会。和大家分享完好的书籍后,更有好的案例给大家进行分享,希望大家多支持和分享。谢谢...

by:零售新语

构建交易系统

1、以全天候交易思想为指导,依据大类资产宏观周期轮动理论,探讨如何构建适合中国国情的证券和衍生品非线性险益平衡博弈系统。2、知道并不等于做到。在知道和做到中间,...

by:幻海諵譁

安利互相网|网络构建

慧儿老师徽信:Jessi59,安利的结果非常好,就是这条创业之路有3大痛点:①顾客难开发,顾客不忠诚,②伙伴起步挣不到钱,人才流失率高,③开会学习出差费用大,很...

by:新安利轻创教练慧儿

构建能力提升的天梯

一个系统化快速构建能力提升内在动力系统的方法论。七步构建起能力提升的阶梯。

by:时空书馆

交易系统构建基础

从交易的基本定义说起,向大家汇报一下,为什么做投资要构建交易系统。并对成熟交易系统的特征、构建交易系统的心法、构建交易系统的方法、交易系统的修正、交易系统构建完...

by:幻海諵譁

设计与构建静态网站

课程介绍:本套课程是国内首次将HTML5和CSS3内容进行整合教学,划分成如文本、列表、表格、表单、定位、布局等15个场景进行学习,使得学员可以更贴近实际开发情...

by:e安在线