Lucky_232 2022-11-16 21:25 采纳率: 0%
浏览 4
已结题

类:二叉树,节点与引用

问题遇到的现象和发生背景

左右子树已经有插入但是没打印出来

用代码块功能插入代码,请勿粘贴截图

1.用pycharm自带的类
from pythonds.trees import BinaryTree
r = BinaryTree('a')
r.getRootVal()
print(r.getRootVal())

r.insertLeft('b')
print(r.getLeftChild())

r.insertRight('c')
r.insertRight('e')
print(r.getRightChild)
2.编写的类

# 面向对象编程:定义一个树类

class BinaryTree():

def init(self, rootobj):

self.key = rootobj

self.leftchild = None

self.rightchild = None

def insertleft(self, newnode):

if self.leftchild == None:

self.leftchild = BinaryTree(newnode) # ?

else:

t = BinaryTree(newnode)

t.leftchild = self.leftchild

self.leftchild = t

return r

def insertright(self, newnode):

if self.rightchild is None:

self.rightchild = BinaryTree(newnode)

else:

t = BinaryTree(newnode) # BinaryTree(newnode), self.rightchild = self.rightchild, BinaryTree(newnode)

t.rightchild = self.rightchild #错误的:需要创造BinaryTree()

self.rightchild = t

return r

# 二叉树的访问函数

def getrootval(self):

return self.key

def setrootval(self, obj):

self.key = obj

def getleftchild(self):

return self.leftchild

def getrightchild(self):

return self.rightchild

这两种都不能实现左右子树的扩增

运行结果及报错内容

Connected to pydev debugger (build 213.6777.50)
a
<pythonds.trees.binaryTree.BinaryTree object at 0x0000020FD7E30DF0>
<bound method BinaryTree.getRightChild of <pythonds.trees.binaryTree.BinaryTree object at 0x0000020FD7E48C70>>

Process finished with exit code 0

我想要达到的结果

成功打印我的对左右子树的扩列

  • 写回答

0条回答 默认 最新

    报告相同问题?

    问题事件

    • 系统已结题 11月24日
    • 创建了问题 11月16日

    悬赏问题

    • ¥15 代码在keil5里变成了这样怎么办啊,文件图像也变了,
    • ¥20 Ue4.26打包win64bit报错,如何解决?(语言-c++)
    • ¥15 clousx6整点报时指令怎么写
    • ¥30 远程帮我安装软件及库文件
    • ¥15 关于#自动化#的问题:如何通过电脑控制多相机同步拍照或摄影(相机或者摄影模组数量大于60),并将所有采集的照片或视频以一定编码规则存放至规定电脑文件夹内
    • ¥20 深信服vpn-2050这台设备如何配置才能成功联网?
    • ¥15 Arduino的wifi连接,如何关闭低功耗模式?
    • ¥15 Android studio 无法定位adb是什么问题?
    • ¥15 C#连接不上服务器,
    • ¥15 angular项目错误