Thuật toánChủ đềChủ đề thuật toán12 chủ đề (quen gọi là pattern), bao quát 46 bài luyện. Chọn một chủ đề để xem khi nào dùng, dấu hiệu nhận biết, code mẫu và bài luyện.5 bàiHash MapHash MapĐếm tần suất, kiểm tra đã xuất hiện chưadễ (3)trung bình (2)Mở chủ đề 4 bàiHai con trỏTwo-PointerQuét mảng đã sắp xếp từ hai đầudễ (2)trung bình (2)Mở chủ đề 4 bàiCửa sổ trượtSliding WindowTìm dãy con liên tiếp thoả điều kiệndễ (1)trung bình (3)Mở chủ đề 4 bàiNgăn xếpStackVào sau ra trước: khớp ngoặc, hoàn tácdễ (1)trung bình (3)Mở chủ đề 3 bàiDanh sách liên kếtLinked ListChuỗi node nối nhau, thêm/xoá đầu nhanhdễ (3)Mở chủ đề 4 bàiTìm kiếm nhị phânBinary SearchTìm nhanh trên dữ liệu đã sắp xếpdễ (2)trung bình (2)Mở chủ đề 3 bàiTìm kiếm theo chiều rộngBreadth-First SearchTìm đường ngắn nhất, duyệt theo tầngtrung bình (2)khó (1)Mở chủ đề 4 bàiTìm kiếm theo chiều sâuDepth-First SearchDuyệt sâu cây và đồ thị, dò chu trìnhdễ (1)trung bình (3)Mở chủ đề 4 bàiKhoảngIntervalsGộp các khoảng thời gian chồng nhaudễ (1)trung bình (3)Mở chủ đề 4 bàiQuy hoạch động 1 chiều1D Dynamic ProgrammingLưu kết quả bài con, tránh tính lạidễ (1)trung bình (3)Mở chủ đề 4 bàiTham lamGreedyMỗi bước chọn phương án tốt nhất hiện tạidễ (1)trung bình (3)Mở chủ đề 3 bàiQuay luiBacktrackingLiệt kê mọi tổ hợp, hoán vịtrung bình (3)Mở chủ đề