Giá gốc: 3,000,000 VNĐ
Giá bán: 200,000 VNĐ
Thời hạn sử dụng: Vĩnh viễn
Khóa học Thuật toán cung cấp đầy đủ các kiến thức về Cấu trúc dữ liệu và Giải thuật phục vụ việc học tập tại đại học, tham gia các kỳ thi lập trình, học sinh giỏi các cấp, phỏng vấn xin việc...
Khóa học này yêu cầu bạn thành thạo ngôn ngữ lập trình C++ và có kỹ thuật lập trình vững chắc.
Tổng quan khóa học
Khóa học gồm 42 buổi (84 giờ học) kéo dài trong 3 tháng, mỗi tuần học viên sẽ có 4 buổi học.
Khóa học dành cho các bạn sinh viên CNTT muốn học giải thuật, nâng cao tư duy thuật toán để phục vụ học tập tại đại học, tham gia vào các kỳ thi lập trình, phỏng vấn xin việc, các bạn học sinh muốn học để thi học sinh giỏi môn Tin học, Tin học trẻ.
Bài tập trong khóa học gồm 650-700 bài tập được chuẩn bị kỹ lưỡng trên hệ thống chấm bài là một trong những yếu tố nâng cao chất lượng giảng dạy. Toàn bộ bài tập trong khóa học sẽ được giáo viên giải chi tiết. Ngoài ra để đánh giá kiến thức của học viên, mỗi tuần sẽ đều diễn ra contest như một bài kiểm tra trong vòng 1h30 phút có xếp rank và rating.
Thời lượng : 42 buổi học (84 giờ học)
Thời gian học : 3 tháng
Hình thức học: Video qua Google Drive
Số buổi trên tuần : 4 buổi (2h/buổi)
Contest hàng tuần : 12
Số lượng bài tập : 650-700 bài tập
Yêu cầu đầu vào : Thành thạo C++ và Kỹ thuật lập trình
Lộ trình khóa học
Bài 1 : Vector & Iterator, Set, Map
- Vector & Iterator
- Range-based for loop
- Set, Multiset, Unordered_set
- Map, Multimap, Unordered_map
- Hướng dẫn một số bài tập set, map
- Giao bài tập Vector & Iterator (20 bài tập)
- Giao bài tập Set & Map (30 bài tập)
Bài 2 : Hướng dẫn bài tập Vector, Set, Map
- Hướng dẫn bài tập Vector, Set, Map
Bài 3 : Hàm sort, binary_search, lower_bound, upper_bound
- Hàm sort trong C++
- Xây dựng comparison function
- Hàm binary_search
- lower_bound, upper_bound & biến thể của tìm kiếm nhị phân
- Hướng dẫn bài tập Comparison function, Lower_bound, Upper_bound (30 bài tập)
Bài 4 : String & Xử lý số nguyên lớn
- String trong C++
- Các dạng bài tập string
- Stringstream & bài toán với từ
- Xử lý số nguyên lớn
- Giao bài tập Chuỗi ký tự nâng cao (65 bài tập)
Bài 5 : Hướng dẫn bài tập Chuỗi ký tự
- Hướng dẫn bài tập Chuỗi ký tự
Bài 6 : Mảng cộng dồn, mảng hiệu, 2 con trỏ, cửa sổ trượt
- Mảng cộng dồn, mảng hiệu
- Hai con trỏ
- Cửa sổ trượt
- Giao bài tập : Mảng cộng dồn, mảng hiệu, hai con trỏ, cửa sổ trượt (40 bài tập)
Bài 7 : Hướng dẫn giải bài tập Mảng cộng dồn, mảng hiệu, 2 con trỏ...
- Hướng dẫn giải bài tập Mảng cộng dồn, mảng hiệu, 2 con trỏ...
Bài 8 : Mảng 2 chiều & Ma trận
- Kỹ thuật loang trên mảng 2 chiều
- Các bài toán quy hoạch động điển hình trên mảng 2 chiều
- Giao bài tập Mảng 2 chiều (30 bài tập)
Bài 9 : Lý thuyết số & tổ hợp
- Hướng dẫn giải bài tập mảng 2 chiều
- Lý thuyết số & tổ hợp trong lập trình
- Giao bài tập Lý thuyết số, tổ hợp (60 bài tập)
Bài 10 : Hướng dẫn bài tập Lý thuyết số, tổ hợp
- Hướng dẫn bài tập Lý thuyết số, tổ hợp
Bài 11 : Thuật toán sắp xếp & tìm kiếm
- Tìm kiếm nhị phân kết quả
- Sweep line
- Các bài toán sắp xếp kinh điển
- Giao bài tập Sắp xếp, tìm kiếm (60 bài tập)
Bài 12 : Hướng dẫn bài tập Sắp xếp - Tìm kiếm P1
- Hướng dẫn bài tập Sắp xếp - Tìm kiếm P1
Bài 13 : Hướng dẫn bài tập Sắp xếp - Tìm kiếm P2
- Hướng dẫn bài tập Sắp xếp - Tìm kiếm P2
Bài 14 : Thuật toán sinh kế tiếp
- Sinh nhị phân, tổ hợp, hoán vị, phân hoạch
- next_permutation & prev_permutation
- Sinh tập con bằng toán tử bit
- Giao bài tập Thuật toán sinh (40 bài tập)
Bài 15 : Hướng dẫn bài tập Thuật toán sinh
- Hướng dẫn bài tập Thuật toán sinh
Bài 16 : Thuật toán quay lui
- Quay lui sinh nhị phân, tập con, hoán vị...
- Giao bài tập Quay lui, nhánh cận (30 bài tập)
Bài 16 : Bài toán N Queen & Người du lịch
- Bài toán N quân hậu
- Bài toán người du lịch với thuật toán nhánh cận
- Hướng dẫn giải bài tập Quay lui P1
Bài 17 : Hướng dẫn giải bài tập Quay lui - Nhánh cận P2
- Hướng dẫn giải bài tập Quay lui - Nhánh cận P2
Bài 18 : Thuật toán tham lam
- Hàng đợi ưu tiên
- Các bài toán tham lam điển hình
- Chữa 1 số bài tập trong contest tham lam
- Giao bài tập Tham lam (40 bài tập)
Bài 19 : Hướng dẫn bài tập Tham lam P1
- Hướng dẫn bài tập Tham lam P1
Bài 20 : Hướng dẫn bài tập Tham lam P2
- Hướng dẫn bài tập Tham lam P2
Bài 21 : Thuật toán chia và trị
- Lũy thừa nhị phân
- Xâu Fibonacci, Tribonacci
- Số Fibonacci sử dụng nhân ma trận
- Giao bài tập Chia và trị (30 bài tập)
Bài 22 : Hướng dẫn bài tập Chia và Trị
- Hướng dẫn bài tập Chia và Trị
Bài 23. Quick sort, Merge sort, Count Inversion Problem
- Quick sort, Merge sort, Count Inversion Problem
Bài 24: Thuật toán Quy hoạch động P1
- Các bài toán quy hoạch động điển hình P1
- Giao bài tập Quy hoạch động (40 bài tập)
Bài 25 : Thuật toán Quy hoạch động P2
- Các bài toán quy hoạch động điển hình P2
- Hướng dẫn bài tập Quy Hoạch Động P1
Bài 26: Hướng dẫn bài tập Quy Hoạch Động P2
- Hướng dẫn bài tập Quy Hoạch Động P2
Bài 27: Hướng dẫn bài tập Quy Hoạch Động P3
- Hướng dẫn bài tập Quy Hoạch Động P3
Bài 28 : Đồ thị, DFS, BFS
- Các khái niệm cơ bản của đồ thị và biểu diễn đồ thị trên máy tính
- Thuật toán DFS & BFS
- Giao bài tập Đồ thị (60 bài tập)
Bài 29 : Hướng dẫn bài tập Đồ thị P1
- Hướng dẫn bài tập Đồ thị P1
Bài 30 : Ứng dụng DFS & BFS, Sắp xếp topo, Khớp và cầu
- Ứng dụng DFS, BFS : Đếm số liên thông, kiểm tra chu trình, tìm đường đi
- Khớp và cầu
- Sắp xếp topo
Bài 31 : Hướng dẫn bài tập Đồ thị P2
- Hướng dẫn bài tập Đồ thị P2
Bài 33 : Thuật toán Kosaraju & Tarjan
- Bài toán thành phần liên thông mạnh
- Kosaraju & Tarjan với bài toán SCC
- Khớp và cầu sử dụng Tarjan
Bài 34: Thuật toán Kruskal, Prim, CTDL Disjoint Set Union
- Cấu trúc dữ liệu DSU
- Bài toán cây khung cực tiểu
- Thuật toán Kruskal, Prim
Bài 35 : Thuật toán Dijkstra, Bellman - Ford, Floyd
- Bài toán tìm đường đi ngắn nhất
- Thuật toán Dijkstra, Bellman - Ford, Floyd
Bài 36 : Hướng dẫn bài tập Đồ thị P3
- Hướng dẫn bài tập Đồ thị P2
Bài 37: Ngăn xếp & hàng đợi
- Cấu trúc dữ liệu ngăn xếp và các dạng bài tập
- Cấu trúc dữ liệu hàng đợi và các dạng bài tập
- Giao bài tập Ngăn xếp & hàng đợi (30 bài tập)
Bài 38 : Hướng dẫn bài tập Ngăn xếp - Hàng đợi
- Hướng dẫn bài tập Ngăn xếp - Hàng đợi
Bài 39 : Danh sách liên kết
- Danh sách liên kết đơn
- Danh sách liên kết đôi
- Giao bài tập DSLK (20 bài tập)
Bài 40 : Hướng dẫn bài tập DSLK
- Hướng dẫn bài tập DSLK
Bài 41 : Cây nhị phân
- Cây nhị phân
- Cây nhị phân tìm kiếm
- Giao bài tập Cây nhị phân (30 bài tập)
Bài 42 : Hướng dẫn bài tập Cây nhị phân
- Hướng dẫn bài tập Cây nhị phân
Mục tiêu khóa học
Thành thạo CTDL & Giải thuật
Nắm vững kiến thức về các giải thuật và cấu trúc dữ liệu quan trọng trong lập trình.
Tư duy thuật toán & Coding skill
Nâng cao tư duy của một lập trình viên, giúp bạn trở thành một lập trình viên giỏi hơn. Hoàn thiện kỹ năng cài đặt thuật toán.
Phát triển tư duy logic & Thói quen học tập
Thông qua số lượng bài tập lớn, được chuẩn bị chi tiết và bám sát các kỹ năng cần thiết của một lập trình viên 28Tech sẽ giúp bạn có tư duy logic tốt hơn, nhanh nhạy, tối ưu. Ngoài ra việc học và làm bài tập hàng ngày giúp duy trì thói quen học tập cho bạn.
Phỏng vấn, học tập & thi đấu
Kiến thức trong khóa học giúp bạn có thể học tập tốt hơn tại đại học, tham gia các cuộc thi về lập trình và là bước chuẩn bị cho vòng phỏng vấn thuật toán tại doanh nghiệp.
Kết quả khóa học
Kiến thức hoàn thiện
Hoàn thiện kiến thức về thuật toán & cấu trúc dữ liệu, một kỹ năng rất được quan tâm bởi các doanh nghiệp khi tuyển dụng lập trình viên.
Tư duy của lập trình viên giỏi & Code tối ưu
Bài tập đa dạng, phong phú, bám sát kỹ năng cần có của lập trình viên hiện đại và hệ thống chấm bài tự động sẽ giúp bạn cực kỳ nhiều trong việc phát triển tư duy. Bạn bắt buộc phải học code một các chính xác và tối ưu.
Hộ trợ việc học tập tại đại học & Phỏng vấn
Kiến thức và mức độ khó của bài tập trong khóa học phù hợp với mọi sinh viên các trường đại học sẽ hỗ trợ cho việc học lập trình và thuật toán của bạn dễ dàng và nhanh chóng hơn. Ngoài ra những kiến thức và kỹ năng trong khóa học cũng giúp bạn chuẩn bị tốt cho vòng phỏng vấn về tư duy lập trình, thuật toán.
Nền tảng cho lập trình thi đấu
Đây là khóa học nền tảng cung cấp cho bạn các thuật toán và cấu trúc dữ liệu cần có cho những bạn có mục tiêu thi đấu lập trình, tin học trẻ, học sinh giỏi, ICPC...
Kinh nghiệm giải bài với hệ thống chấm tự động
Có kinh nghiệm giải bài tập trên các nền tảng chấm bài online tự động như Codeforces, Hackerrank, SPOJ. Đây một bước chuẩn bị vững vàng với các bạn theo đuổi lập trình thi đấu hoặc đam mê với thuật toán. Các doanh nghiệp tuyển dụng cũng đang sử dụng hệ thống chấm tự động trong vòng phỏng vấn thuật toán.
Nền tảng & sự tự tin của lập trình viên
Để trở thành lập trình viên thì bạn cần phải học rất nhiều nhưng đầu tiên bạn cần biết code tốt đã, việc có nền tảng tốt sẽ giúp bạn tự tin và đi xa hơn trong tương lai. 28Tech luôn cố gắng giúp bạn lọt vào 30% lập trình viên có kỹ năng tốt nhất.