- 13 Sections
- 126 Lessons
- 20 Weeks
Expand all sectionsCollapse all sections
- Giới thiệu và cài đặt công cụ9 ItemsChương này sẽ giới thiệu về khóa học và hướng dẫn cài đặt công cụ cần thiết để tiến hành học tập.
- 1.1NỘI QUY SỬ DỤNG KHÓA HỌC3 p
- 1.2Cài đặt công cụ IntelliJ cho máy chạy Windows10 p
- 1.3Cách học lập trình hiệu quả trên Branium6 p
- 1.4Cài đặt IntellJ cho máy Mac6 p
- 1.5Cài đặt công cụ Apache Netbeans9 p
- 1.6Cài đặt JDK8 p
- 1.7Nhóm, trang hỗ trợ học tập3 p
- 1.8Giới thiệu về khóa học Cấu trúc dữ liệu và giải thuật với Java10 p
- 1.9Các khái niệm mở đầu10 p
- Chương 1: Mảng và một số phương pháp giải quyết vấn đề10 ItemsChương này ta sẽ tìm hiểu và vận dụng các kiến thức về mảng. Tìm hiểu và tính giá trị bigO.
- 2.1Bài 1.1. Mảng 1 chiều39 p
- 2.2Bài 1.2. Mảng 2 chiều36 p
- 2.3Bài 1.3. Độ phức tạp thuật toán25 p
- 2.4Bài 1.4. Đệ quy25 p
- 2.5Bài 1.5. Quy hoạch động53 p
- 2.6Bài 1.6. Quay lui39 p
- 2.7Bài 1.7. Thuật toán sinh5 p
- 2.8Bài 1.8. Sinh xâu nhị phân độ dài n13 p
- 2.9Bài 1.9. Sinh hoán vị chính tắc17 p
- 2.10Bài 1.10. Sinh tổ hợp chập k của n27 p
- Chương 2: Danh sách liên kết(linked list)12 ItemsChương này sẽ tập trung vào các biến thể của danh sách liên kết và các thao tác cơ bản trên chúng.
- 3.1Bài 2.1. Giới thiệu về danh sách liên kết16 p
- 3.2Bài 2.2. Thêm node và duyệt danh sách liên kết đơn34 p
- 3.3Bài 2.3. Thêm node và duyệt danh sách liên kết đôi19 p
- 3.4Bài 2.4. Cập nhật dữ liệu cho 1 node của danh sách liên kết23 p
- 3.5Bài 2.5. Xóa 1 node khỏi danh sách liên kết đơn24 p
- 3.6Bài 2.6. Xóa 1 node khỏi danh sách liên kết đôi20 p
- 3.7Bài 2.7. Sắp xếp danh sách liên kết16 p
- 3.8Bài 2.8. Tìm kiếm, đếm node trong danh sách liên kết18 p
- 3.9Bài 2.9. Lớp LinkedList trong Java17 p
- 3.10Bài 2.10. Lớp ArrayList trong Java28 p
- 3.11Bài 2.11. Lớp Vector trong Java24 p
- 3.12Bài 2.12. Danh sách liên kết vòng22 p
- Chương 3: Ngăn xếp(stack)9 ItemsNội dung chương này sẽ tập trung vào stack và các thao tác với stack.
- 4.1Bài 3.1. Giới thiệu về stack6 p
- 4.2Bài 3.2. Tạo stack từ mảng28 p
- 4.3Bài 3.3. Tạo stack từ danh sách liên kết16 p
- 4.4Bài 3.4. Tìm hiểu Stack trong thư viện Java15 p
- 4.5Bài 3.5. Các thao tác và độ phức tạp của Stack10 p
- 4.6Bài 3.6. Ứng dụng thực tế của Stack10 p
- 4.7Bài 3.7. Stack và xử lý biểu thức toán học10 p
- 4.8Bài 3.8. Call Stack và đệ quy10 p
- 4.9Bài 3.9. Các bài toán Stack nâng cao10 p
- Chương 4: Hàng đợi(queue)12 ItemsChương này ta sẽ tìm hiểu về hàng đợi và các thao tác trên hàng đợi.
- 5.1Bài 4.1. Giới thiệu về hàng đợi11 p
- 5.2Bài 4.2. Tạo hàng đợi từ mảng17 p
- 5.3Bài 4.3. Tạo hàng đợi từ danh sách liên kết17 p
- 5.4Bài 4.4. Hàng đợi vòng47 p
- 5.5Bài 4.5. Hàng đợi ưu tiên30 p
- 5.6Bài 4.6. Tìm hiểu lớp PriorityQueue trong thư viện Java22 p
- 5.7Bài 4.7. Ứng dụng thực tế của hàng đợi10 p
- 5.8Bài 4.8. Hàng đợi hai đầu trong Java10 p
- 5.9Bài 4.9. Cài đặt hàng đợi bằng hai ngăn xếp10 p
- 5.10Bài 4.10. Hàng đợi đơn điệu10 p
- 5.11Bài 4.11. Hàng đợi an toàn luồng(Concurrent Queue)10 p
- 5.12Bài 4.12. Hàng đợi đồng thời và mô hình Producer–Consumer10 p
- Chương 5: Cây(trees)9 ItemsChương này ta sẽ tập trung chủ yếu vào phần cây nhị phân và thao tác trên nó.
- 6.1Bài 5.1. Giới thiệu về cây12 p
- 6.2Bài 5.2. Cây nhị phân tìm kiếm26 p
- 6.3Bài 5.3. Duyệt cây nhị phân tìm kiếm17 p
- 6.4Bài 5.4. Thêm node vào cây nhị phân tìm kiếm16 p
- 6.5Bài 5.5. Tìm giá trị x trong cây nhị phân tìm kiếm11 p
- 6.6Bài 5.6. Xác định tổng số node và số lượng node lá của cây nhị phân tìm kiếm11 p
- 6.7Bài 5.7. Xóa node khỏi cây nhị phân tìm kiếm15 p
- 6.8Bài 5.8. Lớp TreeSet trong thư viện Java20 p
- 6.9Bài 5.9. Lớp TreeMap trong thư viện Java23 p
- Chương 6: Đống(heaps)8 ItemsNội dung chương này ta sẽ tìm hiểu về heap và các thao tác liên quan.
- Chương 7: Bảng băm(hashtables)9 ItemsNội dung chương này ta sẽ tìm hiểu chi tiết về bảng băm và các thao tác cũng như ứng dụng của nó.
- 8.1Bài 7.1. Giới thiệu về bảng băm20 p
- 8.2Bài 7.2. Bảng băm do người dùng tự định nghĩa65 p
- 8.3Bài 7.3. Xóa cặp key-value khỏi bảng băm16 p
- 8.4Bài 7.4. Cập nhật phần tử trong bảng băm11 p
- 8.5Bài 7.5 Băm lại các phần tử của bảng băm13 p
- 8.6Bài 7.6. Lấy danh sách key, value hiện có trong bảng băm20 p
- 8.7Bài 7.7. Bucket sort18 p
- 8.8Bài 7.8. Lớp Hashtable trong thư viện Java16 p
- 8.9Bài 7.9. Lớp HashMap trong thư viện Java8 p
- Chương 8: Các thuật toán sắp xếp12 ItemsNội dung chương này sẽ mổ xẻ phân tích và triển khai các thuật toán sắp xếp.
- 9.1Bài 8.1. Giới thiệu các thuật toán sắp xếp6 p
- 9.2Bài 8.2. Thuật toán bubble sort29 p
- 9.3Bài 8.3. Thuật toán selection sort15 p
- 9.4Bài 8.4. Thuật toán insertion sort14 p
- 9.5Bài 8.5. Thuật toán shell sort26 p
- 9.6Bài 8.6. Thuật toán merge sort22 p
- 9.7Bài 8.7. Thuật toán quick sort43 p
- 9.8Bài 8.8. Thuật toán counting sort17 p
- 9.9Bài 8.9. Thuật toán radix sort26 p
- 9.10Bài 8.10. Thuật toán Tim sort10 p
- 9.11Bài 8.11. Sắp xếp mảng với lớp Arrays của thư viện Java21 p
- 9.12Bài 8.12. Sắp xếp trong các Collections của Java Collection Framework18 p
- Chương 9: Các thuật toán tìm kiếm12 ItemsNội dung chương này sẽ tập trung vào các thuật toán tìm kiếm và triển khai của nó.
- 10.1Bài 9.1. Giới thiệu các thuật toán tìm kiếm6 p
- 10.2Bài 9.2. Thuật toán tìm kiếm tuyến tính17 p
- 10.3Bài 9.3. Thuật toán tìm kiếm nhị phân18 p
- 10.4Bài 9.4. Tìm kiếm với cây nhị phân tìm kiếm18 p
- 10.5Bài 9.5. Tìm kiếm với bảng băm9 p
- 10.6Bài 9.6. Tìm kiếm nhảy10 p
- 10.7Bài 9.7. Tìm kiếm nội suy10 p
- 10.8Bài 9.8. Tìm kiếm hàm mũ10 p
- 10.9Bài 9.10. Tìm kiếm nhị phân trên đáp án10 p
- 10.10Bài 9.11. Tìm kiếm trong mảng xoay10 p
- 10.11Bài 9.12. Tìm kiếm bằng Trie10 p
- 10.12Bài 9.13. Tìm kiếm Fibonacci10 p
- Chương 10: Đồ thị(graphs)20 ItemsNội dung chương này chủ yếu tập trung vào các thuật toán thao tác với đồ thị.
- 11.1Bài 10.1. Giới thiệu tổng quan về đồ thị28 p
- 11.2Bài 10.2. Thuật toán tìm kiếm theo chiều sâu DFS34 p
- 11.3Bài 10.3. Thuật toán tìm kiếm theo chiều rộng BSF22 p
- 11.4Bài 10.4. Phát hiện chu trình trong đồ thị10 p
- 11.5Bài 10.5. Thành phần liên thông và thành phần liên thông mạnh10 p
- 11.6Bài 10.6. Thuật toán Dijkstra tìm đường đi ngắn nhất37 p
- 11.7Bài 10.7. Thuật toán Bellman-Ford27 p
- 11.8Bài 10.8. Thuật toán Floy-Warshall10 p
- 11.9Bài 10.9. Đường đi ngắn nhất trên DAG10 p
- 11.10Bài 10.10. Đường đi ngắn nhất với trọng số 0–110 p
- 11.11Bài 10.11. Thuật toán A* tìm đường đi ngắn nhất10 p
- 11.12Bài 10.12. Cây khung nhỏ nhất – Prim và Kruskal10 p
- 11.13Bài 10.13. Cấu trúc Disjoint Set Union10 p
- 11.14Bài 10.14. Thuật toán sắp xếp topo10 p
- 11.15Bài 10.15. Cầu và đỉnh khớp trong đồ thị10 p
- 11.16Bài 10.16. Đường đi Euler và chu trình Euler10 p
- 11.17Bài 10.17. Ghép cặp hai phía10 p
- 11.18Bài 10.18. Luồng cực đại và lát cắt cực tiểu10 p
- 11.19Bài 10.19. Đường đi Hamilton và các bài toán NP nâng cao10 p
- 11.20Bài 10.20. Các thuật toán đường đi ngắn nhất nâng cao10 p
- Chương 11: Tài liệu tham khảo2 ItemsChương này sẽ cung cấp cho các bạn các bài giải mẫu và tài liệu tham khảo.
- ĐỀ TỐT NGHIỆP CUỐI KHÓA2 Items
