Pythonでのバイナリツリーへの挿入方法


  1. バイナリツリーのノードを表すクラスを作成します。
class Node:
    def __init__(self, data):
        self.data = data
        self.left = None
        self.right = None
  1. ツリーに新しい要素を挿入する関数を作成します。
def insert(root, data):
    if root is None:
        root = Node(data)
    else:
        if data < root.data:
            if root.left is None:
                root.left = Node(data)
            else:
                insert(root.left, data)
        else:
            if root.right is None:
                root.right = Node(data)
            else:
                insert(root.right, data)
  1. ツリーを作成し、要素を挿入します。
# ツリーのルートノードを作成します。
root = Node(50)
# 要素を挿入します。
insert(root, 30)
insert(root, 20)
insert(root, 40)
insert(root, 70)
insert(root, 60)
insert(root, 80)
  1. ツリー内の要素を表示する関数を作成します。
def inorder_traversal(node):
    if node:
        inorder_traversal(node.left)
        print(node.data)
        inorder_traversal(node.right)
  1. ツリー内の要素を表示します。
inorder_traversal(root)

これらのコーディング例を使用すると、Pythonでバイナリツリーに要素を挿入することができます。ツリーの要素を表示することで、正しく挿入されたかどうかを確認できます。