FE Master 2026
FE Master

PHẦN A: KIẾN THỨC

PHASE 1: CƠ SỞ KHOA HỌC MÁY TÍNH (DAY 1-30)

1
Hệ đếm & Dữ liệuPart A
2
Số bù 2 & Số thực (Floating Point)Part A
3
Mạch Logic & Cổng LogicPart A
4
Kiến trúc CPUPart A
5
Bộ nhớ (Memory)Part A
6
Hệ điều hành (OS)Part A
7
Tiến trình & LuồngPart A
8
Mạng máy tính: OSI 7 LayerPart A
9
Internet & IP/TCPPart A
10
HTTP & DNSPart A
11
Database Cơ bản & Mô hình ERPart A
12
Chuẩn hóa Database (1NF → 3NF)Part A
13
SQL Cơ bản (SELECT, INSERT, UPDATE, DELETE)Part A
14
SQL Nâng cao (JOIN, GROUP BY, SubQuery)Part A
15
Transaction & ACIDPart A
16
Phát triển Phần mềm (SDLC & Models)Part A
17
Thiết kế Hệ thống (DFD, UML)Part A
18
Kiểm thử Phần mềm (Testing)Part A
19
Quản lý Dự án (PMBOK, WBS, Gantt)Part A
20
Review: Database & Phát triển PMPart A
21
Chiến lược Kinh doanh Chuyên sâu (SWOT, PPM)Part A
22
Marketing Mix & Data MiningPart A
23
Chiến lược Hệ thống & Cải tiến Quy trìnhPart A
24
Pháp luật IT & Hợp đồng (Quan trọng)Part A
25
Quản lý Dự án (PMBOK & EVM)Part A
26
Lưu trữ & Tính toán RAIDPart A
27
Công nghệ Mạng (LAN/WAN/Wifi)Part A
28
An toàn thông tin (Threats & Attacks)Part A
29
Mã hóa & Chữ ký sốPart A
30
Review Phase 1: Foundation (Tổng ôn tập)Part A

PHẦN A: KIẾN THỨC

PHASE 2: LOGIC & TỰ ĐỘNG HÓA (DAY 31 - 50)

31
Tư duy Thuật toán & Kỹ năng Trace CodePart A
32
Thuật toán Sắp xếp Cơ bản (Basic Sorting)Part A
33
Thuật toán Sắp xếp Nâng cao (Advanced Sorting)Part A
34
Thuật toán Tìm kiếm (Searching) & HashingPart A
35
Cấu trúc dữ liệu: Stack & QueuePart A
36
Cấu trúc dữ liệu: Array & Linked ListPart A
37
Graph (Đồ thị) & Thuật toán tìm đườngPart A
38
Tree (Cây) & Binary Search TreePart A
39
Độ phức tạp thuật toán (Big O Notation)Part A
40
Review Phase 2 Part 1: Algorithms MasterPart A
41
Tư duy Lập trình: Logic & Bảng Chân TrịPart A
42
Bộ nhớ: Stack vs Heap & Con trỏPart A
43
CTDL & Giải thuật: Độ phức tạp Big OPart A
44
OOP 1: Class, Object & Đóng góiPart A
45
OOP 2: Kế thừa & Đa hình (Inheritance & Polymorphism)Part A
46
Collections List/Set/Map - Hộp đựng đồ vạn năngPart A
47
Đệ quy (Recursion) - Giấc mơ trong giấc mơPart A
48
Kỹ thuật Bit (Bitwise) - Quyền năng tối thượngPart A
49
Design Patterns: Singleton & FactoryPart A
50
Tổng kết Phase 2: Chân dung Master CoderPart A

PHẦN A: KIẾN THỨC

PHASE 3: ĐI SÂU VÀO HỆ THỐNG (DAY 51 - 75)

