Viết hàm chèn khoá v vào cây tìm kiếm nhị phân T sử dụng kĩ thuật đệ quy
Giải Chuyên đề Tin 12 Bài 7: Cây tìm kiếm nhị phân - Kết nối tri thức
Vận dụng 2 trang 36 Chuyên đề Tin học 12: Viết hàm chèn khoá v vào cây tìm kiếm nhị phân T sử dụng kĩ thuật đệ quy.
Lời giải:
Để viết hàm chèn khoá v vào cây tìm kiếm nhị phân T sử dụng kỹ thuật đệ quy, chương trình sẽ cần một phương thức đệ quy để thực hiện việc chèn. Dưới đây là cách triển khai mẫu:
class Node:
def __init__(self, key):
self.key = key
self.left = None
self.right = None
def insert_recursive(root, key):
# Nếu cây là rỗng, tạo một nút mới và trả về
if root is None:
return Node(key)
# Nếu khoá nhỏ hơn khoá của nút hiện tại, chèn vào cây con bên trái
if key < root.key:
root.left = insert_recursive(root.left, key)
# Nếu khoá lớn hơn hoặc bằng khoá của nút hiện tại, chèn vào cây con bên phải
else:
root.right = insert_recursive(root.right, key)
return root
# Hàm chèn khoá v vào cây tìm kiếm nhị phân T sử dụng kỹ thuật đệ quy
def insert_into_binary_search_tree(T, v):
T = insert_recursive(T, v)
return T
# Ví dụ minh họa
if __name__ == "__main__":
# Tạo một cây tìm kiếm nhị phân
root = Node(5)
root.left = Node(3)
root.right = Node(8)
root.left.left = Node(2)
root.left.right = Node(4)
root.right.left = Node(6)
root.right.right = Node(9)
# In cây tìm kiếm nhị phân trước khi chèn
print("Cây tìm kiếm nhị phân trước khi chèn:")
def inorder_traversal(node):
if node:
inorder_traversal(node.left)
print(node.key, end=" ")
inorder_traversal(node.right)
inorder_traversal(root)
print()
# Chèn khoá 7 vào cây tìm kiếm nhị phân
insert_into_binary_search_tree(root, 7)
# In cây tìm kiếm nhị phân sau khi chèn
print("Cây tìm kiếm nhị phân sau khi chèn:")
inorder_traversal(root)
* Chú thích:
- Node là lớp biểu diễn một nút trong cây tìm kiếm nhị phân.
- insert_recursive là hàm đệ quy để chèn một khoá mới vào cây tìm kiếm nhị phân.
- insert_into_binary_search_tree là hàm chèn khoá v vào cây tìm k iếm nhị phân T sử dụng kỹ thuật đệ quy.
Lời giải bài tập Chuyên đề Tin 12 Bài 7: Cây tìm kiếm nhị phân hay, ngắn gọn khác:
Xem thêm lời giải bài tập Chuyên đề học tập Tin học 12 Kết nối tri thức hay, ngắn gọn khác:
Chuyên đề Tin học 12 Bài 9: Các thuật toán duyệt trên cây tìm kiếm nhị phân
Chuyên đề Tin học 12 Bài 10: Thực hành tổng hợp với cây tìm kiếm nhị phân
Xem thêm các tài liệu học tốt lớp 12 hay khác:
- Giải Chuyên đề Tin học 12 Kết nối tri thức
- Giải Chuyên đề Tin học 12 Chân trời sáng tạo
- Giải Chuyên đề Tin học 12 Cánh diều
- Giải lớp 12 Kết nối tri thức (các môn học)
- Giải lớp 12 Chân trời sáng tạo (các môn học)
- Giải lớp 12 Cánh diều (các môn học)
Sách VietJack thi THPT quốc gia 2025 cho học sinh 2k7:
- Giải Tiếng Anh 12 Global Success
- Giải sgk Tiếng Anh 12 Smart World
- Giải sgk Tiếng Anh 12 Friends Global
- Lớp 12 Kết nối tri thức
- Soạn văn 12 (hay nhất) - KNTT
- Soạn văn 12 (ngắn nhất) - KNTT
- Giải sgk Toán 12 - KNTT
- Giải sgk Vật Lí 12 - KNTT
- Giải sgk Hóa học 12 - KNTT
- Giải sgk Sinh học 12 - KNTT
- Giải sgk Lịch Sử 12 - KNTT
- Giải sgk Địa Lí 12 - KNTT
- Giải sgk Giáo dục KTPL 12 - KNTT
- Giải sgk Tin học 12 - KNTT
- Giải sgk Công nghệ 12 - KNTT
- Giải sgk Hoạt động trải nghiệm 12 - KNTT
- Giải sgk Giáo dục quốc phòng 12 - KNTT
- Giải sgk Âm nhạc 12 - KNTT
- Giải sgk Mĩ thuật 12 - KNTT
- Lớp 12 Chân trời sáng tạo
- Soạn văn 12 (hay nhất) - CTST
- Soạn văn 12 (ngắn nhất) - CTST
- Giải sgk Toán 12 - CTST
- Giải sgk Vật Lí 12 - CTST
- Giải sgk Hóa học 12 - CTST
- Giải sgk Sinh học 12 - CTST
- Giải sgk Lịch Sử 12 - CTST
- Giải sgk Địa Lí 12 - CTST
- Giải sgk Giáo dục KTPL 12 - CTST
- Giải sgk Tin học 12 - CTST
- Giải sgk Hoạt động trải nghiệm 12 - CTST
- Giải sgk Âm nhạc 12 - CTST
- Lớp 12 Cánh diều
- Soạn văn 12 Cánh diều (hay nhất)
- Soạn văn 12 Cánh diều (ngắn nhất)
- Giải sgk Toán 12 Cánh diều
- Giải sgk Vật Lí 12 - Cánh diều
- Giải sgk Hóa học 12 - Cánh diều
- Giải sgk Sinh học 12 - Cánh diều
- Giải sgk Lịch Sử 12 - Cánh diều
- Giải sgk Địa Lí 12 - Cánh diều
- Giải sgk Giáo dục KTPL 12 - Cánh diều
- Giải sgk Tin học 12 - Cánh diều
- Giải sgk Công nghệ 12 - Cánh diều
- Giải sgk Hoạt động trải nghiệm 12 - Cánh diều
- Giải sgk Giáo dục quốc phòng 12 - Cánh diều
- Giải sgk Âm nhạc 12 - Cánh diều