Độ phức tạp của thuật toán sắp xếp đống là gì?
Độ phức tạp của thuật toán sắp xếp đống là gì?

Video: Độ phức tạp của thuật toán sắp xếp đống là gì?

Video: Độ phức tạp của thuật toán sắp xếp đống là gì?
Video: Cấu trúc dữ liệu & Giải thuật [07]: Độ phức tạp #BigO (phần 1) 2024, Tháng mười một
Anonim

Sắp xếp đống là một thuật toán tại chỗ. TimeComplexity : Thời gian phức tạp của heapify là O (Logn). Thời gian phức tạp của createAndBuildHeap () là O (n) và tổng thể thời gian phức tạp của Heap Sort là O (nLogn).

Về vấn đề này, thuật toán sắp xếp đống là gì?

Thuật toán sắp xếp đống được chia thành hai phần cơ bản: Tạo Đống của danh sách / mảng chưa được sắp xếp. Sau đó, một đã sắp xếp mảng được tạo bằng cách xóa liên tục phần tử lớn nhất / nhỏ nhất khỏi đống và chèn vào mảng. Các đống được tái tạo sau mỗi lần xem xét.

Tương tự, thời gian chạy điển hình của thuật toán sắp xếp đống là bao nhiêu? Tuy nhiên, quicksort có trường hợp xấu nhất thời gian chạy của O (n 2) O (n ^ 2) O (n2) và độ phức tạp không gian trường hợp xấu nhất là O (log? n O (log n O (logn), vì vậy nếu có trường hợp nhanh nhất là rất quan trọng thời gian chạy và sử dụng không gian hiệu quả, đống là lựa chọn tốt nhất.

Tương tự, người ta hỏi, độ phức tạp của hàm Heapify là gì?

Ý tưởng chính là trong build_heap thuật toán thực tế chất đống chi phí không phải là O (log n) cho tất cả các phần tử. chất đống được gọi là, thời gian chạy phụ thuộc vào cách phần tử faran có thể di chuyển xuống trong cây trước khi quá trình kết thúc, nói cách khác, nó phụ thuộc vào chiều cao của phần tử trong heap.

Thuật toán sắp xếp nào có độ phức tạp tiệm cận tốt nhất?

Vì Tốt nhất trường hợp chèn Loại và Heap Sắp xếp là tốt nhất một như của họ tốt nhất thời gian chạy trường hợp phức tạp là O (n). Đối với trường hợp trung bình tiệm cận tốt nhất thời gian chạy phức tạp là O (nlogn) được đưa ra bởi Merge Loại , Đống Loại , Nhanh chóng Loại . Đối với trường hợp tồi tệ nhất tốt nhất thời gian chạy phức tạp là O (nlogn) được cho bởi Merge Loại , Đống Loại.

Đề xuất: