Applied Algorithms - Chapter 4 (HUST) Thầy Phạm Quang Dũng
- 페이지 수
- 31
- 형식
- 크기
- 364 KB
- Trường
- Đại học Bách khoa Hà Nội
- 조회수
- 0
- 댓글
- 0
- Lượt tải
- 0
미리보기 생성 중...
Slide bài giảng về phương pháp chia để trị trong thuật toán, bao gồm tổng quan, ví dụ minh họa (bài toán dãy con cực đại), độ phức tạp tính toán và thuật toán sắp xếp trộn.
- 문서명
- Applied Algorithms - Chapter 4 (HUST) Thầy Phạm Quang Dũng
- 학교 / 강의
- Đại học Bách khoa Hà Nội · Thuật toán ứng dụng
- 작성자 (문서 내)
- Phạm Quang Dũng
- 내용
- Tài liệu trình bày phương pháp Chia để trị, minh họa bằng bài toán dãy con dài nhất và thuật toán Sắp xếp trộn, đồng thời phân tích độ phức tạp bằng Định lý Thợ.
- 목차
- Tổng quan chia để trị
- Ví dụ minh họa
- Độ phức tạp chia để trị
- Giảm để trị
- Sắp xếp trộn
- 페이지 수
- 31 페이지
- 업로더
- lienhejb
설명
Trích nội dung tài liệu
THUẬT TOÁN ỨNG DỤNG CHIA ĐỂ TRỊ 1 Phạm Quang Dũng Bộ môn KHMT dungpq@soict.hust.edu.vn NộI dung Tổng quan chia để trị Ví dụ minh họa Độ phức tạp chia để trị Giảm để trị 2 Tổng quan chia để trị Chia bài toán cần giải ban đầu thành các bài toán con độc lập nhau Giải (trị) các bài toán con Tổng hợp lời giải của các bài toán con để dẫn ra lời giải của bài toán xuất phát 3 Ví dụ minh họa Bài toán dãy con dài nhất: cho dãy số nguyên a = a1, a2, …, an. Tìm dãy con gồm một số liên tiếp các phần tử có tổng lớn nhất Phân chia: ký hiệu P(i, j) là lời giải của bài toán tìm dãy con liên tiếp của dãy ai, ai+1,…, aj có tổng cực đại Tổng hợp lời giải Ký hiệu PL(i, j) là lời giải của bài toán tìm dãy con liên tiếp của dãy ai, ai+1,…, aj sao cho phần tử cuối cùng là aj có tổng cực đại Ký hiệu PR(i, j) là lời giải của bài toán tìm dãy con liên tiếp của dãy ai, ai+1,…, aj sao cho phần tử đầu tiên là ai có tổng cực đại 4 Ví dụ minh họa Xét đoạn [l,l+1,...,r]. Ký hiệu m = (l+r)/2 P(l,r) = MAX{P(l, m), P(m+1,r), PL(l,m) + PR(m+1,r)} l P(l,m) m m+1 PR(m+1,r) PL(l,m) 5 P(m+1,r) r Ví dụ minh họa #include <bits/stdc++.h> using namespace std; #define INF 1e9 #define MAX 1000000 int a[MAX]; int n; void input(){ cin >> n; for(int i = 0; i < n; i++) cin >> a[i]; } 6 Ví dụ minh họa int PL(int l, int r){ int rs = -INF; int s = 0; for(int i = r; i >= l; i--){ s += a[i]; rs = max(rs,s); } return rs; } int PR(int l, int r){ int rs = -INF; int s = 0; for(int i = l; i <= r; i++){ s += a[i]; rs = max(rs,s); } return rs; } 7 Ví dụ minh họa int P(int l, int r){ if(l == r) return a[r]; int m = (l+r)/2; return max(max(P(l,m),P(m+1,r)), PL(l,m)+P
자주 묻는 질문
이 문서는 무료인가요?
네. “Applied Algorithms - Chapter 4 (HUST) Thầy Phạm Quang Dũng” 문서는 무료입니다. 로그인 후 '다운로드'를 클릭하여 원본 파일을 받으세요.
이 문서는 몇 페이지로 되어 있나요?
이 문서는 31페이지입니다, Thuật toán ứng dụng 과정용. 다운로드하기 전에 온라인으로 미리 볼 수 있습니다.
다운로드하기 전에 미리 볼 수 있나요?
네. 이 페이지의 온라인 리더를 통해 문서를 미리 본 후 다운로드 여부를 결정할 수 있습니다.
Applied Algorithms - Chapter 4 (HUST) Thầy Phạm Quang Dũng
미리보기 생성 중...
Trích nội dung tài liệu
THUẬT TOÁN ỨNG DỤNG CHIA ĐỂ TRỊ 1 Phạm Quang Dũng Bộ môn KHMT dungpq@soict.hust.edu.vn NộI dung Tổng quan chia để trị Ví dụ minh họa Độ phức tạp chia để trị Giảm để trị 2 Tổng quan chia để trị Chia bài toán cần giải ban đầu thành các bài toán con độc lập nhau Giải (trị) các bài toán con Tổng hợp lời giải của các bài toán con để dẫn ra lời giải của bài toán xuất phát 3 Ví dụ minh họa Bài toán dãy con dài nhất: cho dãy số nguyên a = a1, a2, …, an. Tìm dãy con gồm một số liên tiếp các phần tử có tổng lớn nhất Phân chia: ký hiệu P(i, j) là lời giải của bài toán tìm dãy con liên tiếp của dãy ai, ai+1,…, aj có tổng cực đại Tổng hợp lời giải Ký hiệu PL(i, j) là lời giải của bài toán tìm dãy con liên tiếp của dãy ai, ai+1,…, aj sao cho phần tử cuối cùng là aj có tổng cực đại Ký hiệu PR(i, j) là lời giải của bài toán tìm dãy con liên tiếp của dãy ai, ai+1,…, aj sao cho phần tử đầu tiên là ai có tổng cực đại 4 Ví dụ minh họa Xét đoạn [l,l+1,...,r]. Ký hiệu m = (l+r)/2 P(l,r) = MAX{P(l, m), P(m+1,r), PL(l,m) + PR(m+1,r)} l P(l,m) m m+1 PR(m+1,r) PL(l,m) 5 P(m+1,r) r Ví dụ minh họa #include <bits/stdc++.h> using namespace std; #define INF 1e9 #define MAX 1000000 int a[MAX]; int n; void input(){ cin >> n; for(int i = 0; i < n; i++) cin >> a[i]; } 6 Ví dụ minh họa int PL(int l, int r){ int rs = -INF; int s = 0; for(int i = r; i >= l; i--){ s += a[i]; rs = max(rs,s); } return rs; } int PR(int l, int r){ int rs = -INF; int s = 0; for(int i = l; i <= r; i++){ s += a[i]; rs = max(rs,s); } return rs; } 7 Ví dụ minh họa int P(int l, int r){ if(l == r) return a[r]; int m = (l+r)/2; return max(max(P(l,m),P(m+1,r)), PL(l,m)+P
- 문서명
- Applied Algorithms - Chapter 4 (HUST) Thầy Phạm Quang Dũng
- 학교 / 강의
- Đại học Bách khoa Hà Nội · Thuật toán ứng dụng
- 작성자 (문서 내)
- Phạm Quang Dũng
- 내용
- Tài liệu trình bày phương pháp Chia để trị, minh họa bằng bài toán dãy con dài nhất và thuật toán Sắp xếp trộn, đồng thời phân tích độ phức tạp bằng Định lý Thợ.
- 목차
- Tổng quan chia để trị
- Ví dụ minh họa
- Độ phức tạp chia để trị
- Giảm để trị
- Sắp xếp trộn
- 페이지 수
- 31 페이지
- 업로더
- lienhejb
댓글 (0)
댓글이 없습니다. 첫 댓글을 남겨보세요!
Applied Algorithms - Chapter 2 (HUST) Thầy Phạm Quang Dũng
Applied Algorithms - Chapter 5.2 (HUST) Thầy Phạm Quang Dũng
Applied Algorithms - Chapter 6.1 (HUST) Thầy Phạm Quang Dũng
Applied Algorithms - Chapter 3 (HUST) Thầy Phạm Quang Dũng
Applied Algorithms - Chapter 6 (HUST) Thầy Phạm Quang Dũng
K5 Bộ đề luyện thi Trạng Nguyên Tiếng Việt (NXB DHQG)
K2 Bộ đề luyện thi Trạng Nguyên Tiếng Việt (NXB DHQG)
K3 Bộ đề luyện thi Trạng Nguyên Tiếng Việt (NXB DHQG)
K4 Bộ đề luyện thi Trạng Nguyên Tiếng Việt (NXB DHQG)
K1 Bộ đề luyện thi Trạng Nguyên Tiếng Việt (NXB DHQG)

댓글 (0)
댓글이 없습니다. 첫 댓글을 남겨보세요!