Tổng Hợp

Khóa học cấu trúc dữ liệu và giải thuật Thực chiến với LeetCode

Khóa học cấu trúc dữ liệu và giải thuật Thực chiến với LeetCode – Giáo viên Hoàng Văn Công giúp các bạn ôn lại toàn bộ tri thức về các cấu trúc dữ liệu và giải thuật đã học một cách bài bản, khắc phục hàng chục bài LeetCode để cải tổ tuyệt kỹ lập trình, từ đó bạn có thể tối ưu code của mình hơn.

Giới thiệu khóa học cấu trúc dữ liệu và giải thuật Thực chiến với LeetCode

Hiện tại nghề Công nghệ thông tin nói chung và nghề Lập trình viên nói riêng ở Viet Nam ngày càng phát triển! Chính vì vậy mà quy trình tuyển chọn của một số doanh nghiệp cũng ngày càng cao.

Những doanh nghiệp lớn như: Viettel, VinGroup, Samsung,… toàn bộ các vòng phỏng vấn của họ đều có vòng thi test kỹ thuật đầu vào, và cụ thể là những bài thi dạng lập trình thi đấu, liên quan đến cấu trúc dữ liệu và giải thuật là chính.

Tại nước ngoài hầu hết những kiểu thi như vậy này đều rất là thông dụng và hầu như doanh nghiệp nào cũng vận dụng.
Nhưng gần đây cách test này mới được vận dụng một cách chuyên nghiệp tại Việt Nam.
Có những doanh nghiệp phân phối cho ứng viên một bài test online tại một nền tảng thứ 3 (như HackerRank, LeetCode) và yêu cầu họ hoàn thiện bài test trong 2-3 tiếng.

Chính vì những nguyên nhân trên mà khoá học “Cấu trúc dữ liệu và giải thuật Thực chiến với Java và LeetCode” được ra đời.

Khoá học sẽ giúp các bạn ôn lại toàn bộ tri thức về các cấu trúc dữ liệu và giải thuật đã học, ví dụ:

Cấu trúc dữ liệu:

  • Array,
  • String,
  • Stack (Ngăn xếp),
  • Queue (Hàng đợi),
  • Linked List (Danh sách link),
  • Tree (Cây), Binary Tree (Cây Nhị phân),
  • Graph (Đồ thị),…

Thuật toán:

  • Sorting (Sắp xếp),
  • Searching (Tìm kiếm),
  • Recursion (Đệ quy),
  • Depth First Tìm kiếm (Tìm kiếm theo chiều sâu),
  • Breadth First Tìm kiếm (Tìm kiếm theo chiều rộng),…

Toàn bộ các tri thức đó sẽ được tổng hợp và ôn tập lại một cách bài bản.
Sau đó tất cả chúng ta sẽ đi khắc phục hàng chục bài LeetCode để cải tổ tuyệt kỹ lập trình của bạn.
Như vậy bạn vừa được ôn tập lại tri thức lý thuyết lại vừa được thực hành và luyện tập lại những gì mình vừa được học!

LeetCode cùng với HackerRank đang trở thành 2 nền tảng giúp lập trình viên học thuật toán và cấu trúc dữ liệu tốt nhất hiện tại.
Toàn bộ bài học đều được thiết kế theo module Learn trên LeetCode nên nội dung tri thức sẽ rất sát với thực tiễn.

LeetCode còn phân phối cho ta những nhận xét về thời gian cũng như không gian bộ nhớ lưu trữ.

Xem Thêm :   PANTONE là gì? & Tìm hiểu chi tiết về bảng màu PANTONE

Từ đó ta có thể tối ưu code của mình hơn.

Với hàng trăm bộ test, chắc cú ta không còn lăn về bài code của mình chỉ bằng cách đọc code một cách thuần tuý nữa.

Đối tượng huấn luyện khóa học cấu trúc dữ liệu và giải thuật Thực chiến với LeetCode

  • Sinh viên
  • Thích thú lập trình

Nội dung khóa học cấu trúc dữ liệu và giải thuật Thực chiến với LeetCode

Phần 1: Giới thiệu

  • Bài 1: Giới thiệu khoá học
  • Bài 2: Nội dung của khoá học
  • Bài 3: Cách học của khoá học
  • Bài 4: Một số Note khác
  • Bài 5: Hướng dẫn chạy và debug với Visual Studio Code
  • Bài 6: Hướng dẫn chạy và debug với IntelliJ
  • Bài 7: Cách làm bài và nộp bài trên LeetCode

Phần 2: Array and String | Mảng và Chuỗi

  • Bài 8: Duyệt mảng
  • Bài 9: Thêm/Chèn phần tử vào mảng
  • Bài 10: Xoá phần tử trong mảng
  • Bài 11: Kỹ thuật 2 con trỏ: Xoá phần tử trong mảng
  • Bài 12: Kỹ thuật 2 con trỏ: Thêm phần tử vào mảng
  • Bài 13: List và Array List trong Java
  • Bài 14: Làm việc với mảng 2 chiều
  • Bài 15: Giới thiệu về String, Character và char
  • Bài 16: Thực hành với String và Character
  • Bài 17: Làm quen với StringBuilder

Phần 3: Sorting (1) | Các thuật toán sắp xếp (Phần 1)

  • Bài 18: Giới thiệu
  • Bài 19: Bubble Sort | Sắp xếp nỏi bọt
  • Bài 20: Selection Sort | Sắp xếp chọn
  • Bài 21: Insertion Sort | Sắp xếp chèn
  • Bài 22: Bài toán tìm số lớn thứ 3

Phần 4: Recursion | Đệ quy

  • Bài 23: Giới thiệu về đệ quy | Khái niệm đệ quy
  • Bài 24: Dấu hiệu của đệ quy
  • Bài 25: Thực hành 1: Tính giai thừa (phần 1)
  • Bài 26: Thực hành 1: Tính giai thừa (phần 2)
  • Bài 27: Thực hành 2: Tính số Fibonacy (phần 1)
  • Bài 28: Thực hành 2: Tính số Fibonacy (phần 2)
  • Bài 29: Một số bài toán khác
  • Bài 30: Phân loại đệ quy (phần 1)
  • Bài 31: Phân loại đệ quy (phần 2)
  • Bài 32: Ưu thế và nhược điểm của đệ quy
  • Bài 33: Tối ưu hoá đệ quy
  • Bài 34: Khử đệ quy
  • Bài 35: Nên sử dụng đệ quy khi nào?

Phần 5: Binary Tìm kiếm | Tìm kiếm nhị phân

  • Bài 36: Giới thiệu về Binary Tìm kiếm
  • Bài 37: Seting Binary Tìm kiếm bằng vòng lặp
  • Bài 38: Seting Binary Tìm kiếm bằng đệ quy
  • Bài 39: Nhận xét thuật toán

Phần 6: Sorting (2) | Các thuật toán sắp xếp (phần 2)

  • Bài 40: Merge Sort: Ý tưởng
  • Bài 41: Merge Sort: Seting
  • Bài 42: Merge Sort: Testing
  • Bài 43: Quick Sort: Ý tưởng
  • Bài 44: Quick Sort: Seting
  • Bài 45: Sử dụng thư viện sắp xếp trong Java

Phần 7: Độ phức tạp của thuật toán

  • Bài 46: Giới thiệu về Space Complexity
  • Bài 47: Giới thiệu về Time Complexity
  • Bài 48: Big O notation
  • Bài 49: Các độ phức tạp cơ bản
  • Bài 50: Thực hành 1: Giải thuật tìm kiếm tuần tự
  • Bài 51: Thực hành 2: Giải thuật Sắp xếp nổi bọt
  • Bài 52: Thực hành 3: Giải thuật Fibonaci
  • Bài 53: Thực hành 4: Giải thuật tìm kiếm nhị phân
  • Bài 54: Thực hành 5: Thuật toán Merge Sort
  • Bài 55: Thực hành 6: Thuật toán Quick Sort

Phần 8: Linked List | Danh sách link

  • Bài 56: Giới thiệu Linked List
  • Bài 57: Seting Linked List
  • Bài 58: Thêm phần tử vào đầu
  • Bài 59: Thêm phần tử vào cuối
  • Bài 60: Thêm phần tử vào giữa
  • Bài 61: Xoá phần tử ở đầu
  • Bài 62: Xoá phần tử ở cuối
  • Bài 63: Xoá phần tử ở giữa
  • Bài 64: Bài toán đảo ngược một Linked List (Sử dụng vòng lặp)
  • Bài 65: Bài toán đảo ngược một Linked List (Sử dụng đệ quy)

Phần 9: Stack and Queue | Ngăn xếp và Hàng đợi

  • Bài 66: Giới thiệu Stack & Queue
  • Bài 67: Các thao tác cơ bản với Stack & Queue
  • Bài 68: Tạo interface cho Stack và Queue
  • Bài 69: Seting Stack với Mảng
  • Bài 70: Seting Queue với Mảng
  • Bài 71: Seting Stack với Linked List
  • Bài 72: Seting Queue với Linked List
  • Bài 73: Stack trong Java
  • Bài 74: Queue trong Java

