鱼C论坛

 找回密码
 立即注册
查看: 3117|回复: 1

帮忙改下这二叉树

[复制链接]
发表于 2013-11-18 21:32:16 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 一片模糊望尘世 于 2013-11-27 13:02 编辑

先序创建二叉树,约定字符0代表空节点
class Node:
    def __init__(self):
        self.data = None
        self.lchild = None
        self.rchild = None

def create(r,data):
    while data:
        if data[0]!='0':
            r.data = data.pop(0)
            r.lchild = Node()
            create(r.lchild,data)
            r.rchild = Node()
            create(r.rchild,data)
        else:
            r = None
            data.pop(0)
            return

n = Node()
create(n,list('ab00c00'))
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2013-11-27 13:00:30 | 显示全部楼层
本帖最后由 一片模糊望尘世 于 2013-11-27 13:01 编辑

哎……这没人回答也没人顶贴,很不是滋味,最后贴上解决的代码,终结此贴,留也留不出个答案

class Node:
    def __init__(self,name):
        self.name = name
        self.lchild = None
        self.rchild = None

def buildTree(xulie):
    char = xulie.pop(0)
    if char == '.':
        return None
    else:
        node = Node(char)
        node.lchild = buildTree(xulie)
        node.rchild = buildTree(xulie)
        return node

def travel(tree):
    if tree:
        print(tree.name,end='')
        travel(tree.lchild)
        travel(tree.rchild)

xulie = list('AB..C..')
root = buildTree(xulie)
travel(root)




小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-11-10 00:17

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表