51
Kiến trúc Máy tính: CPU & PipelinePart A
52
Bộ nhớ đệm: Cache InternalsPart A
53
Dữ liệu: Float & IEEE 754 Deep DivePart A
54
Hệ điều hành: Process InternalsPart A
55
Lập lịch CPU: Scheduling AlgorithmsPart A
56
Quản lý bộ nhớ: Virtual Memory & PagingPart A
57
Lưu trữ: Disk Anatomy & RAIDPart A
58
Ảo hóa & Containerization (Docker)Part A
59
Độ tin cậy & SRE BasicsPart A
60
Tổng ôn Hardware & OS ArchitectPart A
61
Mạng máy tính: Packet Analysis & WiresharkPart A
62
Giao vận: TCP Internals Deep DivePart A
63
Subnetting: VLSM & CIDR MasterclassPart A
64
Định tuyến: OSPF & BGP InternalsPart A
65
DNS & HTTP/2, HTTP/3 (QUIC)Part A
66
Database Indexing: B-Tree vs HashPart A
67
Normalization & DenormalizationPart A
68
NoSQL & Distributed DataPart A
69
Transaction & Concurrency ControlPart A
70
Review: System Design InterverviewPart A
71
An toàn thông tin: CIA & Risk ManagementPart A
72
Mật mã học: Encryption & HashingPart A
73
Xác thực: Authentication & OAuth 2.0Part A
74
Tấn công Web: SQL Injection & XSSPart A
75
Hạ tầng & Tổng ôn An toàn thông tinPart A

PHẦN A: KIẾN THỨC

PHASE 4: QUẢN LÝ IT & CHIẾN LƯỢC (DAY 76 - 85)

76
Quản lý Dự án I: PMBOK & Tam giác vàngPart A
77
Quản lý Thời gian: WBS & Đường Găng (CPM)Part A
78
Quản lý Chi phí: EVM (Earned Value Management)Part A
79
Quản lý Dịch vụ: ITIL & SLAPart A
80
Kiểm toán hệ thống & Kiểm soát nội bộPart A
81
Chiến lược Kinh doanh: SWOT & PPMPart A
82
Marketing & Tài chính: 4P & BSCPart A
83
Pháp luật IT: Bản quyền & Hợp đồngPart A
84
Tiêu chuẩn hóa: ISO & Code of ConductPart A
85
Tổng kết Phase 4: Quản lý & Chiến lượcPart A

PHẦN B: KỸ NĂNG

PHASE 5: TRẬN CHIẾN CUỐI CÙNG - LUYỆN ĐỀ PART B (DAY 86 - 100)

86
Part B Security: CIA & Xác thực UserPart B
87
Mã hóa: Đối xứng vs Bất đối xứngPart B
88
Chữ ký số & PKIPart B
89
Các loại tấn công mạng (Cyber Attacks)Part B
90
Hạ tầng bảo mật: Firewall, DMZ & VPNPart B
91
Pseudo-code Drills: Cấu trúc dữ liệu cơ bảnPart B
92
Pseudo-code Drills: Sorting & SearchingPart B
93
Pseudo-code Drills: Logic & BitwisePart B
94
Pseudo-code Drills: Kỹ thuật đệ quyPart B
95
Bài toán thực tế Part B: Nén dữ liệu RLEPart B
96
Part B Math: Tính toán phần cứngPart B
97
Part B Math: Tính toán Mạng (Subnet)Part B
98
Chiến thuật làm bài Part BPart B
99
Tổng ôn tập: Điểm mù kiến thứcPart B
100
FINAL DAY: Lời kết & Chúc may mắnPart B

Ver: 2026.02.21-v2

Học tậpThi thửHồ sơ
FE Master 2026
Đăng nhập
FE Master 2026

app.description

Liên kết hữu ích

  • Trang chủ
  • Blog & Tin tức
  • Đăng nhập

Pháp lý

  • Chính sách bảo mật
  • Điều khoản dịch vụ

Kết nối

  • Về chúng tôi
  • Liên hệ

© 2026 FE Master. All rights reserved.

Made with ♥ by Baryuu
Trang chủ
PHASE 2: LOGIC & TỰ ĐỘNG HÓA (DAY 31 - 50)/Ngày 32/100
DAY 32🇯🇵 基本ソートアルゴリズム

Thuật toán Sắp xếp Cơ bản (Basic Sorting)

32%

Quảng cáo • Advertisement

📢 Sponsor Ad

Google AdSense

lesson.content.title

lesson.content.subtitle

🎯 Tại sao phải học Sắp xếp?

Sắp xếp (Sorting) là bài toán vỡ lòng nhưng chứa đựng tư duy tối ưu thuật toán. Có hàng chục cách để sắp xếp 1 bộ bài, máy tính cũng vậy.

Chúng ta sẽ đi sâu vào 3 thuật toán "rùa bò" (Chậm nhưng dễ hiểu): Bubble Sort, Selection Sort, Insertion Sort. Độ phức tạp trung bình của chúng đều là O(N²).

1. Bubble Sort (Sắp xếp Nổi bọt)

Tư duy: "Thấy thằng nào đứng sai chỗ thì đổi ngay". Giống như bong bóng nhẹ sẽ nổi lên mặt nước, phần tử lớn nhất sẽ "nổi" dần về cuối mảng sau mỗi vòng lặp.

