Cấu Trúc Dữ Liệu Và Giải Thuật Với Python - FUNiX

  1. Trang chủ
  2. Cấu trúc dữ liệu và giải thuật với Python
Cấu trúc dữ liệu và giải thuật với Python 6 Tuần
  • Thông tin chung
  • Mục tiêu môn học
  • Trải nghiệm học tập
  • Nguồn học liệu

Thông tin chung

Cấu trúc dữ liệu và giải thuật là một trong những môn học cơ bản của sinh viên ngành Công nghệ thông tin. Các cấu trúc dữ liệu và các giải thuật được xem như là 2 yếu tố quan trọng nhất trong lập trình, đúng như câu nói nổi tiếng của Niklaus Wirth: Chương trình = Cấu trúc dữ liệu + Giải thuật (Programs = Data Structures + Algorithms). Nắm vững các cấu trúc dữ liệu và các giải thuật là cơ sở để sinh viên tiếp cận với việc thiết kế và xây dựng phần mềm cũng như sử dụng các công cụ lập trình hiện đại. 

Cấu trúc dữ liệu có thể được xem như là 1 phương pháp lưu trữ dữ liệu trong máy tính nhằm sử dụng một cách có hiệu quả các dữ liệu này. Và để sử dụng các dữ liệu một cách hiệu quả thì cần phải có các thuật toán áp dụng trên các dữ liệu đó. Do vậy, cấu trúc dữ liệu và giải thuật là 2 yếu tố không thể tách rời và có những liên quan chặt chẽ với nhau. Việc lựa chọn một cấu trúc dữ liệu có thể sẽ ảnh hưởng lớn tới việc lựa chọn áp dụng giải thuật nào.

Môn học này cung cấp cho bạn sự hiểu biết về cấu trúc dữ liệu và giải thuật (thuật toán), nắm được một số cấu trúc dữ liệu tuyến tính (linear) và phi tuyến (non-linear), đồng thời triển khai một số giải thuật phổ biến thường dùng trong phần mềm máy tính như tìm kiếm, sắp xếp. Bên cạnh đó, điều quan trọng nhất là bạn cần cố gắng lĩnh hội tư duy về thiết kế cài đặt các cấu trúc dữ liệu giải thuật phù hợp với các vấn đề/bài toán cụ thể bạn sẽ gặp khi làm nghề sau này. 

Để bắt đầu, tôi khuyên bạn nên dành một vài phút để khám phá tổng thể môn học. Xem kỹ các tài liệu học của mỗi tuần và xem trước các bài Lab/exercise, bài tập lớn (assignment) và phần Quiz sẽ cần hoàn thành để có kế hoạch học tập phù hợp. 

Mục tiêu môn học

Hiểu về khái niệm cấu trúc dữ liệu và giải thuật.

Có thể triển khai các bài toán tìm kiếm và sắp xếp từ cơ bản đến nâng cao.

Nắm được các chiến lược cơ bản về giải thuật như: Tham lam, chia để trị, quy hoạch động.

Có thể triển khai một số cấu trúc dữ liệu cơ bản như: Linked List, Stack và Queue…

Hiểu về các cấu trúc dữ liệu phi tuyến tính như cây, đồ thị và các bài toán tìm kiếm và tối ưu cơ bản trên cây và đồ thị.

Ứng dụng cấu trúc dữ liệu và giải thuật vào giải quyết một số bài toán thực tế.

Trải nghiệm học tập

Phần 1. Giải thuật cơ bản

Bài 1 – Tổng quan về giải thuật

Bài 2 – Giải thuật tham lam

Bài 3 – Giải thuật chia để trị

Bài 4 – Giải thuật quy hoạch động

Bài 5 – Các giải thuật sắp xếp cơ bản

Assignment 1: Sắp xếp_tìm kiếm cơ bản

Phần 2. Cấu trúc dữ liệu tuyến tính

Bài 6 – Mảng và danh sách liên kết

Bài 7 – Ngăn xếp và hàng đợi

Assignment 2: Quản lý sản phẩm

Phần 3. Cấu trúc dữ liệu phi tuyến

Bài 8 – Cây – Các thao tác cơ bản

Bài 9 – Cây tìm kiếm nhị phân: BST

