Cấu trúc dữ liệu và giải thuật dễ nhất của Yalco

Đây là khóa học giúp bạn dễ dàng hiểu được các khái niệm cốt lõi của cấu trúc dữ liệu và thuật toán thông qua các hình ảnh minh họa trực quan và công cụ kiểm tra. Bạn sẽ được trực tiếp thực hiện từ những kiến thức cơ bản đến sắp xếp, tìm kiếm để biến chúng thành kỹ năng của chính mình.

(4.9) 111 đánh giá

1,226 học viên

Độ khó Cơ bản

Thời gian Không giới hạn

Algorithm
Algorithm
data-structure
data-structure
Algorithm
Algorithm
data-structure
data-structure

Đánh giá từ những học viên đầu tiên

Đánh giá từ những học viên đầu tiên

4.9

5.0

HJuhoney

97% đã tham gia

Hiệu quả về giá cả và thời gian đều tuyệt vời. Những thứ mà tôi đã nhìn mãi mà vẫn mơ hồ trong các khóa học đắt tiền, giờ chỉ sau ba bốn tiếng xem liên tục là đã hiểu hết. Tôi chưa thử công cụ test và code thực hành nhưng chỉ xem video thôi cũng đã đáng đồng tiền bát gạo rồi. Tôi rất khuyến khích khóa học này.

5.0

doob9p

32% đã tham gia

Việc tạo ra bài giảng thông qua hoạt hình thật sự rất dễ hiểu và không làm mất tập trung khi xem! Đặc biệt là việc anh đã tạo ra giao diện để có thể xem và test theo từng cấu trúc dữ liệu thật tuyệt vời🔥

5.0

Jy._s

56% đã tham gia

Tôi luôn bị mắc kẹt ở phần đệ quy của cây và đã từ bỏ, nhưng thông qua bài giảng này cuối cùng tôi đã có thể hiểu hết được. Đặc biệt là luồng quay trở lại hàm trước đó thông qua return để kết nối các node rất khó hiểu, nhưng nhờ lời giải thích của giảng viên mà phần đó đã được giải quyết thật sảng khoái! Bây giờ tôi có thể hình dung trong đầu cách cây được cấu thành^^ Cảm ơn thầy!

Bạn sẽ nhận được điều này sau khi học.

  • Các khái niệm cốt lõi về hiệu suất thuật toán như độ phức tạp thời gian và độ phức tạp không gian

  • Nguyên lý và cách triển khai các cấu trúc dữ liệu chính như mảng, ngăn xếp, hàng đợi, cây và đồ thị

  • So sánh cách hoạt động và hiệu quả của các thuật toán sắp xếp khác nhau như sắp xếp nổi bọt (bubble sort), sắp xếp hợp nhất (merge sort) và sắp xếp nhanh (quick sort).

  • Hiểu các thuật toán thường xuyên xuất hiện trong các bài kiểm tra lập trình và thực tế như tìm kiếm DFS, BFS

  • Nâng cao khả năng triển khai cấu trúc dữ liệu và thuật toán thông qua thực hành sử dụng Java và Python.

https://youtu.be/d2X38zE7VsU

Sau khi để lại thích và bình luận cho video YouTube trên (phần công khai của bài giảng này),
hãy gửi ảnh chụp màn hình đến yalco@yalco.kr,
chúng tôi sẽ gửi cho bạn mã giảm giá để có thể tham gia khóa học với giá bằng một nửa.

Cấu trúc dữ liệu và thuật toán là nền tảng cơ bản của mọi nhà phát triển, đồng thời là cốt lõi của các bài kiểm tra mã hóa và thực tế công việc.
Tuy nhiên, các khái niệm thường khó hiểu và chỉ đọc sách thôi thì hoàn toàn không thể nắm bắt được.
Khóa học này sẽ xóa tan sự mơ hồ đó bằng những ví dụ so sánh thực tế, hình ảnh trực quan và các bài thực hành trực tiếp 'chạm vào'.
Không có thuật ngữ phức tạp, chúng tôi sẽ truyền đạt những nội dung cốt lõi cần thiết một cách dễ hiểu và rõ ràng nhất.
Nếu bạn muốn xây dựng nền tảng vững chắc ngay từ đầu, hãy bắt đầu với khóa học này ngay bây giờ.

