python之二叉树

二叉树是数据结构中的一种数据结构,在用Python搭建决策树模型时,发现需要先实现多叉树.

#usr/bin/python
#-*-coding:utf-8-*-
#面对对象编程:思想:面对对象永远不能包含对象
#二叉树:
class BTree:
    root=None
    class Node:
        data=None
        left=None
        right=None
        def zhongxu(self):
            if self.left is not None:
                self.left.zhongxu()
            print(self.data)
            if self.right is not None:
                self.right.zhongxu()
        def add(self,node):
            if self.data > node.data:
                if self.left is None:
                    self.left=node
                else:
                    self.left.add(node)
            if self.data < node.data:
                if self.right is None:
                    self.right=node
                else:
                    self.right.add(node)
    def add(self,data):
        node=self.Node()
        node.data=data
        if self.root is None:
            self.root=node
        else:
            self.root.add(node)
    def zhongxu(self):
        self.root.zhongxu()
if __name__ == '__main__':
    btree = BTree()
    btree.add(13)
    btree.add(7)
    btree.add(21)
    btree.add(11)
    btree.add(17)
    btree.add(9)
    btree.add(14)
    btree.add(5)
    btree.add(3)
    btree.add(10)
    btree.zhongxu()



小练习:如果有100个小孩在围成一圈做游戏,从头开始报数每当喊道第三个人的时候,那人将退出游戏.问最后一个是哪个小孩?

xiaohai=[i for i in range(1,11)]
count=0
while True:
    if len(xiaohai)==1:
        break
    count+=1
    if count%3==0:
        xiaohai.pop(0)
    else:
        xiaohai.append(xiaohai.pop(0))#pop(0)的意思删除第一个小孩
    print('每次报数的顺序是:',xiaohai)
print('剩余最后一个小孩是:',xiaohai,'号')

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值