Python实现二叉树

二叉树是数据结构中非常重要的一种数据结构,在用Python搭建决策树模型时,发现需要先实现多叉树,于是回过头来,看了遍二叉树,有了如下的成果。我先构建了这样一个节点型数据,他有这样几个属性和功能:(1)属性:名称,数据,左子节点,右子节点,父节点,子节点个数(度);(2)方法:添加子节点和删除子节点,并且其子节点个数随之变化,子节点的父节点变成该节点。我需要使我的二叉树有这样功能:
摘要由CSDN通过智能技术生成

二叉树是数据结构中非常重要的一种数据结构,在用Python搭建决策树模型时,发现需要先实现多叉树,于是回过头来,看了遍二叉树,有了如下的成果。

我先构建了这样一个节点型数据,他有这样几个属性和功能:

(1)属性:名称,数据,左子节点,右子节点,父节点,子节点个数(度);

(2)方法:添加子节点和删除子节点,并且其子节点个数随之变化,子节点的父节点变成该节点。

我需要使我的二叉树有这样功能:

(1)属性:深度、根节点、所有可插节点字典{名称:数据}、所有节点字典{名称:数据}

(2)方法:

  • 利用现有的一个节点或一个有多层子节点的节点来生成树结构;
  • 随时计算树的深度;
  • 利用树的某一个节点生成子树;
  • 在树的某一个可插入节点上插入或删除子树;
  • 打印树结构

下面上代码

#-*-coding:utf-8-*-
'''
created by zwg in 2016-10-7
'''
import copy
class node:
    def __init__(self,name,data):
        self.data=data
        self.name=name
        self.Rchild=None
        self.Lchild=None
        self.child_number=0
        self.parent=None
    def add_Rchild(self,node):
        if self.Rchild is not None:
            self.Rchild=node
        else:
            self.Rchild=node
            self.child_number+=1
        node.set_parent(self)
    def drop_Rchild(self):
        self.Rchild=None
       
  • 7
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值