Ứng dụng cây tìm kiếm nhị phân để giải bài toán tìm kiếm trang 46 Chuyên đề Tin học 12
Giải Chuyên đề Tin 12 Bài 2.4: Thực hành cây tìm kiếm nhị phân - Chân trời sáng tạo
Nhiệm vụ 1 trang 46 Chuyên đề Tin học 12: Ứng dụng cây tìm kiếm nhị phân để giải bài toán tìm kiếm
Yêu cầu: Cho cây tìm kiếm nhị phần (Hình 2) biểu diễn tập hợp số nguyên dương
A = {46, 49, 31, 45, 41, 50, 47, 28, 30, 48}.
Em hãy viết chương trình kiểm tra giá trị x = 41 có xuất hiện trong tập hợp A hay không.
Lời giải:
Sử dụng chương trình tạo cây tìm kiếm nhị phân và chương trình con tìm kiếm
ở Bài 2.3 để thực hiện yêu cầu trên.
Mã nguồn tham khảo:
#Tìm x trên cây tìm kiếm nhị phân T gốc i
def search(T, i, x):
if i = len(T) or T[i] == None:
return False
elif T[i]== X:
return True
elif x <T[i]:
#Cây T gốc i là rỗng
“Không tìm thấy x
#Tìm thấy x
else:
return search (T, 2*1+1, x)
return search(T, 2*1+2, x)
#Tìm x trên cây con trái
#Tìm x trên cây con phải
#Thêm giá trị v vào cây tìm kiếm nhị phân T gốc i def insertTree(T, i, v):
if i>=len(T):
T.extend([None]*(i-len(T)+1))
if T[i]
== None:
T[i] = V
elif v == T[i]:
print("Đã tồn tại nút có giá trị bằng", v)
elif v<T[i]:
else:
insertTree(T, 2*i + 1, v)
insertTree(T, 2*i + 2, v)
#Tạo cây tìm kiếm nhị phân T từ mảng a def createBSTTree(T, a): for i in range(len(a)):
insertTree(T, 0, a[i])
def printTree(T):
for i in T:
if i!=None:
print(1, end=" ")
def inOrderTraversal (tree, i):
if i < len(tree) and tree[i] != None: inOrderTraversal (tree, 2*i + 1) print(tree[i], end = ')
inOrderTraversal (tree, 2*i + 2)
print("nhập danh sách các số để tạo cây: ")
a = list(map(int, input().split())) print("nhập giá trị cần tìm: ") x= int(input())
T = []
#Thêm a[i] vào cây T
#Cây gốc i khác rỗng #Duyệt cây con trái HXử lí nút gốc #Duyệt cây con phải
createBSTTree (T,a)
A printTree(T) 43. print()
print (search (T, 0,
để trời sáng tạo
inOrderTraversal (T,0)
Lời giải bài tập Chuyên đề Tin 12 Bài 2.4: Thực hành cây tìm kiếm nhị phân hay, chi tiết khác:
Khởi động trang 46 Chuyên đề Tin học 12: Cho cây tìm kiếm nhị phân ở Hình 1 ....
Nhiệm vụ 2 trang 47 Chuyên đề Tin học 12: Sắp xếp mảng dùng cây tìm kiếm nhị phân ....
Luyện tập trang 48 Chuyên đề Tin học 12: Tìm thanh gỗ theo yêu cầu ....
Xem thêm lời giải bài tập Chuyên đề học tập Tin học 12 Chân trời sáng tạo hay, chi tiết khác:
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)
Đã có app VietJack trên điện thoại, giải bài tập SGK, SBT Soạn văn, Văn mẫu, Thi online, Bài giảng....miễn phí. Tải ngay ứng dụng trên Android và iOS.
Theo dõi chúng tôi miễn phí trên mạng xã hội facebook và youtube:Nếu thấy hay, hãy động viên và chia sẻ nhé! Các bình luận không phù hợp với nội quy bình luận trang web sẽ bị cấm bình luận vĩnh viễn.
- 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