Xem Thêm :   162+ Mẫu profile công ty xây dựng đẹp Hút Khách chuyên nghiệp tải Free

Phần 10: Hash Table | Set and Map

  • Bài 75: Giới thiệu về Hash Table
  • Bài 76: Thiết kế a Hash Function
  • Bài 77: Collision và cách xử lý
  • Bài 78: Ứng dụng của Hash Table
  • Bài 79: Thiết kế a Hash Set
  • Bài 80: Implement a HashSet (phần 1)
  • Bài 81: Implement a HashSet (phần 2)
  • Bài 82: Thiết kế a Hash Map
  • Bài 83: Implement a HashMap (phần 1)
  • Bài 84: Implement a HashMap (phần 2)
  • Bài 85: HashSet in Java
  • Bài 86: HashMap in Java

Phần 11: Tree | Cây

  • Bài 87: Giới thiệu về Tree, Binary Tree, Binary Tìm kiếm Tree
  • Bài 88: Xây dựng cây BST
  • Bài 89: Thêm một node vào cây BST (Vòng lặp)
  • Bài 90: Thêm một node vào cây BST (Đệ quy)
  • Bài 91: Xoá một node khỏi cây BST
  • Bài 92: Tìm kiếm trên cây BST
  • Bài 93: Duyệt cây theo 3 thứ tự (Lý thuyết)
  • Bài 94: Duyệt cây theo 3 thứ tự (Implement)
  • Bài 95: Bài toán tính chiều cao cây
  • Bài 96: Bài toán tính tổng trên cây

Phần 12: Graph | Đồ thị

  • Bài 97: Giới thiệu về Đồ thị
  • Bài 98: Giới thiệu về DFS – Tìm kiếm theo chiều sâu
  • Bài 99: Seting DFS với Stack
  • Bài 100: Seting DFS với đệ quy
  • Bài 101: Seting BFS với Queue
  • Bài 102: Ứng dụng DFS: Tính số miền liên thông
  • Bài 103: Thuật toán Dijkstra (Tìm đường đi ngắn nhất): Lý thuyết
  • Bài 104: Thuật toán Dijkstra (Tìm đường đi ngắn nhất): Seting
  • Bài 105: Tổng kết

Phần 13: Bổ sung

  • Bài 106: Dynamic Programming | Quy Hoạch Động
  • Bài 107: External Sort

Giáo viên khóa học cấu trúc dữ liệu và giải thuật Thực chiến với LeetCode

Hoàng Văn Công

  • Hoàng Văn Công – Giáo viên
  • Giáo viên Hoàng Văn Công – Lập trình viên, giáo viên tin học
  • Trình độ chuyên môn:
  • Tốt nghiệp loại giỏi chuyên nghề Khoa học PC từ Học viện Kỹ thuật Quân sự
  • Đang theo học chương trình Thạc sĩ Khoa học dữ liệu tại trường Đại học Bách khoa Hà Nội
  • Một số giải thưởng đã đạt được:
  • Hai lần tham gia kỳ thi Olimpic tin học Sinh viên Việt Nam và kỳ thi Lập trình quốc tế ACM-ICPC.
  • Đạt các giải Nhất, Nhì, Ba tại các cuộc thi Olimpic tin học và Software Contest tại Học viện Kỹ thuật Quân sự.
  • Top 5 cuộc thi Gameloft Game Jam 2015.
  • Giải nhì cuộc thi viết software Hackathon của Microsoft 2014.
  • Giáo viên Hoàng Văn Công có kinh nghiệm làm việc với các công nghệ: Lập trình viên Windows Phone và Windows Store App đời đầu, Lập trình di động Android native với Java, Lập trình game 2D và 3D với game engine Unity và Cocos2d-x, lập trình phân tích dữ liệu và AI với Python.
  • Hiện anh đang tập trung vào tìm hiểu ngành nghề Khoa học dữ liệu và trí tuệ nhân tạo (Data Science & Artificial Intelligence) tại đại học Bách Khoa Hà Nội, đồng thời làm giáo viên cho khoá học “Cấu trúc dữ liệu và giải thuật” tại trung tâm Techmaster Việt Nam. Bên cách đó anh còn là chủ nhân của kênh youtube The Brown Box, nơi mà anh làm các video hướng dẫn cho mọi người các tri thức lập trình.
  • Toàn bộ các video và khoá học của anh tập trung vào việc truyền tải tri thức một cách trực quan và dễ hiểu nhất cho học viên. Đồng thời các khoá học đều mang tính chất có ứng dụng thực tiễn cao trong công việc hàng ngày của một Lập trình viên, cũng như là một yếu tố trọng yếu trong các buổi phỏng vấn xin việc.

