Applied Algorithms - Chapter 4 (HUST) Thầy Phạm Quang Dũng
- Seiten
- 31
- Định dạng
- Dung lượng
- 364 KB
- Trường
- Đại học Bách khoa Hà Nội
- Aufrufe
- 0
- Kommentare
- 0
- Lượt tải
- 0
Vorschau wird generiert...
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.
- Dokumentenname
- Applied Algorithms - Chapter 4 (HUST) Thầy Phạm Quang Dũng
- Schule / Kurs
- Đại học Bách khoa Hà Nội · Thuật toán ứng dụng
- Autor (im Dokument)
- Phạm Quang Dũng
- Inhalt
- 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ợ.
- Inhaltsverzeichnis
- 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
- Seiten
- 31 Seiten
- Hochgeladen von
- lienhejb
Beschreibung
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
Häufig gestellte Fragen
Ist dieses Dokument kostenlos?
Ja. „Applied Algorithms - Chapter 4 (HUST) Thầy Phạm Quang Dũng“ ist kostenlos — melden Sie sich einfach an und klicken Sie auf Herunterladen, um die Originaldatei zu erhalten.
Wie viele Seiten hat dieses Dokument?
Das Dokument hat 31 Seiten, für den Kurs Thuật toán ứng dụng. Sie können es vor dem Herunterladen online in der Vorschau ansehen.
Kann ich vor dem Herunterladen eine Vorschau ansehen?
Ja. Sie können sich dieses Dokument direkt auf dieser Seite im Online-Reader ansehen und dann entscheiden, ob Sie es herunterladen möchten.
Applied Algorithms - Chapter 4 (HUST) Thầy Phạm Quang Dũng
Vorschau wird generiert...
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
- Dokumentenname
- Applied Algorithms - Chapter 4 (HUST) Thầy Phạm Quang Dũng
- Schule / Kurs
- Đại học Bách khoa Hà Nội · Thuật toán ứng dụng
- Autor (im Dokument)
- Phạm Quang Dũng
- Inhalt
- 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ợ.
- Inhaltsverzeichnis
- 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
- Seiten
- 31 Seiten
- Hochgeladen von
- lienhejb
Kommentare (0)
Noch keine Kommentare. Seien Sie der Erste!
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)

Kommentare (0)
Noch keine Kommentare. Seien Sie der Erste!