강의

멘토링

로드맵

Inflearn brand logo image
BEST
Programming

/

Algorithm & Data Structure

Không chuyên bắt kịp chuyên ngành - Cấu trúc dữ liệu (với JavaScript)

Cấu trúc dữ liệu là điều kiện tiên quyết cần thiết để nghiên cứu thuật toán! Hãy cùng tìm hiểu các cấu trúc dữ liệu khác nhau với JavaScript!

(4.7) 16 đánh giá

425 học viên

  • zerocho
이론 실습 모두
코딩테스트대비
자료구조
알고리즘
자바스크립트
JavaScript
Algorithm
Coding Test

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

Dịch cái này sang tiếng Việt

  • Danh sách liên kết, ngăn xếp, hàng đợi, bộ bài

  • Cây, cây nhị phân, cây tìm kiếm nhị phân, cây đỏ đen

  • Đống, hàng đợi ưu tiên

  • đồ thị

Sinh viên chuyên ngành khoa học máy tính học những gì khác biệt?
Ngay cả những nhà phát triển không chuyên cũng có thể học được qua các bài giảng 😎

Nếu bạn từng có những lo lắng này, hãy chú ý!

🫠

Ngày nay, tất cả các công ty tốt đều yêu cầu kiểm tra mã hóa ...

🤔

Tôi đang cố gắng học thuật toán, nhưng trước tiên tôi phải học cấu trúc dữ liệu .

🥲

Vậy nên tôi đã tìm kiếm các bài giảng về cấu trúc dữ liệu/thuật toán và thấy Python, C++, Java... Tôi là một nhà phát triển web nên tôi chỉ biết JavaScript . Tôi nên làm gì?

Kiến thức về khoa học máy tính chỉ dành cho những người chuyên ngành này thôi sao?
Bất kỳ ai cũng có thể học, kể cả những người không chuyên ngành!

Thuật toán được nhấn mạnh rất nhiều trong các bài kiểm tra lập trình! Cấu trúc dữ liệu là điều kiện tiên quyết để học thuật toán. Các cấu trúc khác nhau được sử dụng trong thuật toán, chẳng hạn như ngăn xếp, hàng đợi, cây và đồ thị, được gọi là cấu trúc dữ liệu. Nếu bạn biết các cấu trúc dữ liệu hiệu quả, các thuật toán sử dụng chúng chắc chắn cũng sẽ hiệu quả!

Những người không chuyên ngành chưa học khoa học máy tính thường cho rằng những người chuyên ngành đã có kiến thức chuyên sâu. Tuy nhiên , với sự học tập chăm chỉ, ngay cả những người không chuyên ngành cũng có thể đạt được trình độ kiến thức chuyên môn tương đương với những người chuyên ngành khoa học máy tính . Tôi sẽ dạy bạn những kiến thức cơ bản, tập trung vào kiến thức thực tế.

Nếu bạn không thể trả lời "có" cho bất kỳ câu hỏi nào trong ba câu hỏi dưới đây, hãy tham gia khóa học này!

  • Bạn có thể triển khai ngăn xếp, hàng đợi, đống, cây và đồ thị trực tiếp trong JavaScript không?
  • Bạn có biết cách tính độ phức tạp thời gian nhanh chóng không?
  • Bạn có biết cấu trúc dữ liệu nào hiệu quả nhất khi chèn, sửa đổi, xóa và truy xuất dữ liệu không?

Tôi giới thiệu điều này cho những người này 🙆‍♀️

Người tìm việc nghiên cứu thuật toán để làm bài kiểm tra mã hóa

Những người cảm thấy khó khăn khi phải học cấu trúc dữ liệu bằng ngôn ngữ khác ngoài JavaScript.

Những người chỉ muốn biết các cấu trúc dữ liệu thường được sử dụng trong thực tế giữa các môn học chính của họ

Bốn điểm mạnh chính của khóa học này!

Chúng tôi cung cấp ghi chú bài giảng

Chúng tôi đã đăng tóm tắt nội dung bài giảng trên GitHub . Nếu bạn có bất kỳ câu hỏi nào hoặc cần xem lại, vui lòng tham khảo ghi chú bài giảng!

Bài giảng được thực hiện bằng JavaScript

Bạn có thấy khó chịu với các bài giảng về cấu trúc dữ liệu/thuật toán được giảng dạy bằng nhiều ngôn ngữ khác nhau không? Chúng tôi sẽ dạy bằng JavaScript, với mã nguồn được đính kèm trong tài liệu học tập.

Học tập chủ động thông qua câu hỏi và câu trả lời