Xem Thêm :   Kiếm Tiền Với PingGo: Làm Affiliate Và Dropshipping Trên 1 Nền Tảng

Tri thức thu được sau khóa học cấu trúc dữ liệu và giải thuật Thực chiến với LeetCode

  • Hệ thống lại toàn bộ cấu trúc dữ liệu và thuật toán đã được học.
  • Tự mình seting lại các cấu trúc dữ liệu cũng như thuật toán đó.
  • Biết cách nhận xét một thuật toán dựa trên độ phức tạp (không gian và thời gian).
  • Học cách sử dụng cách thư viện của Java để thực thi các thuật toán.
  • Được làm và chữa hàng chục bài tập trên trang lập trình online rất nổi tiếng LeetCode.

Học viên nhận xét khóa học cấu trúc dữ liệu và giải thuật Thực chiến với LeetCode

Học viên đánh giá khóa học cấu trúc dữ liệu và giải thuật Thực chiến với LeetCode

Quyền lợi của học viên trong khóa học cấu trúc dữ liệu và giải thuật Thực chiến với LeetCode

  • Được học đi học lại, học mọi lúc mọi nơi.
  • Được đặt thắc mắc cho giáo viên, trao đổi cùng các học viên khác trong phần “thảo luận” khóa.
  • Được giáo viên trợ giúp trực tiếp thông qua nhóm Fb, giao lưu cùng những học viên khác trên nhóm.
  • Giáo viên có thể tổ chức các buổi giao lưu trực tuyến hoặc trực tiếp.
  • Được hoàn trả 100% học phí nếu nội dung khóa học không như mong đợi.
  • Đã có hơn 500 học viên đăng ký cấu trúc dữ liệu và giải thuật Thực chiến với LeetCode trên toàn hệ thống.

Cách đăng ký khóa học cấu trúc dữ liệu và giải thuật Thực chiến với LeetCode

Rất nhiều bạn phản hồi không biết đăng ký khóa này ra sao, sử dụng mã giảm giá như vậy nào? Chính vì vậy Timkiemkhoinghiep sẽ hướng dẫn cụ thể lại. Để thu được khuyến mãi 40% giá trị khóa học bạn cần chỉ cần click vào đăng ký khóa học (dưới đây), sau thời điểm tham khảo và học thử thấy ưng ý và thích hợp đăng ký và nhập mã giảm giá 71680 hệ thống sẽ tự động giảm 40% giá trị khóa học cho bạn.

Lưu ý: Trong những đợt khuyễn mãi nếu hệ thống tự động khuyến mãi 40% rồi thì khi sử dụng mã giảm giá không được hưởng nữa.

Giải đáp những vấn đề liên quan đến khóa học cấu trúc dữ liệu và giải thuật Thực chiến với LeetCode

1. Tôi đến nơi đâu để học khóa học này?

Như đã trình bày ở trên khóa học cấu trúc dữ liệu và giải thuật Thực chiến với LeetCode là khóa học online, bạn có thể học ở các trang huấn luyện trực tuyến lớn như Topica, Edumaill, Unica mà không cần đến bất kỳ một nơi nào để học mà sẽ học qua các thiết bị được kết nối Internet mà thôi. Chính vì vậy bạn có thể học được ở bât kể nơi nào, thời gian rảnh nào cũng được.

Yêu cầu khoá học

  • Có máy tính/ smart phone + kết nối Internet.
  • Môi trường học tập yên tĩnh.
  • Thiết yếu bị có khả năng truy cập Internet.
  • Nên sử dụng tai nghe trong quá trình học.

2. Tôi không có PC PC có học được không?

Có bạn nhé. Bạn chỉ cần phải có thiết bị kết nối Internet không nhất thiết phải là PC mới học được. Bạn tuyệt đối có thể học qua các thiết bị khác như: Smartphone, Tablet, Máy tính xách tay.

3. Muốn trao đổi với giáo viên thì làm thế nào?

Trong khóa học giáo viên sẽ phân phối cho bạn một kênh kết nối trực tiếp, có vấn đề gì thì bạn có thể trao đổi trực tiếp với giáo viên.

Lời kết

Kì vọng Khóa học “cấu trúc dữ liệu và giải thuật Thực chiến với LeetCode” hữu ích so với bạn

Xem thêm

Xem thêm bài viết thuộc chuyên mục: Kĩ Năng Sống

Xem thêm bài viết thuộc chuyên mục: Tổng Hợp
Xem thêm :  Tượng ngựa có cánh gọi là gì, 10 loài ngựa nổi tiếng trong thần thoại

Related Articles

Back to top button