C10-Generic Algorithms - K ỹ thu ậ t l ậ p trình

Info iconThis preview shows pages 1–5. Sign up to view the full content.

View Full Document Right Arrow Icon

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
This is the end of the preview. Sign up to access the rest of the document.

Unformatted text preview: K ỹ thu ậ t l ậ p trình 0101010101010101100001 0101010101010101100001 0101010101010101100001 0101010100101010100101 0101010100101010100101 0101010100101010100101 1010011000110010010010 1010011000110010010010 1010011000110010010010 1100101100100010000010 1100101100100010000010 1100101100100010000010 0101010101010101100001 0101010101010101100001 0101010101010101100001 0101010100101010100101 0101010100101010100101 0101010100101010100101 1010011000110010010010 1010011000110010010010 1010011000110010010010 1100101100100010000010 1100101100100010000010 1100101100100010000010 0101010101010101100001 0101010101010101100001 0101010101010101100001 0101010100101010100101 0101010100101010100101 0101010100101010100101 1010011000110010010010 1010011000110010010010 1010011000110010010010 1100101100100010000010 1100101100100010000010 1100101100100010000010 12/25/2007 y = A*x + B*u; x = C*x + d*u; StateController start() stop() LQGController start() stop() Ch ươ ng 10: Thu ậ t toán t ổ ng quát 2 Ch ươ ng 10: Thu ậ t toán t ổ ng quát N ộ i dung ch ươ ng 10 10.1 T ổ ng quát hóa ki ể u d ữ li ệ u ph ầ n t ử 10.2 T ổ ng quát hóa phép toán c ơ s ở 10.3 T ổ ng quát hóa ph ươ ng pháp truy l ặ p ph ầ n t ử 3 Ch ươ ng 10: Thu ậ t toán t ổ ng quát 10.1 T ổ ng quát hóa ki ể u d ữ li ệ u ph ầ n t ử ¡ Th ự c t ế : — Kho ả ng 80% th ờ i gian làm vi ệ c c ủ a m ộ t ng ườ i th ư ký v ă n phòng tr ướ c ₫ ây (và hi ệ n nay ở nhi ề u n ơ i) s ử d ụ ng cho công vi ệ c tìm ki ế m, s ắ p x ế p, ₫ố i chi ế u, so sánh,.... tài li ệ u và h ồ s ơ — Trung bình, kho ả ng 80% mã ch ươ ng trình và th ờ i gian th ự c hi ệ n ch ươ ng trình dành cho th ự c hi ệ n các thu ậ t toán ít liên quan tr ự c ti ế p t ớ i bài toán ứ ng d ụ ng c ụ th ể , mà liên quan t ớ i tìm ki ế m, s ắ p x ế p, l ự a ch ọ n, so sánh... d ữ li ệ u ¡ D ữ li ệ u ₫ượ c qu ả n lý t ố t nh ấ t trong các c ấ u trúc d ạ ng "container" (vector, list, map, tree, queue,...) ¡ V ấ n ₫ề xây d ự ng hàm áp d ụ ng cho các "container": Nhi ề u hàm ch ỉ khác nhau v ề ki ể u d ữ li ệ u tham s ố áp d ụ ng, không khác nhau v ề thu ậ t toán ¡ Gi ả i pháp: Xây d ự ng khuôn m ẫ u hàm, t ổ ng quát hóa ki ể u d ữ li ệ u ph ầ n t ử 4 Ch ươ ng 10: Thu ậ t toán t ổ ng quát ¡ Ví d ụ : Thu ậ t toán tìm ₫ị a ch ỉ ph ầ n t ử ₫ầ u tiên trong m ộ t m ả ng có giá tr ị l ớ n h ơ n m ộ t s ố cho tr ướ c: template <typename T> T* find_elem(T *first, T* last, T k) { while (first != last && !(*first > k)) ++first; return first; } void main() { int a = { 1, 3, 5, 2, 7, 9, 6 }; int *p = find_elem(a,a+7,4); if (p != a+7) { cout << "First number > 4 :" << *p; p = find_elem(p+1,a+7,4); if (p != a+7) cout << "Second number > 4:" << *p;if (p !...
View Full Document

Page1 / 24

C10-Generic Algorithms - K ỹ thu ậ t l ậ p trình

This preview shows document pages 1 - 5. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online