まず、二分探索木のノードを表すクラスを作成します。各ノードは値と左右の子ノードを持ちます。
class TreeNode:
def __init__(self, value):
self.value = value
self.left = None
self.right = None
次に、二分探索木を構築するための関数を作成します。以下の例では、リストから二分探索木を構築します。
def construct_bst(nums):
if not nums:
return None
mid = len(nums) // 2
root = TreeNode(nums[mid])
root.left = construct_bst(nums[:mid])
root.right = construct_bst(nums[mid + 1:])
return root
この関数は、与えられたリスト nums
をソートした状態で二分探索木を構築します。
二分探索木を出力するための関数を作成します。以下の例では、二分探索木を中間順巡回(in-order traversal)しながら、ノードの値を出力します。
def print_bst(root):
if root:
print_bst(root.left)
print(root.value)
print_bst(root.right)
これで、二分探索木を出力する準備が整いました。以下は、コードを実行する例です。
nums = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
bst = construct_bst(nums)
print_bst(bst)
この例では、リスト [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
から二分探索木を構築し、その内容を出力しています。
以上が、Pythonで二分探索木を出力する方法です。この方法を使えば、二分探索木の内容を確認することができます。
タグとしては、「Python」、「二分探索木」、「コーディング例」などが適切です。また、このコードを応用して、二分探索木の挿入や検索、削除などの操作を行うこともできます。