Điểm mạnh của các bài giảng của tôi nằm ở phần Hỏi & Đáp. Nếu bạn có bất kỳ câu hỏi nào, tôi sẽ trả lời trong vòng 48 giờ. Hãy thoải mái đặt câu hỏi về nội dung bài giảng và học tập theo đó. Điều này sẽ giúp bạn hiểu bài học tốt hơn!

Chúng tôi liên tục cập nhật và bổ sung các bài học bằng thông tin mới nhất và tin tức để giải đáp những câu hỏi thường gặp của học viên.

Ít gánh nặng hơn, hiểu nhanh hơn

Chúng ta sẽ chỉ tập trung vào cấu trúc dữ liệu, bỏ qua phần toán học và cho phép bạn nhanh chóng chuyển sang thuật toán. Tiết kiệm thời gian bằng cách học những kiến thức cơ bản một cách hiệu quả!


Học những điều như thế này 📚

Phương pháp phân tích độ phức tạp thời gian/không gian

Nguyên tắc và triển khai các cấu trúc dữ liệu ngăn xếp, hàng đợi, cây, đồ thị và bảng băm

Phân tích và so sánh ưu nhược điểm và tính năng của từng cấu trúc dữ liệu

Các thuật toán đơn giản như đệ quy, sắp xếp đống, DFS, BFS và duyệt.


Hỏi & Đáp 💬

H. Tôi cần biết bao nhiêu về JavaScript?

Cấu trúc dữ liệu và thuật toán độc lập với ngôn ngữ lập trình, do đó chúng có thể được triển khai chỉ với kiến thức cơ bản về đối tượng, hàm, mảng, câu lệnh điều kiện và vòng lặp. Các tính năng ngôn ngữ đặc biệt hiếm khi được sử dụng.

H. Liệu tôi có thực sự có được kiến thức như một chuyên gia không?

Bạn sẽ biết ít hơn một chuyên ngành, nhưng bạn sẽ tiết kiệm được thời gian vì không phải học những kiến thức vô ích mà một chuyên ngành phải học.

Tài liệu tham khảo) Lộ trình đầy đủ cho các bài giảng Zero Seconds

H. Tôi nên làm gì sau khi học xong cấu trúc dữ liệu?

Bạn có thể học thuật toán. Trước tiên, hãy làm quen với lý thuyết (điều này rất quan trọng), sau đó làm bài tập Lập trình viên hoặc Baekjoon. Thỉnh thoảng, nếu có cơ hội, hãy thử giải các bài kiểm tra lập trình nổi tiếng của công ty.

H. Tôi có cần phải cài đặt chương trình nào trước không?

Tiếp theo, bạn sẽ nhập mã vào trình soạn thảo VS Code. Tuy nhiên, JavaScript cũng chạy trong tab bảng điều khiển của công cụ dành cho nhà phát triển trên trình duyệt (F12), vì vậy bạn có thể sao chép và dán mã từ ghi chú bài giảng vào tab bảng điều khiển.

💾 Vui lòng kiểm tra trước khi tham gia lớp học

  • Khóa học này dựa trên Windows 11, nhưng bạn cũng có thể học trên các hệ điều hành khác.
  • Tôi sử dụng Visual Studio Code để viết mã.
  • Vui lòng tham khảo Github để biết ghi chú bài giảng.
  • Bạn có thể học nó nếu bạn chỉ biết ngữ pháp JavaScript cơ bản (mảng, đối tượng, lớp, câu lệnh điều kiện, vòng lặp).

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

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

  • Những người nghiên cứu thuật toán để chuẩn bị cho các bài kiểm tra mã hóa

  • Những người cố gắng nghiên cứu thuật toán nhưng lại mắc kẹt trong cấu trúc dữ liệu

  • Nếu bạn là nhà phát triển web và đang cố gắng tìm hiểu các thuật toán/cấu trúc dữ liệu, bạn sẽ bối rối vì đó là ngôn ngữ không phải là JS.

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

  • Khái niệm cơ bản về ngôn ngữ JavaScript (mảng, đối tượng, lớp, vòng lặp, câu lệnh có điều kiện)

Xin chào
Đây là

65,524

Học viên

1,602

Đánh giá

9,702

Trả lời

4.8

Xếp hạng

22

Các khóa học

제 강의의 장점은 Q&A입니다(인프런 답변왕 2회 수상). 24시간 이내에 최대한 답변드립니다! 같이 고민한다는 느낌으로 답변 드릴게요!

One of the key strengths of my courses is the Q&A support. (Winner of the Inflearn Q&A King award twice) I respond to your questions within 24 hours, doing my best to help you out! You’ll feel like we’re solving the problems together.

