Tôi đã có câu hỏi này trong một kỳ thi và tôi không thể tìm thấy câu trả lời nhanh.Xóa chuỗi số thứ tự từ BST
Có một mảng A chứa một số số thứ tự A = [1,3,6,9,11] và BST có số là khóa. Tôi phải cung cấp một thuật toán đệ quy hiệu quả để xóa các số trong A từ BST.
Sự cố tôi không có trong việc xóa các nút, nhưng trong cách sử dụng thực tế là mảng được sắp xếp để xóa các nút.
Ai đó có thể giúp tôi với một số gợi ý không?
http://en.wikipedia.org/wiki/Binary_search_tree#Deletion – quasiverse
có giải pháp O (n + k) cho việc này. Đối với cây không cân bằng, tốt nhất bạn có thể đạt được vì bạn cần đọc tất cả các phần tử trong mảng [O (k)] và xóa một phần tử trong BST không cân bằng là O (n) [xóa phần tử cuối cùng trong một chuỗi] là bạn intrested trong nó? hoặc bạn đang tìm kiếm thứ gì đó được tối ưu hóa hơn cho BST cân bằng? – amit
Cảm ơn bạn amit: Tôi không có bất kỳ giả định trên cây vì vậy tôi phải xem xét tất cả các trường hợp. – JustB