node3 = TreeNode(data=3)
node4 = TreeNode(data=4)
node5 = TreeNode(node3, node4, 5)
node6 = TreeNode(node2, node5, 6 )
node7 = TreeNode(node6, 0, 7)
node8 = TreeNode(data=8)
root = TreeNode(node7, node8, 'root')
bt = BTree(root)
次のバイナリ ツリーが生成されます
コードをコピーします
コードは次のとおりです次のように: # 生成されたバイナリ ツリー
# ------------------------
# root
# 7 8
# 6
# 2 5
# 1 3 4
#
# ---------------- ------ ---
手動でノードを 1 つずつ指定するだけでなく、ユーザー入力を受け入れてバイナリ ツリー ノードを追加する create メソッドを作成することもできます。 。 。接頭辞メソッドを使用して追加します。コードは次のとおりです。
コードをコピーします
コードは次のとおりです。 # - *- コーディング: utf - 8 - *-
self.right = right
self.data = data
class BTree(object):
def __init__(self, root=0):
self.root = root
def is_empty(self):
self.root が 0 の場合:
return True
else:
return False
def create (self):
temp = input('値を入力:')
temp が '#' の場合:
return 0
treenode = TreeNode(data=temp)
self.root が 0 の場合:
self.root =treenode
treenode.left = self.create()
treenode.right = self.create()
create を使用してバイナリ ツリーを作成します
コードをコピー
コードは次のとおりです:
# 対話型インタープリターでファイルを実行します
bt = BTree ()bt.create()値を入力:9
値を入力:7
値を入力:6
値を入力:2
値を入力してください:1
値を入力してください:'#'
値を入力してください:'#'
値を入力してください:'#'
値を入力してください:5
値を入力してください: 3
値を入力:'#'
値を入力:'#'
値を入力:4
値を入力:'#'
値を入力:'#'
値を入力:'#'
値を入力:8
値を入力:'#'
値を入力:'#'
作成でも同様の効果が得られます