Video: Trường hợp xấu nhất và trường hợp phức tạp trung bình của cây tìm kiếm nhị phân là gì?
2024 Tác giả: Lynn Donovan | [email protected]. Sửa đổi lần cuối: 2023-12-15 23:55
Cây tìm kiếm nhị phân
Thuật toán | Trung bình | Trường hợp xấu nhất |
---|---|---|
Không gian | Trên) | Trên) |
Tìm kiếm | O (log n) | Trên) |
Chèn | O (log n) | Trên) |
Xóa bỏ | O (log n) | Trên) |
Ngoài ra, độ phức tạp thời gian trong trường hợp xấu nhất O lớn nhất của cây tìm kiếm nhị phân là bao nhiêu?
Cấu trúc đệ quy của một BST mang lại một thuật toán đệ quy. Đang tìm kiếm trong một BST có O (NS) tồi tệ nhất - trường hợp thời gian chạy phức tạp , trong đó h là chiều cao của cây . Kể từ khi s cây tìm kiếm nhị phân với n nút có tối thiểu là O (log n) cấp, cần ít nhất O (log n) so sánh để tìm một nút cụ thể.
Thứ hai, độ phức tạp về thời gian của tìm kiếm nhị phân có lặp là bao nhiêu? Hiệu suất của Thuật toán tìm kiếm nhị phân : Vì vậy, độ phức tạp thời gian của thuật toán tìm kiếm nhị phân là O (nhật ký2n) rất hiệu quả. Không gian phụ được sử dụng bởi nó là O (1) cho lặp đi lặp lại triển khai và O (nhật ký2n) để thực hiện đệ quy do ngăn xếp cuộc gọi.
Cũng có câu hỏi đặt ra là, trường hợp xấu nhất về thời gian phức tạp khi tìm kiếm một phần tử trong cây tìm kiếm nhị phân là bao nhiêu?
Thời gian phức tạp : Các trường hợp xấu nhất thời gian phức tạp của Tìm kiếm và phép toán chèn là O (h) trong đó h là chiều cao của Cây tìm kiếm nhị phân . Trong trường hợp xấu nhất , chúng tôi có thể có đến đi từ gốc đến nút lá sâu nhất. Chiều cao của một xiên cây có thể trở thành n và thời gian phức tạp của Tìm kiếm và chèn hoạt động có thể trở thành O (n).
Big O có phải là trường hợp xấu nhất không?
Vì vậy, trong tìm kiếm nhị phân, tốt nhất trường hợp Là O (1), trung bình và trường hợp xấu nhất Là O (logn). Nói tóm lại, không có mối quan hệ kiểu “ O lớn được sử dụng để trường hợp xấu nhất , Theta cho mức trung bình trường hợp ”. Tất cả các loại ký hiệu có thể được (và đôi khi) được sử dụng khi nói về tốt nhất, trung bình hoặc trường hợp xấu nhất của một thuật toán.
Đề xuất:
Làm thế nào để bạn tìm thấy điểm giữa của một tìm kiếm nhị phân?
Cho một mảng đã sắp xếp, chúng tôi tìm phần tử ở giữa và kiểm tra phần tử bằng khóa. Nếu phần tử gần nhất bằng với khóa, chúng tôi đã tìm thấy khóa. Nếu phần tử gần nhất lớn hơn khóa, chúng tôi tìm kiếm ở nửa bên trái của phần tử gần nhất, nếu không, chúng tôi tìm kiếm ở nửa bên phải
Thuật toán sắp xếp nào là tốt nhất trong trường hợp xấu nhất?
Thuật toán sắp xếp Thuật toán Cấu trúc dữ liệu Độ phức tạp theo thời gian: Kém nhất Sắp xếp nhanh Mảng O (n2) Sắp xếp hợp nhất Mảng O (n log (n)) Sắp xếp đống Mảng O (n log (n)) Sắp xếp trơn Mảng O (n log (n))
Làm cách nào để bạn triển khai cây tìm kiếm nhị phân trong Java?
Triển khai Cây tìm kiếm nhị phân (BST) trong Java Cây con bên trái của một nút chỉ chứa các nút có khóa nhỏ hơn khóa của nút. Cây con bên phải của một nút chỉ chứa các nút có khóa lớn hơn khóa của nút đó. Mỗi cây con bên trái và bên phải cũng phải là một cây tìm kiếm nhị phân. Không được có các nút trùng lặp
Làm thế nào để bạn tìm thấy lỗi bình phương trung bình?
Các bước chung để tính sai số bình phương trung bình từ tập các giá trị X và Y: Tìm đường hồi quy. Chèn các giá trị X của bạn vào phương trình hồi quy tuyến tính để tìm ra các giá trị Y mới (Y '). Trừ giá trị Y mới từ giá trị ban đầu để nhận được lỗi. Bình phương các lỗi. Cộng các lỗi. Tìm ý nghĩa
Độ phức tạp thời gian tốt nhất của sắp xếp hợp nhất là gì?
Thuật toán sắp xếp Thuật toán Cấu trúc dữ liệu Độ phức tạp không gian: Kém nhất Sắp xếp nhanh Mảng O (n) Sắp xếp hợp nhất Mảng O (n) Sắp xếp đống Mảng O (1) Sắp xếp trơn Mảng O (1)