Sách mới 2k7: Bộ 20 đề minh họa Toán, Lí, Hóa, Văn, Sử, Địa…. form chuẩn 2025 của Bộ giáo dục (chỉ từ 110k).
Quảng cáo
Trả lời:
Để tính chiều cao của cây tìm kiếm nhị phân (BST), chúng ta có thể sử dụng phương pháp đệ quy. Chiều cao của một cây BST là độ dài của đường dẫn từ nút gốc đến nút lá xa nhất. Dưới đây là cài đặt Python cho hàm height(T) để tính chiều cao của cây tìm kiếm nhị phân T.
class TreeNode:
def __init__(self, key):
self.left = None
self.right = None
self.val = key
def height(T):
if T is None:
return -1 # Chiều cao của một cây rỗng là -1
else:
# Tính chiều cao của cây con bên trái và cây con bên phải
left_height = height(T.left)
right_height = height(T.right)
# Chiều cao của cây là chiều cao lớn nhất của hai cây con cộng thêm 1
return max(left_height, right_height) + 1
Giải thích:
- Hàm height(T) sẽ tính chiều cao của cây tìm kiếm nhị phân T bằng cách sử dụng đệ quy.
- Nếu cây T là cây rỗng (None), chiều cao của cây là -1.
- Nếu cây T không rỗng, chúng ta tính chiều cao của cây con bên trái và cây con bên phải.
- Chiều cao của cây là chiều cao lớn nhất của hai cây con cộng thêm 1 (chiều cao của nút gốc).
CÂU HỎI HOT CÙNG CHỦ ĐỀ
Câu 1:
Thuật toán sắp xếp dãy sử dụng cây tìm kiếm nhị phân có độ phức tạp thời gian là bao nhiêu?
Câu 2:
Cho trước dãy số A = [2,1,9,0,2,1,5]. Tạo cây tìm kiếm nhị phân T từ dãy A và thực hiện thuật toán duyệt giữa trên cây T. Em hãy cho biết kết quả duyệt là dãy các khoá có thứ tự như thế nào.
Câu 3:
Trao đổi, thảo luận để giải bài toán sau:
Cho trước dãy số A. Thiết kế thuật toán sắp xếp lại dãy A theo thứ tự tăng dần hoặc giảm dần.
Câu 4:
Quan sát cây tìm kiếm nhị phân trong hình 9.1, cùng trao đổi, thảo luận các câu hỏi sau:
a) Nếu thực hiện thuật toán duyệt giữa (trái – gốc – phải) thì nút đầu tiên được duyệt là nút nào?
b) Nút cuối cùng được duyệt là nút nào?
c) Thứ tự các nút được duyệt theo thuật toán duyệt giữa sẽ theo thứ tự nào? Em có nhận xét gì về kết quả đạt được? Giải thích vì sao.
Câu 5:
Dựa trên hàm BSTSort(A) đã biết, viết chương trình sắp xếp dãy số giảm dần theo kĩ thuật sử dụng cây tìm kiếm nhị phân.
Câu 6:
Quan sát cách cài đặt các thuật toán duyệt trên cây tìm kiếm nhị phân và trao đổi về ý nghĩa và sự khác biệt khi thực hiện các thuật toán này so với các thuật toán duyệt cây nhị phân đã học trong Bài 6.
Đề thi học kì 1 Tin học 12 Kết nối tri thức có đáp án- Đề 1
263 câu Trắc nghiệm tổng hợp ôn thi tốt nghiệp THPT môn Tin học Chủ đề F. Giải quyết vấn đề với sự trợ giúp của máy tính có đáp án
15 câu Trắc nghiệm Tin học 12 Kết nối tri thức Bài 7 có đáp án
15 câu Trắc nghiệm Tin học 12 Kết nối tri thức Bài 10 có đáp án
Đề thi học kì 1 Tin học 12 Kết nối tri thức có đáp án- Đề 2
15 câu Trắc nghiệm Tin học 12 Kết nối tri thức Bài 8 có đáp án
Đề thi học kì 1 Tin học 12 Kết nối tri thức có đáp án- Đề 3
15 câu Trắc nghiệm Tin học 12 Kết nối tri thức Bài 9 có đáp án
về câu hỏi!