👌 Chỉ cần biết một trong hai ngôn ngữ Python hoặc Java là OK!

👆 Bên trái là mã Python

👆 Bên phải là mã Java

Tất cả các ví dụ trong bài giảng (ngoại trừ mảng động do đặc thù ngôn ngữ) đều được giải thích đồng thời bằng cả mã nguồn Python và Java.

Chỉ cần bạn biết một trong hai ngôn ngữ là đã có thể theo học khóa học này, và ngay cả khi bạn đã học các ngôn ngữ có cú pháp tương tự Java như JavaScript hay C#, bạn vẫn có thể tiếp thu mà không gặp nhiều khó khăn.

Việc vừa quan sát các mã nguồn được giải thích đồng thời, vừa xem xét sự khác biệt giữa hai ngôn ngữ cũng sẽ là một điểm học tập thú vị.

🕹 Học cấu trúc dữ liệu và thuật toán thông qua việc trực tiếp chạm và thao tác

Chúng tôi cung cấp các công cụ kiểm tra như trên cho tất cả các cấu trúc dữ liệu và thuật toán được đề cập trong bài giảng.

Chúng tôi đã tạo ra công cụ này để các bạn có thể tự mình nhập các giá trị, thực thi các chức năng và quan sát từng bước của mỗi quá trình.

Với mỗi thao tác, độ phức tạp thời gian độ phức tạp không gian cũng được hiển thị, giúp bạn có thể tìm hiểu sâu hơn về từng cấu trúc dữ liệu và thuật toán.

👇 Bạn có thể nhấp vào để xem trước!

💡 Khóa học video chất lượng cao của Yalco - bậc thầy giải thích.

YouTuber Yalco, người có khả năng giải thích mọi khái niệm khó nhằn và phức tạp một cách nhanh chóng, sẽ giúp bạn hiểu rõ các cấu trúc dữ liệu và thuật toán nan giải thông qua các ví dụ ẩn dụ và đồ họa trực quan chỉ trong một nốt nhạc.

Tất cả các cảnh đều có phụ đề, và mã nguồn được giải thích bằng các đường chỉ dẫn trực quan thay vì quá trình gõ phím, giúp bạn trải nghiệm việc học một cách nhanh chóng, dễ dàng và thuận tiện.

🖱 Cung cấp tất cả ví dụ dưới dạng snippet có thể sao chép và dán được

Mỗi bài học đều cung cấp các trang Notion để bạn có thể kiểm tra/sao chép mã ví dụ tương ứng và truy cập vào trang thử nghiệm. Bạn có thể tận dụng điều này để quá trình học tập trở nên đơn giản và hiệu quả hơn.

Khuyên dùng cho những đối tượng sau!

Người đang chuẩn bị cho bài kiểm tra coding để xin việc

Sinh viên chuyên ngành Khoa học máy tính lần đầu tiếp cận các môn CS

Nhà phát triển muốn củng cố vững chắc các khái niệm

  • Những người không quen thuộc với độ phức tạp thời gian và cấu trúc dữ liệu
    hoặc không có thời gian để hệ thống lại kiến thức.

  • Những người muốn bắt đầu chuẩn bị cho kỳ thi coding test
    bằng cách vừa thực hành vừa hệ thống lại các khái niệm

  • Sinh viên năm 1, năm 2 từng thấy các tiết học Cấu trúc dữ liệu/Giải thuật khó khăn

  • Những người cảm thấy lời giải thích của sách hay của giáo sư quá trừu tượng

  • Những người muốn nắm vững các khái niệm cốt lõi thông qua giải thích trực quan và thực hành.

  • Những người đã quen với công việc thực tế nhưng cảm thấy các khái niệm cơ bản vẫn chưa vững chắc.

  • Những người muốn hệ thống lại từ đầu và củng cố cả lý thuyết lẫn thực hành.