Quy trình: So sánh 2 số liền kề. Nếu số trước > số sau thì đổi chỗ (Swap).

Minh họa chạy tay: Mảng [5, 1, 4, 2, 8]

Lần 1 (Đưa số lớn nhất về cuối):

  • [5, 1, 4, 2, 8] -> 5 > 1 -> Đổi -> [1, 5, 4, 2, 8]
  • [1, 5, 4, 2, 8] -> 5 > 4 -> Đổi -> [1, 4, 5, 2, 8]
  • [1, 4, 5, 2, 8] -> 5 > 2 -> Đổi -> [1, 4, 2, 5, 8]
  • [1, 4, 2, 5, 8] -> 5 < 8 -> Giữ -> [1, 4, 2, 5, 8]

👉 Kết thúc Lần 1: Số 8 đã nằm đúng chỗ cuối cùng. (Chúng ta không cần xét nó nữa).

graph LR A[5, 1, 4, 2, 8] -- 1. Swap 5-1 --> B[1, 5, 4, 2, 8] B -- 2. Swap 5-4 --> C[1, 4, 5, 2, 8] C -- 3. Swap 5-2 --> D[1, 4, 2, 5, 8] D -- 4. 5 < 8 OK --> E[1, 4, 2, 5, 8] style E stroke:#f00,stroke-width:2px

Lần 2 (Xét [1, 4, 2, 5]):

  • [1, 4, 2, 5, 8] -> 1 < 4 -> Giữ.
  • [1, 4, 2, 5, 8] -> 4 > 2 -> Đổi -> [1, 2, 4, 5, 8]
  • [1, 2, 4, 5, 8] -> 4 < 5 -> Giữ.

👉 Kết thúc Lần 2: Số 5, 8 đã xong. Mảng lúc này [1, 2, 4, 5, 8] thực ra đã xong rồi.

2. Selection Sort (Sắp xếp Chọn)

Tư duy: "Quét một lượt, chọn thằng bé nhất (Min), lôi cổ nó về đầu".

Khác với Bubble Sort (đổi chỗ liên tục), Selection Sort chỉ đổi chỗ 1 lần duy nhất sau mỗi vòng quét. -> Ít thao tác Swap hơn.

Minh họa chạy tay: Mảng [29, 10, 14, 37, 13]

  • Vòng 1: Tìm Min trong toàn bộ mảng. Thấy 10 là Min.
    -> Đổi chỗ 10 với phần tử đầu tiên (29).
    -> Mảng: [10, 29, 14, 37, 13]. (10 đã yên vị).
  • Vòng 2: Tìm Min trong phần còn lại [29, 14, 37, 13]. Thấy 13 là Min.
    -> Đổi chỗ 13 với phần tử đầu (của phần còn lại) là 29.
    -> Mảng: [10, 13, 14, 37, 29]. (10, 13 đã yên vị).
  • Vòng 3: Tìm Min trong [14, 37, 29]. Thấy 14. Nó đang ở đúng chỗ rồi. Khỏi đổi.
    -> Mảng: [10, 13, 14, 37, 29].
  • ... cứ thế tiếp tục.

3. Insertion Sort (Sắp xếp Chèn)

Tư duy: "Xếp bài tây". Tay trái cầm những lá bài đã xếp ngon lành. Tay phải bốc lá bài mới và nhét nó vào khe thích hợp trên tay trái.

Đặc điểm Vàng: Cực kỳ nhanh nếu mảng đầu vào đã gần được sắp xếp (Best case O(N)). Bubble và Selection thì ngu ngơ hơn, kể cả đã sắp xếp rồi chúng vẫn cặm cụi chạy O(N²).

Câu hỏi FE:

Dãy số: [2, 3, 5, 1, 9]. Khi dùng Insertion Sort, tại bước chèn số 1, chuyện gì sẽ xảy ra?

Trả lời:

  • Tay trái đang cầm: [2, 3, 5].
  • Bốc số 1 lên.
  • So 1 với 5 -> nhỏ hơn -> Dịch 5 sang phải.
  • So 1 với 3 -> nhỏ hơn -> Dịch 3 sang phải.
  • So 1 với 2 -> nhỏ hơn -> Dịch 2 sang phải.
  • Hết chỗ so -> Chèn 1 vào đầu.
  • Kết quả: [1, 2, 3, 5, 9].

Quảng cáo • Advertisement

📢 Ad Space

Google AdSense

Day 31Day 33