Sắp xếp mảng dùng cây tìm kiếm nhị phân
Yêu cầu: Sắp xếp một mảng số nguyên a tăng dần.
Bằng cách nhấp vào Đăng nhập, bạn đồng ý Chính sách bảo mật và Điều khoản sử dụng của chúng tôi. Nếu đây không phải máy tính của bạn, để đảm bảo an toàn, hãy sử dụng Cửa sổ riêng tư (Tab ẩn danh) để đăng nhập (New Private Window / New Incognito Window).
Thực hiện các bước sau:
Tạo cây tìm kiếm nhị phân T tử mảng an
Duyệt giữa cây tìm kiếm nhị phân T.
Code như sau:
def insertTreeT(T, i, v):
if i len(T):
T.extend([None]*(i-len(T)+1))
if T[i]== None:
T[i] = v
elif v else: insertTreeT(T, 2*i + 1, v) insertTreeT(T, 2*i + 2, v) def createBSTTree (T, a): for i in range(len(a)): insertTreeT(T, 0, a[i]) def inOrderSort (T, i, a): if i < len(T) and T[i] != None: inOrderSort (T, 2*i + 1, a) a.append(T[i]) inOrderSort (T, 2*i + 2, a) def SortBST(a): T = [] createBSTTree (T, a) a.clear() inOrderSort (T, 0, a) print("Nhập mảng cần sắp xếp tăng dần: ") a = list(map(int, input().split())) SortBST(a) print("Mảng có thứ tự tăng dần:", a)
Hôm nay bạn thế nào? Hãy nhấp vào một lựa chọn, nếu may mắn bạn sẽ được tặng 50.000 xu từ Lazi
Vui | Buồn | Bình thường |