1. Trang chủ
  2. » Công Nghệ Thông Tin

Bài giảng Thuật toán ứng dụng: Thuật toán và Phân tích Thuật toán - Trương Xuân Nam

34 59 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 34
Dung lượng 602,85 KB

Nội dung

Bài giảng Thuật toán Ứng dụng: Thuật toán và Phân tích Thuật toán cung cấp cho người học những kiến thức như: Khái niệm thuật toán; Đoạn con có tổng lớn nhất; Các cách tiếp cận; Phân tích thuật toán; Phân tích độ tăng trưởng; Phân tích thực nghiệm;...Mời các bạn cùng tham khảo!

THUẬT TỐN ỨNG DỤNG Thuật tốn Phân tích Thuật tốn Nội dung Thơng tin chung mơn học Thuật tốn Ví dụ Duyệt toàn Duyệt toàn tối ưu Chia để trị Quy hoạch động Phân tích thuật tốn Độ tăng trưởng Phân tích thực nghiệm Bài tập TRƯƠNG XUÂN NAM Phần Thông tin chung môn học TRƯƠNG XUÂN NAM Giới thiệu mơn học ▪ Tên mơn: Thuật tốn Ứng dụng ▪ Tiếng Anh: Application of Algorithms ▪ Số tín chỉ: (30 lý thuyết + 15 thực hành) ▪ Nội dung chính: ▪ ▪ ▪ ▪ ▪ Giới thiệu cấu trúc liệu thuật toán Đệ quy, quay lui nhánh cận Các cách tiếp cận: tham lam, chia để trị, quy hoạch động Đồ thị Xử lý chuỗi ▪ Giảng viên: Trương Xuân Nam, khoa CNTT ▪ Email: namtx@wru.vn / truongxuannam@gmail.com TRƯƠNG XUÂN NAM Tài liệu môn học phần mềm học tập ▪ Tài liệu chính: giảng giáo viên ▪ Phần mềm học tập: C/C++/Java/Python ▪ Dùng ngơn ngữ lập trình được, miễn minh họa tính chất giải ▪ Chấm tự động phần mềm dịch vụ online ▪ Bài giảng, tập, mã nguồn, điểm số,… đưa lên site https://txnam.net mục BÀI GIẢNG ▪ Bài giảng tập đưa lên trước học ▪ Trong thực hành, sinh viên vào website lấy tập để làm, giáo viên khơng gửi cho lớp ▪ Điểm q trình công bố website TRƯƠNG XUÂN NAM Kiến thức yêu cầu ▪ Lập trình với C/C++, Java, Python C# ▪ Vì áp dụng kiến thức vào mơn học ▪ Lập trình tức viết chương trình với ngơn ngữ dựa mơ tả thuật tốn ▪ Đã học: ▪ Ngơn ngữ Lập trình ▪ Cấu trúc Dữ liệu Giải thuật ▪ Biết sử dụng email ▪ Nộp tập vào email thầy giáo: cần ghi rõ tên sinh viên, nộp nào, buổi tập số ▪ Có thể email cho thầy giáo để hỏi thêm vấn đề môn học ▪ Chú ý: copy bạn khác để nộp bị cấm thi TRƯƠNG XUÂN NAM Đánh giá kết ▪ Điểm môn học: ▪ Điểm trình: 50% ▪ Điểm thi cuối kỳ: 50% ▪ Điểm trình: ▪ ▪ ▪ ▪ Chuyên cần Bài làm lớp, phòng lab Bài tập nhà (nộp qua email) Bài kiểm tra ▪ Thi cuối kỳ: ▪ Thi máy tính ▪ Học thi nấy, khơng hỏi ngồi mơn học ▪ Khơng có giới hạn nội dung thi TRƯƠNG XUÂN NAM Mục tiêu môn học ▪ Nâng cao kỹ thực hành sinh viên việc giải vấn đề thuật tốn ▪ Nhấn mạnh vào quy trình “phân tích – thiết kế – cài đặt – tối ưu” thuật tốn q trình phát triển phần mềm ▪ Có thể trả lời câu hỏi vấn tìm việc làm cơng ty tốt ▪ Tất công ty công nghệ hàng đầu vấn ứng viên lập trình thuật tốn (Google, Facebook, Apple, Microsoft, Grab, Shopee, Zalo, FPT, Viettel,…) ▪ Làm đẹp hồ sơ xin việc TRƯƠNG XUÂN NAM Phần Thuật toán TRƯƠNG XUÂN NAM Khái niệm thuật toán ▪ Thuật toán = Các bước để giải vấn đề ▪ Thuật tốn = Phương thức tính tốn cài đặt máy tính ▪ Đặc trưng: ▪ ▪ ▪ ▪ ▪ ▪ Có đầu vào: tập giá trị Có đầu ra: kết tính tốn, tập giá trị khác Tính rõ ràng: xác định, khơng hiểu sai *Tính tổng quát: giải lớp tốn *Tính dừng: kết thúc sau số bước hữu hạn *Tính đúng: đưa kết TRƯƠNG XUÂN NAM 10 3.4 Quy hoạch động ▪ Xét dãy kết thúc k, đặt w(k) tổng lớn ▪ w(k) = max(w(i, k)) ▪ Dễ thấy X = max(w(i, j)) = max(w(k)) ▪ Nếu ta tính w(k) dễ dàng tính X ▪ Ta tính nhanh w(k) dựa w(k-1): ▪ w(1) = a1 ▪ w(k) = ak w(k-1)+ak, ứng với hai tình • Dãy gồm ak • Dãy gồm ak nối với phần tử phía trước ak-1 TRƯƠNG XUÂN NAM 20 3.4 Quy hoạch động // Phương pháp 4: quy hoạch động int tong_max4(vector & a, int n) { vector w(n+1); w[1] = a[1]; for (int k = 2; k Viết hàm F(n) trả giá trị số Fibonacci thứ n 3.Cho dãy A = (a0, a1, , aN-1), nhập số K (0 ≤ K < N) Tìm phần tử nhỏ thứ K dãy A, in giá trị phần tử TRƯƠNG XUÂN NAM 34 ... Phép chia: 6 6-8 0 (CPU cycles) TRƯƠNG XUÂN NAM 24 Phân tích thuật tốn TRƯƠNG XN NAM 25 Phân tích thuật tốn: tập ví dụ ▪ Thuật tốn 1: ▪ Bộ (i, k, j) thứ tự ≈ n3/6 ▪ O(n3) ▪ Thuật toán 2: ▪ Cặp... } return m; } TRƯƠNG XUÂN NAM 22 Phần Phân tích thuật tốn TRƯƠNG XN NAM 23 Phân tích thuật tốn ▪ Giúp hiểu sơ “chi phí” thực thuật tốn ▪ Các khía cạnh quan tâm: ▪ Kích thước đầu vào ▪ Kích thước... Ω(g(n)) ▪ Ô-mê-ga hàm khơng bậc với hàm TRƯƠNG XN NAM 29 Phân tích độ tăng trưởng ▪ Tiệm cận g(n): θ(g(n)) ▪ Thê-ta hàm thường bậc với hàm TRƯƠNG XN NAM 30 Phân tích thực nghiệm ▪ Cài đặt thuật toán

Ngày đăng: 09/08/2021, 18:40

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN