自己写的,用了递归的算法,思路就是一个个put,直到put出符合要求的退出即可。虽然解法没什么用,但过程中可以加深对复杂递归过程的理解,对思维有一定帮助,而且注释比较全面,感兴趣的同学可以了解一下,正经解法参考这个链接就好:https://blog.youkuaiyun.com/weixin_48264519/article/details/118037515?spm=1001.2014.3001.5502
from BTS import binarySearchTree
#里面用到的几个方法,和课程ppt里面一样的,代码太长,就不挂了
def Preorder(tree,alist): #把BTS的树结点先序遍历存放到列表
if tree:
alist.append(tree)
Preorder(tree.leftChild, alist)
Preorder(tree.rightChild, alist)
def insertBTS(bts,data,order): #将数据按照给定的BTS框架插入
if data: #数据未全部装进BTS时,继续装入
size=len(bts) #记录bts尝试装入数据时的尺寸
for i in data: #每个数据都尝试插入一遍
bts[i]=1 #由于给