Giáo trình: Cấu trúc dữ liệu và giải thuật

565 29 0
Giáo trình: Cấu trúc dữ liệu và giải thuật

Đ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

Cấu trúc liệu giải thuật Người thực hiện: Email: ĐT: CuuDuongThanCong.com Đỗ Tuấn Anh anhdt@it-hut.edu.vn 0989095167 https://fb.com/tailieudientucntt Tài liệu tham khảo zSách giáo trình: Đỗ Xn Lơi, Cấu trúc liệu Giải Thuật, NXB ĐHQGHN zR Sedgewick, Algorithm in C, Addison Wesley CuuDuongThanCong.com https://fb.com/tailieudientucntt Nội dung zChương – Thiết kế phân tích zChương – Giải thuật đệ quy zChương – Mảng danh sách zChương – Ngăn xếp hàng đợi zChương – Cấu trúc zChương – Đồ thị zChương – Sắp xếp zChương – Tìm kiếm CuuDuongThanCong.com https://fb.com/tailieudientucntt Chương – Thiết kế phân tích Mở đầu Từ tốn đến chương trình 2.1 Modul hóa tốn 2.2 Phương pháp tinh chỉnh bước Phân tích giải thuật 3.1 Độ phức tạp thời gian thực GT 3.2 O-lớn, Omega-lớn, Theta-lớn 3.3 Xác định độ phức tạp thời gian CuuDuongThanCong.com https://fb.com/tailieudientucntt Mở đầu z Giải thuật: {Các bước giải toán {Một dãy câu lệnh xác định trình tự thao tác số đối tượng cho sau số hữu hạn bước thực ta đạt kết mong muốn z Đầu vào(Input): tập đối tượng (dữ liệu) z Đầu ra(Output): tập giá trị Các bước thực z Cấu trúc liệu: {Tập hợp liệu {Có mối quan hệ với tốn xác định z Lựa chọn cấu trúc liệu giải thuật thích hợp: quan trọng {Ví dụ: viết chương trình tìm kiếm số điện thoại theo tên đơn vị Chương trình = Giải thuật + Dữ liệu CuuDuongThanCong.com https://fb.com/tailieudientucntt Mở đầu (tiếp) z Biểu diễn cấu trúc liệu nhớ: { Lưu trữ { Lưu trữ z Diễn đạt giải thuật: { { { { Ngôn ngữ tự nhiên Giả ngôn ngữ Lưu đồ Ngơn ngữ lập trình z Cài đặt giải thuật: ngơn ngữ C/C++ CuuDuongThanCong.com https://fb.com/tailieudientucntt Giả ngơn ngữ Chú thích: /*…*/ //… Đánh số thứ tự đoạn chương trình Ký tự biểu thức { { { { { { { 26 chữ Latin + 10 chữ số Phép toán số học: +, -, *, /, ^(lũy thừa), % Phép toán quan hệ: , ==, =, != Phép toán logic: &&, ||, ! Giá trị logic: true, false Biến số: a[i], a[i][j] Thứ tự ưu tiên phép toán: C ngôn ngữ chuẩn khác CuuDuongThanCong.com https://fb.com/tailieudientucntt Giả ngôn ngữ (tiếp) z Lệnh gán: a = b; c = d = 2; z Khối lệnh: { S1; S2; S3; } z Lệnh điều kiện: if (B) S; if (B) {s1;s2;s3;} if (B) S1; else S2; CuuDuongThanCong.com https://fb.com/tailieudientucntt Giả ngôn ngữ zLệnh lặp for (i = ; i= 0; i ) S; S while (B); while (B) S; CuuDuongThanCong.com https://fb.com/tailieudientucntt Giả ngôn ngữ (tiếp) z Lệnh vào/ra: read () write () z Chương trình con: function () { S1; S2; …Sn; return; // chương trình trả lại giá trị } z Gọi chương trình con: () CuuDuongThanCong.com https://fb.com/tailieudientucntt 10 9 7 11 14 18 21 10 11 14 18 21 10 8 11 14 18 21 CuuDuongThanCong.com 10 11 14 18 21 https://fb.com/tailieudientucntt 5 10 11 14 18 21 10 11 14 18 21 10 11 14 18 21 10 11 14 18 21 2, 3, 5, 6, 7, 8, 9, 10, 11, 14, 18, 21 CuuDuongThanCong.com https://fb.com/tailieudientucntt Độ phức tạp thời gian (1) Tạo đống: {N/2 * O( log N) ⇒ O(N log N) (2) Thực N-1 lần thao tác xóa phần tử đỉnh {Mỗi lần xóa O(log N) ⇒ O(N log N) zĐộ phức tạp thời gian: O(N log N) CuuDuongThanCong.com https://fb.com/tailieudientucntt ... liệu) z Đầu ra(Output): tập giá trị Các bước thực z Cấu trúc liệu: {Tập hợp liệu {Có mối quan hệ với tốn xác định z Lựa chọn cấu trúc liệu giải thuật thích hợp: quan trọng {Ví dụ: viết chương trình... vị Chương trình = Giải thuật + Dữ liệu CuuDuongThanCong.com https://fb.com/tailieudientucntt Mở đầu (tiếp) z Biểu diễn cấu trúc liệu nhớ: { Lưu trữ { Lưu trữ z Diễn đạt giải thuật: { { { { Ngôn... ta phân tích thuật toán z Một thuật toán đúng? {Nếu, với liệu đầu vào, thuật toán dừng đưa kết z Thuật tốn khơng {Có thể khơng dừng với số liệu đầu vào {Dừng đưa kết sai z Phân tích thuật tốn {Dự

Ngày đăng: 23/08/2020, 23:29

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan