เมื่อต้องการพิมพ์เฉพาะโหนดใน 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