@techtipsvn
Thuật toán sắp xếp · Merge sort

log n trong merge sort chỉ là số tầng của cây chia đôi, đếm được bằng mắt

log n không phải công thức. Nó là số tầng của cây chia đôi.

2026-08-1907 slide2 phút đọcGiải thích
Slide bìa: log n trong merge sort chỉ là số tầng của cây chia đôi, đếm được bằng mắtSlide 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.

Cây chia đôi trên tám số

  1. Tầng 05 2 8 1 9 3 7 4 — một mảng tám phần tử
  2. Tầng 15 2 8 1 và 9 3 7 4 — hai mảng bốn
  3. Tầng 25 2 · 8 1 · 9 3 · 7 4 — bốn mảng hai
  4. Tầng 3Tám mảng một phần tử. Ba tầng chia, vì chia đôi tám ba lần

Trộn hai mảng đã đúng thứ tự

Đặt một con trỏ ở đầu mỗi mảng, mỗi bước lấy phần tử nhỏ hơn rồi đẩy con trỏ đó lên một. Trộn 2 5 với 1 8 ra 1 2 5 8. Mỗi phần tử chỉ được nhìn đúng một lần.

n log n nằm ở đâu

Mỗi tầng trộn lại đúng n phần tử, dù tầng đó chia thành bao nhiêu mảng nhỏ. Có log n tầng. Nhân hai thứ đó ra n log n, không cần công thức truy hồi nào.

Không có trường hợp xấu nhất

Số tầng chỉ phụ thuộc số phần tử, không phụ thuộc dữ liệu. Mảng đã đúng thứ tự hay đảo ngược đều tốn đúng ngần đó. Quick sort không có tính chất này.

Merge sort: được gì, mất gì

Ưu điểm

Luôn n log n, kể cả trường hợp xấu nhất

Ổn định, hợp khi sắp theo nhiều khoá

Chạy được trên dữ liệu lớn hơn RAM

Nhược điểm

Bản thường dùng cần mảng phụ cỡ n

Chậm hơn quick sort ở mảng vừa

Đệ quy log n tầng, đọc khó hơn

Lưu lại để chạy tay sau

Loạt bài thuật toán sắp xếp cho dev Việt Nam.

techtipstechtipsvnthuattoanlaptrinhhoclaptrinh
Đọc tiếp

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

Slide bìa: React Native 0.88: thêm SceneDelegate trước khi build bằng Xcode 2709

React Native 0.88: thêm SceneDelegate trước khi build bằng Xcode 27

feature2′ đọc19.10
Slide bìa: Copilot ngừng Claude Opus 4.8, Opus 5 và GPT-5.6 Terra ngày 16/11: đổi sang model nào07

Copilot ngừng Claude Opus 4.8, Opus 5 và GPT-5.6 Terra ngày 16/11: đổi sang model nào

Tin1′ đọc18.10
Slide bìa: Review bằng AI khiến PostgreSQL 19 gỡ 8–10 tính năng? Người viết code kể lại09

Review bằng AI khiến PostgreSQL 19 gỡ 8–10 tính năng? Người viết code kể lại

Tin2′ đọc17.10
Slide bìa: AVIF nhẹ hơn, JPEG XL giữ ảnh .jpg cũ: chọn định dạng ảnh nào cho web?08

AVIF nhẹ hơn, JPEG XL giữ ảnh .jpg cũ: chọn định dạng ảnh nào cho web?

Giải thích2′ đọc17.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