Cấu trúc dữ liệu và Giải thuật

Khóa học Cấu trúc dữ liệu & Giải thuật (Thuật toán) gồm 3 phần chính : Ôn luyện lại kỹ thuật lập trình với C++ và thư viện STL, Thuật toán, Cấu trúc dữ liệu. 

Khóa học gồm 48 buổi học qua zoom với 650-700 bài tập được chấm tự động bằng hệ thống chấm bài sẽ cung cấp kỹ năng toàn diện về Thuật toán & Cấu trúc dữ liệu cho học viên.

Khóa học dành cho các bạn đã có kỹ thuật lập trình và sử dụng tốt ngôn ngữ lập trình C++ cũng như thư viện STL. 

Đội Ngũ 28Tech
Đội Ngũ 28Tech
Lộ trình khóa học

Tổng quan khóa học

Khóa học gồm 48 buổi (96 giờ học) kéo dài trong 3 tháng, mỗi tuần học viên sẽ có tối đa 4 buổi học, những học viên code tốt có thể tham gia 3 buổi mỗi tuần nếu đã hoàn thành bài tập trong contest.

Học viên có thể trao đổi, hỏi đáp, yêu cầu hỗ trợ từ giáo viên cũng như trợ giảng khi gặp khó khăn trong quá trình giải bài tập.

Các bài tập trong khóa học được chuẩn bị test case kỹ lưỡng và sử dụng nền tảng của Hackerrank để các bạn có thể nộp lời giải và chấm bài tự động. Khóa học với 16 contest với 650-700 bài tập bài tập được chuẩn bị kỹ lưỡng 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 contest sẽ được giáo viên giải chi tiết trong các buổi học.

Thời lượng: 48 buổi học (96 giờ học)

Thời gian học: 3 tháng

Hình thức học: Online qua Zoom

Số buổi trên tuần: 4 buổi (2h/buổi)

Số lượng contest: 19-20

Số lượng bài tập: 650-700 bài tập

Yêu cầu đầu vào : Kỹ thuật lập trình, C++ & STL

