@techtipsvn
Thuật toán

Selection sort: cùng n² với bubble sort nhưng đổi chỗ ít hơn hẳn

Cùng n² với bubble sort, đổi chỗ ít hơn

2026-08-2107 slide1 phút đọcGiải thích
Slide bìa: Selection sort: cùng n² với bubble sort nhưng đổi chỗ ít hơn hẳnSlide 2Slide 3Slide 4Slide 5Slide 6Slide 7
cuộn, vuốt, hoặc phím ←→01 / 07

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

Ranh giới chạy dần sang phải

  1. TìmTìm số nhỏ nhất trong cả mảng
  2. ĐặtĐưa số đó về vị trí đầu tiên
  3. Thu hẹpVị trí đầu xong rồi, không xét lại nữa
  4. LặpLàm lại với phần còn lại bên phải

So sánh và ghi là hai chi phí

So sánh là đọc hai số để biết số nào nhỏ hơn. Ghi là gán một giá trị vào mảng. Ghi thường tốn hơn đọc, nhất là khi mỗi phần tử lớn hoặc phải ghi xuống đĩa.

Con số đáng nhớ

Selection sort đổi chỗ đúng n-1 lần

Cùng nhóm, khác chỗ tốn

Thuật toánSo sánhĐổi chỗ
Bubble sortn²-tới n²/2
Selection sortn²+đúng n-1

Đổi lại thì mất gì

Selection sort không có cờ dừng sớm. Mảng đã đúng thứ tự sẵn thì nó vẫn quét hết để tìm số nhỏ nhất. Thời gian chạy vì thế luôn giống nhau, dù dữ liệu thế nào.

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

Ưu điểm

Đổi chỗ đúng n-1 lần, ít nhất nhóm cơ bản

Sắp xếp tại chỗ, không cần bộ nhớ phụ

Thời gian chạy đoán trước được

Nhược điểm

Luôn n² phép so sánh, kể cả mảng đúng sẵn

Không có dừng sớm

Bản đổi chỗ không ổn định

Bài sau: insertion sort

Cái duy nhất trong nhóm n² vẫn chạy thật trong thư viện chuẩn.

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