📋 Bạn sẽ học được những nội dung sau.

1. Độ phức tạp

  • Ý nghĩa của độ phức tạp thời gian và độ phức tạp không gian

  • Cách viết và cách giải thích ký hiệu Big-O

  • Các loại độ phức tạp chính và ví dụ thực tế


2. Mảng và Danh sách

  • Định nghĩa và cấu trúc bộ nhớ của mảng

  • Truy cập chỉ mục, sửa đổi phần tử, duyệt toàn bộ bộ nhớ

  • Nguyên lý và chi phí của các thao tác chèn và xóa

  • Tìm kiếm tuyến tính dựa trên mảng

  • Sự khác biệt về khái niệm giữa danh sách và mảng


3. Ngăn xếp và Hàng đợi

  • Cấu trúc và thao tác của Stack: push, pop, peek

  • Cấu trúc và hoạt động của hàng đợi (queue): enqueue, dequeue

  • Khái niệm và nguyên lý của Call Stack

  • Triển khai dựa trên mảng và danh sách liên kết


4. Cây (Tree)

  • Cấu trúc của cây nhị phân: Gốc (root), Nút (node), Lá (leaf), Chiều cao (height)

  • Các phương pháp duyệt cây: Preorder, Inorder, Postorder, Level-order

  • Khái niệm về Cây tìm kiếm nhị phân (BST) và các quy tắc chèn/tìm kiếm

  • Các điều kiện cân bằng và phép xoay của cây AVL

  • Các quy tắc màu sắc và đặc điểm của cây Đỏ-Đen (Red-Black Tree)

5. Sắp xếp

  • Sắp xếp nổi bọt, Sắp xếp chọn, Sắp xếp chèn

  • Sắp xếp hợp nhất (Merge Sort), Sắp xếp nhanh (Quick Sort), Sắp xếp vun đống (Heap Sort)

  • So sánh cách hoạt động của từng thuật toán

  • Độ phức tạp thời gian và các trường hợp tốt nhất/xấu nhất theo từng thuật toán sắp xếp

  • Hiệu quả và mục đích sử dụng trong thực tế


6. Hash

  • Hàm băm và tính toán chỉ mục băm

  • Cách giải quyết xung đột: Chaining, Open Addressing

  • Lưu trữ và tìm kiếm cặp khóa-giá trị

  • Phân tích độ phức tạp thời gian của Hash Map

  • Cài đặt bảng băm đơn giản


7. Đồ thị

  • Các thành phần của đồ thị: Đỉnh (vertex), Cạnh (edge)

  • Đồ thị có hướng vs Đồ thị vô hướng

  • Sự khác biệt tùy theo việc có trọng số hay không

  • Triển khai theo phương pháp Danh sách kề / Ma trận kề

  • Thuật toán DFS (Tìm kiếm theo chiều sâu) và BFS (Tìm kiếm theo chiều rộng)

  • Thuật toán đường đi ngắn nhất (Dijkstra, Floyd-Warshall, Bellman-Ford)

  • Thuật toán cây bao trùm nhỏ nhất (Kruskal, Prim)

Lưu ý trước khi học

Tài liệu học tập

  • Các công cụ kiểm tra và mã ví dụ được sử dụng trong bài giảng sẽ được cung cấp qua trang Notion.

Kiến thức tiên quyết và lưu ý

  • Kiến thức cơ bản đủ để có thể đọc được mã nguồn Python và Java

    • Hoặc kiến thức có thể sử dụng các ngôn ngữ tương tự như Java như JavaScript hoặc C#.

Khuyến nghị cho
những người này

Khóa học này dành cho ai?

  • Dành cho những người đang theo học lớp Cấu trúc dữ liệu & Giải thuật

  • Những người đang chuẩn bị cho kỳ thi lập trình (coding test)

  • Những người mong muốn phát triển hơn nữa với tư cách là một nhà phát triển

Cần biết trước khi bắt đầu?

  • Kiến thức cơ bản về Python hoặc Java (hoặc các ngôn ngữ tương tự)

Xin chào
Đây là yalco

34,165

Học viên

1,960

Đánh giá

96

Trả lời

4.9

Xếp hạng

17

Các khóa học

Tôi là YouTuber của kênh Từ điển Lập trình Nông cạn, đồng thời là tác giả của nhiều cuốn sách về IT. Tận dụng kinh nghiệm làm việc với tư cách là một nhà phát triển Full-stack, tôi đang tạo ra các nội dung giải thích những khái niệm lập trình khó bằng các phép ẩn dụ, ví dụ đơn giản và đôi khi là hoạt hình để người mới bắt đầu có thể dễ dàng thấu hiểu.

🎬   Kênh YouTube Từ điển Lập trình Nông cạn (Click!)
📕  Xem các cuốn sách của Yalco (Click!)

Thêm

Chương trình giảng dạy

Tất cả

34 bài giảng ∙ (4giờ 36phút)

Ngày đăng: 
Cập nhật lần cuối: 

Đánh giá

Tất cả

111 đánh giá

4.9

111 đánh giá

  • aquswitpo5474님의 프로필 이미지
    aquswitpo5474

    Đánh giá 10

    Đánh giá trung bình 5.0

    5

    97% đã tham gia

    Hiệu quả về giá cả và thời gian đều tuyệt vời. Những thứ mà tôi đã nhìn mãi mà vẫn mơ hồ trong các khóa học đắt tiền, giờ chỉ sau ba bốn tiếng xem liên tục là đã hiểu hết. Tôi chưa thử công cụ test và code thực hành nhưng chỉ xem video thôi cũng đã đáng đồng tiền bát gạo rồi. Tôi rất khuyến khích khóa học này.

    • minganta888675님의 프로필 이미지
      minganta888675

      Đánh giá 11

      Đánh giá trung bình 4.9

      Đã chỉnh sửa

      5

      62% đã tham gia

      Nói ra quá dễ dàng như vậy khiến những khó khăn từ trước đến giờ trở nên vô nghĩa Thôi cứ nghe cái này đi

      • brook님의 프로필 이미지
        brook

        Đánh giá 1

        Đánh giá trung bình 5.0

        5

        32% đã tham gia

        Việc tạo ra bài giảng thông qua hoạt hình thật sự rất dễ hiểu và không làm mất tập trung khi xem! Đặc biệt là việc anh đã tạo ra giao diện để có thể xem và test theo từng cấu trúc dữ liệu thật tuyệt vời🔥

        • gzenden님의 프로필 이미지
          gzenden

          Đánh giá 10

          Đánh giá trung bình 4.9

          5

          9% đã tham gia

          Lần này khi tham gia thử thách Chuseok của anh Hyangro, tôi nhận ra mình hoàn toàn thiếu kiến thức cơ bản về CS nên đã đăng ký khóa học để bổ sung phần này, và quả nhiên phương pháp giảng dạy bằng animation của anh Yalco thực sự dễ hiểu và thấm vào tai, khiến tôi cảm thấy rất vui 😊😊

          • jyseo님의 프로필 이미지
            jyseo

            Đánh giá 54

            Đánh giá trung bình 5.0

            5

            56% đã tham gia

            Tôi luôn bị mắc kẹt ở phần đệ quy của cây và đã từ bỏ, nhưng thông qua bài giảng này cuối cùng tôi đã có thể hiểu hết được. Đặc biệt là luồng quay trở lại hàm trước đó thông qua return để kết nối các node rất khó hiểu, nhưng nhờ lời giải thích của giảng viên mà phần đó đã được giải quyết thật sảng khoái! Bây giờ tôi có thể hình dung trong đầu cách cây được cấu thành^^ Cảm ơn thầy!

            Khóa học khác của yalco

            Hãy khám phá các khóa học khác của giảng viên!

            Khóa học tương tự

            Khám phá các khóa học khác trong cùng lĩnh vực!

            921.803 ₫