@techtipsvn
Thuật toán

Counting sort: đếm thay vì so sánh, nên đi vòng qua được giới hạn n log n

Giới hạn n log n chỉ áp cho thuật toán so sánh

2026-08-2106 slide1 phút đọcGiải thích
Slide bìa: Counting sort: đếm thay vì so sánh, nên đi vòng qua được giới hạn n log nSlide 2Slide 3Slide 4Slide 5Slide 6
cuộn, vuốt, hoặc phím ←→01 / 06

Cùng một bài, đọc bằng chữ. Nhanh hơn và tìm lại được bằng Ctrl+F.

Sắp điểm của 1000 sinh viên

  1. Tạo ôĐiểm từ 0 đến 10, nên tạo 11 ô đếm
  2. ĐếmGặp một điểm thì tăng ô tương ứng lên một
  3. Rải lạiĐi từ ô 0 đến ô 10, ghi ra theo thứ tự
  4. XongKhông so hai sinh viên nào với nhau

k là độ rộng khoảng giá trị

k không phải số phần tử, cũng không phải số giá trị thực sự xuất hiện. Nó là giá trị lớn nhất trừ nhỏ nhất rồi cộng một. Điểm 0 đến 10 cho k bằng 11.

Công thức

Thời gian chạy là O(n + k)

Vì sao đi vòng qua được n log n

Giới hạn n log n là một định lý, nhưng nó chỉ áp cho thuật toán sắp xếp bằng cách so sánh các phần tử. Counting sort không so sánh, nó dùng thẳng giá trị để đếm.

Counting sort được gì, mất gì

Ưu điểm

O(n + k), nhanh hơn khi khoảng giá trị hẹp

Ổn định nếu cài đúng, dùng được cho radix sort

Không đệ quy, code ngắn và đi thẳng

Nhược điểm

Khoá phải là số nguyên, hoặc ánh xạ được

Tốn O(k) bộ nhớ, k rộng là hỏng

Không sắp được theo thứ tự tự định nghĩa

Hết loạt bảy thuật toán sắp xếp

Lưu cả loạt lại, khi nào quên thì mở bài bản đồ ra xem trước.

techtipstechtipsvnthuattoanhoclaptrinhlaptrinh
Đọc tiếp

Bài khác cùng chủ đề

Slide bìa: Hai lỗi Critical cho người lạ chạy code trên server Next.js: lên 16.4.1 hoặc 15.5.2809

Hai lỗi Critical cho người lạ chạy code trên server Next.js: lên 16.4.1 hoặc 15.5.28

Tin2′ đọc16.10
Slide bìa: Caveman: một lệnh để Claude Code trả lời ngắn, và lúc nào thì không đáng cài08

Caveman: một lệnh để Claude Code trả lời ngắn, và lúc nào thì không đáng cài

tutorial1′ đọc16.10
Slide bìa: Code Go không đọc body chậm gần 5 lần qua HTTP/1, Go 1.27 tự sửa10

Code Go không đọc body chậm gần 5 lần qua HTTP/1, Go 1.27 tự sửa

Giải thích2′ đọc15.10
Slide bìa: Node.js vá lỗi bảo mật mức HIGH ngày 21/10: máy bạn đang chạy bản nào?07

Node.js vá lỗi bảo mật mức HIGH ngày 21/10: máy bạn đang chạy bản nào?

Tin1′ đọc15.10

Mỗi ngày một bài mới.

Mẹo, giải thích và tin công nghệ cho sinh viên và dev mới đi làm. Một người viết, đăng đều.

Bài cũng được đăng lên TikTok, ở dạng slide.

TikTok@techtipsvn