Giải chuyên đề Tin 12 Cánh diều Bài 2: Thực hành duyệt cây nhị phân có đáp án

20 người thi tuần này 4.6 167 lượt thi 1 câu hỏi

🔥 Đề thi HOT:

864 người thi tuần này

15 câu Trắc nghiệm Tin học 12 Kết nối tri thức Bài 19 có đáp án

5.6 K lượt thi 15 câu hỏi
575 người thi tuần này

15 câu Trắc nghiệm Tin học 12 Kết nối tri thức Bài 23 có đáp án

2.6 K lượt thi 15 câu hỏi
445 người thi tuần này

Trắc nghiệm tổng hợp Tin học năm 2023 có đáp án (Phần 4)

4.5 K lượt thi 217 câu hỏi
413 người thi tuần này

15 câu Trắc nghiệm Tin học 12 Kết nối tri thức Bài 24 có đáp án

1.9 K lượt thi 15 câu hỏi
401 người thi tuần này

15 câu Trắc nghiệm Tin học 12 Kết nối tri thức Bài 22 có đáp án

2.5 K lượt thi 15 câu hỏi
369 người thi tuần này

15 câu Trắc nghiệm Tin học 12 Kết nối tri thức Bài 25 có đáp án

1.4 K lượt thi 15 câu hỏi
318 người thi tuần này

15 câu Trắc nghiệm Tin học 12 Kết nối tri thức Bài 20 có đáp án

2.5 K lượt thi 15 câu hỏi
315 người thi tuần này

15 câu Trắc nghiệm Tin học 12 Kết nối tri thức Bài 16 có đáp án

2.9 K lượt thi 15 câu hỏi

Nội dung liên quan:

Danh sách câu hỏi:

Lời giải

Chương trình Python như sau:

class TreeNode:

   def __init__(self, value):

        self.value = value

        self.left = None

        self.right = None

def insert_node(root, value):

   if root is None:

        return TreeNode(value)

   else:

        if value < root.value:

            root.left = insert_node(root.left, value)

        else:

            root.right = insert_node(root.right, value)

   return root

def in_order_traversal(root):

   if root:

        in_order_traversal(root.left)

        print(root.value, end=" ")

        in_order_traversal(root.right)

def pre_order_traversal(root):

   if root:

        print(root.value, end=" ")

        pre_order_traversal(root.left)

        pre_order_traversal(root.right)

def post_order_traversal(root):

   if root:

        post_order_traversal(root.left)

        post_order_traversal(root.right)

        print(root.value, end=" ")

def build_perfect_binary_tree():

   root = None

   nodes = [24, 91, 17, 44, 62, 21, 67, 33, 49]

   for node in nodes:

        root = insert_node(root, node)  

   return root

def main():

   # a) Xây dựng cây nhị phân hoàn chỉnh và bổ sung các nút giả

   root = build_perfect_binary_tree()

   # b) In ra các nút theo các thứ tự trước, sau và giữa

   print("Thứ tự trước (Pre-order):")

   pre_order_traversal(root)

   print("\nThứ tự sau (Post-order):")

   post_order_traversal(root)

   print("\nThứ tự giữa (In-order):")

   in_order_traversal(root)

if __name__ == "__main__":

   main()


 

4.6

33 Đánh giá

50%

40%

0%

0%

0%