👉ZeroCho Lectures
제로초 강의 전체 로드맵. A complete roadmap of all my courses is available here.

– Node.js교과서, 코딩자율학습 제로초의 자바스크립트, Let's Get IT 자바스크립트, 타입스크립트 교과서 저자 
ZeroCho.com 운영자
– 현) 유튜브에서 ZeroCho TV로 개발 관련 방송중 
– 현) 스모어톡 CTO 
– 전) 오늘의픽업 CTO(카카오모빌리티에 엑싯 후 카카오모빌리티 최연소 개발파트장)

  • Author of Node.js Textbook, Self-Guided JavaScript by ZeroCho, Let's Get IT JavaScript, and TypeScript Textbook

  • Operator of ZeroCho.com

  • Currently running a YouTube channel ZeroCho TV, covering development topics

  • CTO at SmoreTalk

  • Former CTO at Today Pickup (acquired by Kakao Mobility, where I became the youngest lead developer)

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

Tất cả

33 bài giảng ∙ (5giờ 36phút)

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

Đánh giá

Tất cả

16 đánh giá

4.7

16 đánh giá

  • hby25863074님의 프로필 이미지
    hby25863074

    Đánh giá 1

    Đánh giá trung bình 4.0

    4

    100% đã tham gia

    In terms of the lecture content, it is 5 stars, but I deducted one star for the following reasons: - The mouse click sound is too loud, so sometimes I lose focus on the lecture. - When explaining with pictures, the mouse position is not visible, but there is a tendency to often use the demonstrative pronoun 'this', so it is sometimes difficult to understand. If only the two things above were improved, I think it would be an even better lecture.

    • rhkdtjd124829

      "When explaining with pictures, the mouse position is not visible, but there is a tendency to often use the demonstrative pronoun 'this', so it is sometimes difficult to understand." I agree with the second part a little.

  • rhkdtjd124829님의 프로필 이미지
    rhkdtjd124829

    Đánh giá 13

    Đánh giá trung bình 5.0

    5

    64% đã tham gia

    While watching the lecture, I didn't pay much attention to the table of contents, but after taking the lecture for more than halfway through, I understood each data structure through the homework that appears in each table of contents, and I realized that each data structure is related, and if you study the next part without properly understanding the previous part, you won't understand it properly. So I think it's very good to proceed according to the table of contents because you can study while drawing a learning curve in your head. I learned that the callstack, HEAP, TASK QUEUE, etc. that appeared in the event loop concept that I had skipped over because it was difficult in JavaScript mean the stack, heap, and queue that I learned in the lecture, and this lecture is the cornerstone for studying the JavaScript event loop.

    • qnrjs42님의 프로필 이미지
      qnrjs42

      Đánh giá 18

      Đánh giá trung bình 4.8

      5

      100% đã tham gia

      Five years ago, I bought a Java data structure book and tried to read it, but I didn't see anything, so I gave up on data structures. This time, Zerocho uploaded a lecture, so I bought it and briefly looked at the linked list, but I didn't watch it, and I participated in the 8th Time Attack class to be able to listen to the lecture semi-forcefully, and watched the whole lecture today. Personally, I find it more intuitive and understandable to look at pictures or code than text, so it was easy to understand because Zerocho drew pictures and wrote code. I understood other contents quickly if I focused, but the red-black tree content was quite difficult, so I had to listen to it several times. ㅎㅎ When I tried to find something inconvenient, the part I could hear was a little uncomfortable with the mouse click and scroll sound, and it was okay because I was listening with speakers, but if I listened with earphones or a headset, I thought it would be uncomfortable because I could hear the surrounding noise? The cooler? The noise that kept running. Thank you so much for the great lecture, and I think it would be great if you also gave the algorithm that Zerocho said was difficult at the end! Because Zerocho explains it easily.

      • deveunjilee3474님의 프로필 이미지
        deveunjilee3474

        Đánh giá 2

        Đánh giá trung bình 5.0

        5

        30% đã tham gia

        I've been working without paying much attention to data structures, but now I think I can apply them. Thank you.

        • stu님의 프로필 이미지
          stu

          Đánh giá 15

          Đánh giá trung bình 4.9

          5

          15% đã tham gia

          It was good to be able to handle various data structures with JavaScript. However, the mouse click sound is very loud when the speed is fast, so on days when I can't concentrate, I have an unfortunate incident where I can't concentrate even more. I highly, highly recommend a silent mouse. If you look at the reviews, there are some parts that say the implementation is lacking, but personally, I think the explanation was good, and the parts that I felt were lacking are purely my own understanding and concentration issues. Anyway, I listened well, and I hope the mouse sound is improved.

          926.720 ₫

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

          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!