Bài 10 – Đống

Bài 11 – Hàm băm và bảng băm

Bài 12 – Đồ thị – Các thao tác cơ bản 

Phần 4. Thuật toán kinh điển

Bài 13 – Bài toán tuyến đường ít chặng nhất

Bài 14 – Bài toán tuyến đường ngắn nhất

Bài 15 – Thuật toán KMP (Knuth-Morris-Pratt Algorithm)

Assignment 3: Quản lý hồ sơ

Nguồn học liệu

Trong thời đại hiện nay, mỗi môn học đều có nhiều nguồn tài liệu liên quan kể cả sách in và online, FUNiX Way không quy định một nguồn học liệu cụ thể mà khuyến cáo để học viên chọn được nguồn phù hợp nhất cho mình. Trong quá trình học từ nhiều nguồn khác nhau theo lựa chọn cá nhân đó, khi sinh viên phát sinh câu hỏi thì sẽ được kết nối nhanh nhất với mentor để được giải đáp. Toàn bộ phần đánh giá bao gồm các câu hỏi trắc nghiệm, bài tập, dự án và thi vấn đáp do FUNiX thiết kế, xây dựng và thực hiện.

Các môn học của FUNiX không quy định bắt buộc tài liệu học tập, sinh viên có thể chủ động tìm và học từ bất kỳ nguồn nào phù hợp, kể cả sách in hay nguồn học liệu online (MOOC) hay các website. Việc sử dụng các nguồn đó do học viên chịu trách nghiệm và đảm bảo tuân thủ các chính sách của chủ sở hữu nguồn, trừ trường hợp họ có sự hợp tác chính thức với FUNiX. Nếu cần hỗ trợ, học viên có thể liên hệ phòng đào tạo FUNiX để được hướng dẫn.

Dưới đây là một số nguồn học liệu của môn học mà học viên có thể tham khảo sử dụng. Việc liệt kê nguồn dưới đây không nhất thiết hàm ý rằng FUNiX có sự hợp tác chính thức với chủ sở hữu của các nguồn học liệu: Coursera, Vietjack, Youtube, Docs.python, Stackoverflow, Codelearn, Tutorialspoint, Programiz, Leetcode, Hackerrank

Chi tiet Mon hoc 1

Đừng ngần ngại!

Bạn sẽ dễ dàng chuẩn bị nền tảng cùng FUNiX!

Chi tiet Mon hoc 1

Các môn liên quan

Học công nghệ thông tin làm gì?Trở thànhhà sáng tạo & phát triển website (Nguồn: Internet)
Xây dựng website đầu tiên
Xem chi tiết
Kỹ thuật lập trình Swift
Xem chi tiết
Lập trình Python cơ bản
Xem chi tiết
Lập trình hướng đối tượng (bằng Java)
Xem chi tiết
Phát triển ứng dụng Java Desktop
Xem chi tiết
Xây dựng phần mềm đầu tiên
Xem chi tiết
Kỹ thuật lập trình với Javascript
Xem chi tiết
Kỹ thuật lập trình PHP
Xem chi tiết
Xây dựng website đầu tiên
Xem chi tiết
Kỹ thuật lập trình Swift
Xem chi tiết
Lập trình Python cơ bản
Xem chi tiết
Lập trình hướng đối tượng (bằng Java)
Xem chi tiết
Phát triển ứng dụng Java Desktop
Xem chi tiết
Xây dựng phần mềm đầu tiên
Xem chi tiết
Kỹ thuật lập trình với Javascript
Xem chi tiết
Kỹ thuật lập trình PHP
Xem chi tiết Xem danh mục khoá học

Các chứng chỉ có thể bạn quan tâm

Làm chủ công cụ bảng tính thông minh
Xem chi tiết
Hiểu Dữ Liệu & Trực Quan Hóa Dữ Liệu
Xem chi tiết
KHÓA HỌC AUTOMATION TESTING
Xem chi tiết
Ứng dụng AI trong dạy học hiện đại cho Giáo viên
Xem chi tiết
Ứng dụng GenAI cho công việc
Xem chi tiết AI automation cho digital marketing (N8N)
Lập kế hoạch tự động và tối ưu hóa quy trình làm việc với N8N & API
Xem chi tiết
Tạo workflow tự động với GEN AI và N8N
Xem chi tiết Khóa học sáng tạo nội dung cho Marketer tại FUNiX
Sáng tạo nội dung hình ảnh và video bằng AI
Xem chi tiết Thiết kế giáo án bằng AI
GenAI cho người mới bắt đầu
Xem chi tiết
Tạo hình ảnh và video bằng công cụ Midjourney & AI
Xem chi tiết Tương lai của lập trình nhúng
Phân tích mã độc Windows dành cho người mới bắt đầu
Xem chi tiết
ChatGPT dành cho giáo viên: Đơn giản hóa công việc giảng dạy cùng ChatGPT
Xem chi tiết Học trình viên mobile chuyên sâu mang lại nhiều lợi ích cho công việc (Nguồn ảnh: Internet)
Lập trình Mobile
Xem chi tiết Tìm hiểu lập trình game Unity 2D và các bước lập trình đơn giản (Nguồn ảnh: Internet)
Lập trình Game
Xem chi tiết
Lập trình Java
Xem chi tiết
Lập trình Web Full-stack
Xem chi tiết
Lập trình khoa học máy tính với Python
Xem chi tiết data analysis
Data Analysis
Xem chi tiết
Data Science Developer
Xem chi tiết
KHÓA HỌC MANUAL TESTING
Xem chi tiết
Làm chủ công cụ bảng tính thông minh
Xem chi tiết
Hiểu Dữ Liệu & Trực Quan Hóa Dữ Liệu
Xem chi tiết
KHÓA HỌC AUTOMATION TESTING
Xem chi tiết
Ứng dụng AI trong dạy học hiện đại cho Giáo viên
Xem chi tiết
Ứng dụng GenAI cho công việc
Xem chi tiết
Lập kế hoạch tự động và tối ưu hóa quy trình làm việc với N8N & API
Xem chi tiết
Tạo workflow tự động với GEN AI và N8N
Xem chi tiết
Sáng tạo nội dung hình ảnh và video bằng AI
Xem chi tiết
GenAI cho người mới bắt đầu
Xem chi tiết
Tạo hình ảnh và video bằng công cụ Midjourney & AI
Xem chi tiết
Phân tích mã độc Windows dành cho người mới bắt đầu
Xem chi tiết
ChatGPT dành cho giáo viên: Đơn giản hóa công việc giảng dạy cùng ChatGPT
Xem chi tiết
Lập trình Mobile
Xem chi tiết
Lập trình Game
Xem chi tiết
Lập trình Java
Xem chi tiết
Lập trình Web Full-stack
Xem chi tiết
Lập trình khoa học máy tính với Python
Xem chi tiết
Data Analysis
Xem chi tiết
Data Science Developer
Xem chi tiết
KHÓA HỌC MANUAL TESTING
Xem chi tiết Học trực tuyến CNTT, học lập trình từ cơ bản đến nâng cao
  • Tầng 0, tòa nhà FPT, 17 Duy Tân, phường Cầu Giấy, Hà Nội
  • [email protected]
  • 0782313602 (Zalo, Viber)        

Về chúng tôi

Học gì ở FUNiX

Tin tức

Cơ quan chủ quản: Công ty Cổ phần Giáo dục Trực tuyến FUNiX MST: 0108171240 do Sở kế hoạch và Đầu tư thành phố Hà Nội cấp ngày 27 tháng 02 năm 2018 Địa chỉ: Văn phòng Hà Nội: Tầng 4, Tòa nhà 25T2, Đường Nguyễn Thị Thập, phường Yên Hòa, Hà Nội. Văn phòng TP.HCM: Lầu 8, Tòa nhà Giày Việt Plaza 180-182 Lý Chính Thắng, phường Nhiêu Lộc, TP. Hồ Chí Minh. Hotline: 078 231 3602 – Email: [email protected]

yêu cầu gọi lại

Yêu cầu FUNiX gọi lại để hỗ trợ thông tin, chương trình học, chỉ tiêu - điều kiện tuyển sinh - học phí,... hoàn toàn FREE

Từ khóa » Trúc Dữ Liệu Phi Tuyến Tính