Xem Thêm

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 contest 1 : Vector & Iterator (20 bài tập)
    - Giao contest 2 : Set & Map (30 bài tập)
  • Bài 2 : Hướng dẫn contest 1 & 2 phần
    - Hướng dẫn giải bài tập contest 1 & 2 phần
  • 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
    - Giao contest 3 : Comparison function, Lower_bound, Upper_bound (30 bài tập)
  • Bài 4 : Hướng dẫn contest 3
    - Hướng dẫn giải bài tập contest 3
  • Bài 5 : 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 contest 4 : Chuỗi ký tự cơ bản (40 bài tập)
    - Giao contest 5 : Chuỗi ký tự nâng cao (65 bài tập)
  • Bài 6 : Hướng dẫn contest 5 phần 1
    - Hướng dẫn giải bài tập contest 5 phần 1
  • Bài 7 : Hướng dẫn contest 5 phần 2
    - Hướng dẫn giải bài tập contest 5 phần 2
  • Bài 8 : 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 contest 6 : Mảng cộng dồn, mảng hiệu, hai con trỏ, cửa sổ trượt (40 bài tập)
    - Giao contest 7 : Mảng 1 chiều (40 bài tập)
  • Bài 9 : Hướng dẫn contest 6 phần 1
    - Hướng dẫn giải bài tập contest 6 phần 1
  • Bài 10 : Hướng dẫn contest 6 phần 2
    - Hướng dẫn giải bài tập contest 6 phần 2
  • Bài 11 : Hướng dẫn contest 7 phần 1
    - Hướng dẫn giải bài tập contest 7 phần 1
  • Bài 12 : Hướng dẫn contest 7 phần 2
    - Hướng dẫn giải bài tập contest 7 phần 2
  • Bài 13 : 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 contest 8 : Mảng 2 chiều (30 bài tập)
  • Bài 14 : 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 contest 9 : Lý thuyết số, tổ hợp (60 bài tập)
  • Bài 16 : Hướng dẫn contest 9 phần 2
    - Hướng dẫn giải bài tập contest 9 phần 2

  • Bài 17 : 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 contest 10 : Sắp xếp, tìm kiếm (60 bài tập)
  • Bài 18 : Hướng dẫn contest 10 phần 1
    - Hướng dẫn giải bài tập contest 10 phần 1
  • Bài 19 : Hướng dẫn contest 10 phần 2
    - Hướng dẫn giải bài tập contest 10 phần 2
  • Bài 20 : 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 contest 11 : Thuật toán sinh (40 bài tập)
  • Bài 21 : Hướng dẫn contest 11 phần 1
    - Hướng dẫn giải bài tập contest 11 phần 1
  • Bài 22 : Hướng dẫn contest 11 phần 2
    - Hướng dẫn giải bài tập contest 11 phần 2
  • Bài 23 : Thuật toán quay lui
    - Quay lui sinh nhị phân, tập con, hoán vị...
    - Giao contest 12 : Quay lui, nhánh cận (30 bài tập)
  • Bài 24 : 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 contest 12 phần 1
  • Bài 25 : Hướng dẫn contest 12 phần 2
    - Hướng dẫn giải bài tập contest 12 phần 2

  • Bài 26 : 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 contest 13 : Tham lam (50 bài tập)
  • Bài 27 : Hướng dẫn contest 13 phần 1
    - Hướng dẫn giải bài tập contest 13 phần 1
  • Bài 28 : Hướng dẫn contest 13 phần 2
    - Hướng dẫn giải bài tập contest 13 phần 2
  • Bài 29 : 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 contest 14 : Chia và trị (30 bài tập)
  • Bài 30 : Hướng dẫn contest 14
    - Hướng dẫn giải bài tập contest 14
  • Bài 31 : Thuật toán Quy hoạch động
    - Các bài toán quy hoạch động điển hình
    - Giao contest 15 : Quy hoạch động (80 bài tập)
  • Bài 32 : Quy hoạch động trạng thái & chữ số
    - Quy hoạch động trạng thái & chữ số
    - Hướng dẫn contest 15 phần 1
  • Bài 33 : Hướng dẫn contest 15 phần 2
    - Hướng dẫn giải bài tập contest 15 phần 2
  • Bài 34 : Hướng dẫn contest 15 phần 3
    - Hướng dẫn giải bài tập contest 15 phần 3

  • Bài 35 : Đồ 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 contest 16 : Đồ thị (70 bài tập)
  • Bài 36 : Hướng dẫn contest 16 phần 1
    - Hướng dẫn giải bài tập contest 16 phần 1
  • Bài 37 : Ứ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 38 : Hướng dẫn contest 16 phần 2
    - Hướng dẫn giải bài tập contest 16 phần 2
  • Bài 39 : 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 40 : 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 41 : 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 42 : Hướng dẫn contest 16 phần 3
    - Hướng dẫn giải contest 16 phần 3

  • Bài 43 : 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 contest 17 : Ngăn xếp & hàng đợi (30 bài tập)
  • Bài 44 : Hướng dẫn contest 17
    - Hướng dẫn giải bài tập contest 17

  • Bài 45 : Danh sách liên kết
    - Danh sách liên kết đơn
    - Danh sách liên kết đôi
    - Giao contest 18 : DSLK (20 bài tập)
  • Bài 46 : Hướng dẫn contest 18
    - Hướng dẫn giải bài tập contest 18
  • Bài 47 : Cây nhị phân
    - Cây nhị phân
    - Cây nhị phân tìm kiếm
    - Giao contest 19 : Cây nhị phân (30 bài tập)
  • Bài 48 : Hướng dẫn contest 19
    - Hướng dẫn giải bài tập contest 19

Mục tiêu khóa học

Thành thạo CTDL & Giải thuật
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.

1
Tư duy thuật toán & Coding skill
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.

2
Phát triển tư duy logic & Thói quen học tập
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.

3
Phỏng vấn, học tập & thi đấu
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.

4

Kết quả khóa học

Kiến thức hoàn thiện
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.

1
Tư duy của lập trình viên giỏi & Code tối ưu
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.

2
Hộ trợ việc học tập tại đại học & Phỏng vấn
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.

3
Nền tảng cho lập trình thi đấu
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...

4
Kinh nghiệm giải bài với hệ thống chấm tự động
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.

5
Nền tảng & sự tự tin của lập trình viê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.

6

Đối tượng tham gia

Sinh viên ngành Công Nghệ Thông Tin
Sinh viên ngành Công Nghệ Thông Tin

Sinh viên ngành IT tại các trường đại học đã có kiến thức về kỹ thuật lập trình và ngôn ngữ lập trình C++, thư viện STL.

1
Học Sinh Cấp 2, 3 Đam Mê Lập Trình
Học Sinh Cấp 2, 3 Đam Mê Lập Trình

Các bạn học sinh cấp 2, 3 muốn học lập trình để thi học sinh giỏi, tin học trẻ, Olympic tin học... Hoặc các bạn học sinh yêu thích lập trình muốn bắt đầu học lập trình một cách bài bản

2
Lập trình viên
Lập trình viên

Lập trình viên đã đi làm muốn trau dồi thêm kỹ năng về thuật toán & cấu trúc dữ liệu để phục vụ công việc.

