Chuyển tới nội dung chính
Z

Trình minh họa Heap Sort

Minh họa động thuật toán heap sort với điều khiển từng bước, tốc độ, dữ liệu đầu vào tùy chỉnh, bộ đếm so sánh/hoán đổi trực tiếp và pseudocode. Chạy ngay trên trình duyệt.

Miễn phí Không cần đăng ký Chạy trên trình duyệt Tôn trọng riêng tư Updated
/
Comparisons: Swaps / writes: Array accesses:

Code examples

Ready-to-copy reference implementations. Free to use in your own projects and assignments.

Cách dùng

  1. 1 Nhấn Play để xem mảng được xây dựng thành max-heap, sau đó lần lượt trích phần tử lớn nhất.
  2. 2 Dùng Step để tiến từng bước so sánh sift-down một.
  3. 3 Nhập các số của riêng bạn vào Custom input và nhấn Apply.
  4. 4 Theo dõi pseudocode được tô sáng cùng bộ đếm so sánh / hoán đổi trực tiếp.

Vì sao dùng công cụ này

  • Xem cách mảng được xử lý như một binary heap (cha ở vị trí i, con ở 2i+1 / 2i+2).
  • Quan sát sift-down khôi phục tính chất heap sau khi mỗi phần tử lớn nhất được chuyển ra cuối.
  • Hiểu vì sao heap sort đảm bảo O(n log n) với chỉ O(1) bộ nhớ phụ.
  • Chạy hoàn toàn trên trình duyệt của bạn. Không cần đăng ký, không tải file lên.

Câu hỏi thường gặp

Heap sort là gì?

Heap sort xây dựng một max-heap từ mảng, sau đó lặp lại việc hoán đổi phần tử gốc (lớn nhất) xuống cuối và thực hiện sift-down để khôi phục tính chất heap, dần dần mở rộng vùng đã sắp xếp từ phía bên phải.

Độ phức tạp thời gian của heap sort là gì?

O(n log n) trong cả trường hợp tốt nhất, trung bình và xấu nhất. Việc xây dựng heap mất O(n) và mỗi lần trong n lần trích phần tử tốn O(log n).

Heap sort có ổn định (stable) không?

Không. Các thao tác trên heap hoán đổi các phần tử ở xa nhau, điều này có thể làm thay đổi thứ tự tương đối của các giá trị bằng nhau.

Heap sort so với quicksort thì thế nào?

Heap sort đảm bảo độ phức tạp O(n log n) ở trường hợp xấu nhất và chỉ dùng O(1) bộ nhớ phụ, nhưng quicksort thường nhanh hơn trong thực tế nhờ tính cục bộ bộ nhớ đệm (cache locality) tốt hơn và hằng số nhỏ hơn.

Trình minh họa Heap Sort là gì?

Trình minh họa Heap Sort mô phỏng thuật toán heap sort: xây dựng max-heap từ mảng, sau đó lặp lại việc hoán đổi phần tử gốc (root) xuống cuối và thực hiện sift-down để khôi phục tính chất heap. Nó cho thấy trực quan độ phức tạp O(n log n) được đảm bảo với chỉ O(1) bộ nhớ phụ.

Tính năng

Hoạt ảnh từng bước

Xem quá trình xây dựng max-heap và từng bước trích xuất kèm sift-down.

Độ phức tạp

Thời gian: O(n log n) ở mọi trường hợp. Bộ nhớ: O(1). In-place; không ổn định (not stable).

Riêng tư 100%

Chạy hoàn toàn trên trình duyệt của bạn — không có gì được tải lên.

Ví dụ

Input

[4, 10, 3, 5, 1]

Output

build max-heap [10,5,3,4,1]; extract max repeatedly → [1, 3, 4, 5, 10] (sorted)

Trường hợp sử dụng

  1. 1

    O(n log n) trường hợp xấu nhất, tại chỗ (in-place)

    Xem một thuật toán sắp xếp đảm bảo O(n log n) mà không cần thêm O(n) bộ nhớ phụ.

  2. 2

    Học cấu trúc heap

    Hiểu về max-heap và sift-down thông qua quá trình sắp xếp.

  3. 3

    Liên hệ với hàng đợi ưu tiên

    Kết nối heap sort với hàng đợi ưu tiên dựa trên binary heap.

Tóm tắt

Trình trực quan hóa heap sort của Zerethon mô phỏng thuật toán ngay trên trình duyệt của bạn, đầu tiên xây dựng một max-heap rồi liên tục trích xuất phần tử lớn nhất về cuối mảng. Heap sort chạy trong thời gian O(n log n) ở cả trường hợp tốt nhất, trung bình và xấu nhất, chỉ dùng O(1) bộ nhớ phụ; đây là thuật toán in-place nhưng không ổn định (not stable). Nó kết hợp được đảm bảo về trường hợp xấu nhất của merge sort với bộ nhớ phụ hằng số.

Danh mục
Thuật toán
Giá
Miễn phí
Quyền riêng tư
Chạy trên trình duyệt
Đăng ký
Không cần

Tài liệu tham khảo

Quyền riêng tư

Dữ liệu của bạn không bao giờ rời khỏi trình duyệt trừ khi được nêu rõ. Trình minh họa Heap Sort chạy hoàn toàn phía client — không tải lên máy chủ, không ghi log, không theo dõi dữ liệu bạn nhập.

Mới làm quen? Đọc giải thích từng bước kèm phân tích Big-O: Tìm hiểu Sorting Algorithms →

So sánh

Công cụ liên quan

Xây dựng, chia sẻ và phát triển trên Zerethon Social

Đăng ký miễn phí. Kiếm điểm, sưu tầm thành tựu và kết nối với nhà sáng tạo khắp thế giới.

Đăng ký miễn phí