Pythonで二分探索木を出力する方法


まず、二分探索木のノードを表すクラスを作成します。各ノードは値と左右の子ノードを持ちます。

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」、「二分探索木」、「コーディング例」などが適切です。また、このコードを応用して、二分探索木の挿入や検索、削除などの操作を行うこともできます。