Bài giảng Cấu trúc dữ liệu và thuật toán: Chương 1 - Nguyễn Đức Nghĩa

Bài giảng "Cấu trúc dữ liệu và thuật toán - Chương 1: Các kiến thức cơ bản" cung cấp cho người học các kiến thức: Thuật toán và độ phức tạp, ký hiệu tiệm cận, giả ngôn ngữ, một số kỹ thuật phân tích thuật toán. . | Bài giảng Cấu trúc dữ liệu và thuật toán: Chương 1 - Nguyễn Đức Nghĩa CẤU TRÚC DỮ LIỆU VÀ THUẬT TOÁN Data Structures and Algorithms NguyỄN ĐỨC NGHĨA Bộ môn Khoa học Máy tính Đại học Bách khoa Hà nội Tel: 0438696121 (Off), 0903210111 (Mob) nghiand@ Chương 1 CÁC KIẾN THỨC CƠ BẢN Cấu trúc dữ liệu và thuật toán - . Nghĩa. Bộ môn KHMT NỘI DUNG . Ví dụ mở đầu . Thuật toán và độ phức tạp . Ký hiệu tiệm cận . Giả ngôn ngữ . Một số kĩ thuật phân tích thuật toán Cấu trúc dữ liệu và thuật toán - . Nghĩa. Bộ môn KHMT Ví dụ mở đầu • Bài toán tìm dãy con lớn nhất: Cho dãy số a1, a2, , an Dãy số ai, ai+1 , , aj với 1 ≤ i ≤ j ≤ n được gọi là dãy con của dãy đã cho và ∑jk=i ak được gọi là trọng lượng của dãy con này Bài toán đặt ra là: Hãy tìm trọng lượng lớn nhất của các dãy con, tức là tìm cực đại giá trị ∑jk=i ak. Để đơn giản ta gọi dãy con có trọng lượng lớn nhất là dãy con lớn nhất. • Ví dụ: Nếu dãy đã cho là -2, 11, -4, 13, -5, 2 thì cần đưa ra câu trả lời là 20 (là trọng lượng của dãy con 11, -4, 13) Cấu trúc dữ liệu và thuật toán - . Nghĩa. Bộ môn KHMT Thuật toán trực tiếp • Thuật toán đơn giản đầu tiên có thể nghĩ để giải bài toán đặt ra là: Duyệt tất cả các dãy con có thể ai, ai+1 , , aj với 1 ≤ i ≤ j ≤ n và tính tổng của mỗi dãy con để tìm ra trọng lượng lớn nhất. • Trước hết nhận thấy rằng, tổng số các dãy con có thể của dãy đã cho là C(n,2) + n = n2/2 + n/2 . Cấu trúc dữ liệu và thuật toán - . Nghĩa. Bộ môn KHMT Thuật toán trực tiếp • Thuật toán này có thể cài đặt trong đoạn chương trình sau: int maxSum = 0; for (int i=0; iThuật toán nhanh hơn • Để ý rằng tổng các số hạng từ i đến j có thể thu được từ tổng của các số hạng từ i đến j-1 bởi 1 phép cộng, cụ thể là ta có: j j 1 a[k ] a[ j ] a[k ] k i k i • Nhận xét này cho phép rút bớt

Không thể tạo bản xem trước, hãy bấm tải xuống
TỪ KHÓA LIÊN QUAN
TÀI LIỆU MỚI ĐĂNG
Đã phát hiện trình chặn quảng cáo AdBlock
Trang web này phụ thuộc vào doanh thu từ số lần hiển thị quảng cáo để tồn tại. Vui lòng tắt trình chặn quảng cáo của bạn hoặc tạm dừng tính năng chặn quảng cáo cho trang web này.