inflearn logo
inflearn logo

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.

(5.0) 수강평 93개

강의소개.상단개요.수강생.short

난이도 초급

수강기한 무제한

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

먼저 경험한 수강생들의 후기

먼저 경험한 수강생들의 후기

5.0

5.0

HJuhoney

97% 수강 후 작성

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

ming

62% 수강 후 작성

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

5.0

doob9p

32% 수강 후 작성

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🔥

강의상세_배울수있는것_타이틀

  • 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.

Cấu trúc dữ liệu và giải thuật là kỹ nă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 lập trình 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ông lung đó bằng những ví dụ so sánh thực tế, tài liệu hình ảnh và các bài thực hành trực tiếp 'chạm tay vào'.
Không có thuật ngữ phức tạp, chúng tôi sẽ truyền đạt những cốt lõi cần thiết nhất một cách dễ hiểu và rõ ràng.
Nếu bạn là người muốn xây dựng nền tảng một cách bài bản, 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, 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 mã nguồn Python và Java.

Ngay cả khi bạn chỉ biết một trong hai ngôn ngữ, bạn vẫn có thể tham gia khóa học, và nếu bạn đã học các ngôn ngữ có cú pháp tương tự Java như JavaScript hay C#, bạn cũng có thể theo dõi mà không gặp nhiều khó khăn.

Việc quan sát các đoạn mã được giải thích đồng thời và 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 tốt.

🕹 Học cấu trúc dữ liệu và thuật toán thông qua việc trực tiếp trải nghiệ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ác bạn có thể trực tiếp nhập các giá trị, thực thi các tính năng và xem xé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!

💡 Các khóa học video chất lượng cao của Yalco - chuyên gia giải thích cực đỉnh

Yalco, YouTuber chuyên giải thích mọi khái niệm khó 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 phép ẩn dụ và đồ họa trực quan chỉ trong một nốt nhạc.

Tất cả các phân 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ả các ví dụ dưới dạng đoạn mã (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 tìm việc đang chuẩn bị cho bài kiểm tra coding

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 hệ thống lại các khái niệm cùng với việc thực hành

  • Sinh viên năm 1-2 từng thấy môn Cấu trúc dữ liệu/Giải thuật khó hiểu

  • Những người cảm thấy lời giải thích trong sách hoặc 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 bằng hình ảnh 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 nền tảng khái niệm cơ bản đang bị lung lay.

  • 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ộ

  • 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à các thao tác của Stack: push, pop, peek

  • Cấu trúc và các thao tác 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à dựa trên 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 thức duyệt cây: Preorder (Duyệt tiền thứ tự), Inorder (Duyệt trung thứ tự), Postorder (Duyệt hậu thứ tự), Level-order (Duyệt theo mức)

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

  • Các phép quay và điều kiện cân bằng 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 theo từng thuật toán sắp xếp và các trường hợp tốt nhất/xấu nhất

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


6. Bảng băm

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

  • Phương pháp 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ị: nút (đỉnh), cạnh (cung)

  • Đồ 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

  • Cài đặt theo phương thức 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 tối thiểu (Kruskal, Prim)

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

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

  • Các công cụ kiểm thử 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ể xử lý các ngôn ngữ tương tự Java như JavaScript hoặc C#.

강의소개.콘텐츠.추천문구

학습 대상은 누구일까요?

  • 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

선수 지식, 필요할까요?

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

강의소개.지공자소개

33,387

수강생

1,839

수강평

95

답변

4.9

강의 평점

17

강의_other

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!)

더보기

커리큘럼

전체

34개 ∙ (강의상세_런타임_시간 강의상세_런타임_분)

강의 게시일: 
마지막 업데이트일: 

수강평

전체

93개

5.0

93개의 수강평

  • brook님의 프로필 이미지
    brook

    수강평 1

    평균 평점 5.0

    5

    32% 수강 후 작성

    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🔥

    • minganta888675님의 프로필 이미지
      minganta888675

      수강평 4

      평균 평점 5.0

      수정됨

      5

      62% 수강 후 작성

      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

      • aquswitpo5474님의 프로필 이미지
        aquswitpo5474

        수강평 9

        평균 평점 5.0

        5

        97% 수강 후 작성

        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.

        • gzenden님의 프로필 이미지
          gzenden

          수강평 10

          평균 평점 4.9

          5

          9% 수강 후 작성

          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

            수강평 53

            평균 평점 5.0

            5

            56% 수강 후 작성

            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!

            yalco님의 다른 강의

            지식공유자님의 다른 강의를 만나보세요!

            비슷한 강의

            같은 분야의 다른 강의를 만나보세요!

            강의상세.할인문구

            30.800 ₫

            30%

            911.793 ₫