3
Sinh viên ngành ICT nói chung, người trái ngành
Sinh viên ngành ICT nói chung, người trái ngành

Sinh viên các ngành khác hoặc trái ngành muốn cạnh tranh tốt hơn với sinh viên IT về kỹ năng code và tư duy thuật toán.

4

Lý do bạn nên học

Học 1 được rất nhiều
Học 1 được rất nhiều

Học CTDL & giải thuật tại 28Tech bạn đã được học kiến thức các môn học : Kỹ thuật lập trình, Cấu trúc dữ liệu và giải thuật, toán rời rạc, lý thuyết đồ thị

1
Tư duy thuật toán quyết định bạn là ai?
Tư duy thuật toán quyết định bạn là ai?

Tư duy thuật toán tốt là một kỹ năng mà nhà tuyển dụng đánh giá rất cao ở ứng viên. Hầu hết sinh viên tại các trường đại học hiện nay học thuật toán chưa đủ để có thể phát triển lâu dài.

2
Tài Liệu & Bài Tập Chất Lượng Cao
Tài Liệu & Bài Tập Chất Lượng Cao

Các slide lý thuyết của 28Tech được thiết kế rất chi tiết, không chỉ đơn thuần cung cấp lý thuyết mà còn chỉ ra các điểm cần lưu ý, dễ nhầm lẫn và từng dạng bài tập cụ thể. Bài tập được chuẩn bị bám sát với kỹ năng cần có của lập trình viên khi đi học đi làm kết hợp với hệ thống chấm bài tự động 24/24

3
Hệ thống chấm bài tự động Hackerrank
Hệ thống chấm bài tự động Hackerrank

Khi tham gia học bạn sẽ được cung cấp tài khoản và bài tập Hackerrank để luyện tập. Đây là website chấm bài tự động cực kỳ nổi tiếng trên thế giới giúp bạn code tối ưu và chính xác hơn.

4
Đội ngũ 28Tech
Đội ngũ 28Tech

Đội ngũ 28Tech luôn tận tâm, cố gắng, nhiệt huyết nhằm tạo môi trường học tập tốt nhất. Chúng mình không ngừng nâng cao kiến thức và kỹ năng sư phạm của mình để đáp ứng được mong đợi của các bạn sinh viên.

5
Support từ giảng viên, trợ giảng
Support từ giảng viên, trợ giảng

Các bài tập trong khóa học đều được giải chi tiết trong các buổi học, trong quá trình học và làm bài tập trên hệ thống bạn có thể trao đổi những khó khăn vướng mắc trực tiếp với giáo viên trong và ngoài giờ học.

6
Định hướng học tập khoa học, đầy đủ
Định hướng học tập khoa học, đầy đủ

Hệ thống kiến thức và bài tập tại 28Tech được thiết kế để bạn có thể đạt được những kỹ năng cần có của một lập trình viên giỏi. Bạn sẽ không phải tìm thêm tài liệu, bài tập, sách hay ebook nữa, và cũng không sợ bị học thiếu nội dung hay chưa đủ độ khó. Việc này giúp bạn tiết kiệm rất nhiều thời gian so với tự học.

7
Phát triển nghề nghiệp
Phát triển nghề nghiệp

Một lập trình viên giỏi và có thể phát triển tốt trong tương lai chắc chắn cần tư duy thuật toán, công nghệ tốt và có khả năng tối ưu code.

8
Video Images
2,950,000 đ6,000,000 đ
  • Ngày khai giảng13/05/2024
  • Lịch họcThứ 2, Thứ 4, Thứ 5, Thứ 7
  • Giờ học21h - 23h
  • Số lượng bài giảng48
  • Giảng viênĐội Ngũ 28Tech
Khóa Học

Cấu trúc dữ liệu và Giải thuật

Khóa học Cấu trúc dữ liệu & Giải thuật (Thuật toán) gồm 3 phần chính : Ôn luyện lại kỹ thuật lập trình với C++ và thư viện STL, Thuật toán, Cấu trúc dữ liệu. 

Khóa học gồm 48 buổi học qua zoom với 650-700 bài tập được chấm tự động bằng hệ thống chấm bài sẽ cung cấp kỹ năng toàn diện về Thuật toán & Cấu trúc dữ liệu cho học viên.

Khóa học dành cho các bạn đã có kỹ thuật lập trình và sử dụng tốt ngôn ngữ lập trình C++ cũng như thư viện STL. 

00Ngày
00Giờ
00Phút
00Giây

Đăng ký khóa học

ĐĂNG KÝ NGAY
Cấu trúc dữ liệu và Giải thuật
2,950,000đ6,000,000đ