Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

โปรแกรม Python พิมพ์โหนดใน Left Subtree เท่านั้น


เมื่อต้องการพิมพ์เฉพาะโหนดใน Left Subtree ของ Binary Tree ใช้ Inorder Traversal เริ่มจาก left child ของ root

ตัวอย่างโค้ด

class Node:
    def __init__(self, data):
        self.key = data
        self.left = None
        self.right = None
    
    def inorder(self):
        if self.left:
            self.left.inorder()
        print(self.key, end=' ')
        if self.right:
            self.right.inorder()
    
    def print_left_subtree(self):
        if self.left:
            self.left.inorder()

# Build tree
root = Node(5)
root.left = Node(6)
root.right = Node(8)
root.left.left = Node(2)
root.left.right = Node(7)

print("Left subtree nodes (inorder):")
root.print_left_subtree()

ผลลัพธ์

Left subtree nodes (inorder): 2 6 7

คำอธิบาย

  • เมธอด inorder() ทำ Inorder Traversal (Left, Root, Right)

  • print_left_subtree() เรียก inorder() บน left child ของ root

  • ผลลัพธ์คือโหนดใน Left Subtree เรียง Inorder

  • Tree: root=5, left=6(มีลูก 2,7), right=8

  • Left subtree rooted at 6: inorder = 2, 6, 7