intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Cấu trúc dữ liệu và giải thuật - Đinh Thị Lan Phương

Chia sẻ: Kieu Quang Vinh | Ngày: | Loại File: PPT | Số trang:31

175
lượt xem
42
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Giải thuật là một dãy các thao tác, được mô tả chính xác theo trình tự nhất định để giải quyết bài toán sau một số hữu hạn các bước...

Chủ đề:
Lưu

Nội dung Text: Cấu trúc dữ liệu và giải thuật - Đinh Thị Lan Phương

  1. CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT 03 tín chỉ (02 LT - 01 TH) Giảng viên: Đinh Thị Lan Phương
  2. NỘI DUNG MÔN HỌC Chương 1: Tổng quan về CTDL & GT  Chương 2 : Đệ quy và giải thuật đệ quy  Chương 3 : Danh sách tuyến tính  Chương 4 : Cấu trúc cây  Chương 5 : Các giải thuật sắp xếp  Chương 6 : Các giải thuật tìm kiếm  2/31
  3. TÀI LIỆU THAM KHẢO Cấu trúc dữ liệu và giải thuật, Đỗ Xuân Lôi, NXB Thống  kê. Cấu trúc dữ liệu và thuật toán, Đinh Mạnh T ường, NXB  Khoa học kĩ thuật Đề cương chi tiết học phần CTDL&GT, An Văn Minh,  Khoa CNTT, ĐHCNHN. 3/31
  4.  Chương 1- TỔNG QUAN  Giải thuật và cấu trúc dữ liệu  Phân tích và đánh giá giải thuật  Các cấu trúc dữ liệu cơ sở  4/31
  5. 1.1 GIẢI THUẬT VÀ CTDL Giải thuật  Cấu trúc dữ liệu  Mối quan hệ giữa CTDL&GT  5/31
  6. 1.1.1 Giải thuật Khái niệm  Đặc trưng của giải thuật  Các phương pháp diễn đạt giải thuật  6/31
  7. Khái niệm Giải thuật là một dãy các thao tác, được mô tả chính  xác theo trình tự nhất định để giải quyết bài toán sau một số hữu hạn các bước 7/31
  8. Đặc trưng của giải thuật Bộ dữ liệu vào  Dữ liệu ra  Tính xác định  Tính dừng  Tính phổ dụng  Tính hiệu quả  8/31
  9. Các phương pháp diễn đạt giải thuật Sử dụng ngôn ngữ tự nhiên  Sử dụng sơ đồ khối  Sử dụng ngôn ngữ lập trình  9/31
  10. Ví dụ các phương pháp diễn đạt giải thuật Diễn đạt giải thuật tìm ước số chung lớn nhất của 2 s ố  nguyên dương m, n theo thuật toán Euclid In put : 2 số nguyên dương m, n  Out put : Ước số chung lớn nhất của 2 số m, n  10/31
  11. Ví dụ các phương pháp diễn đạt giải thuật Sử dụng ngôn ngữ tự nhiên  Bước 1: Lấy m chia dư cho n được số dư là r  Bước 2: Kiểm tra r  Nếu r = 0 : USCLN là n, kết thúc.  Nếu r 0 : Gán m = n, n = r, quay lại bước 1  11/31
  12. Ví dụ các phương pháp diễn đạt giải thuật Sử dụng sơ đồ khối Begin  r=m mod n true r=0 false m = n, n = r usc= n End 12/31
  13. Ví dụ các phương pháp diễn đạt giải thuật Sử dụng ngôn ngữ lập trình  int Euclid (int m, int n) { int r ; r = m % n; while (r!= 0) { m = n; n =r; r = m % n; } return n; } 13/31
  14. 1.1.2 Cấu trúc dữ liệu Khái niệm  Là cách biểu diễn các dữ liệu dùng để mô tả các đối  tượng cần xử lí trong máy tính Các tiêu chuẩn đánh giá cấu trúc dữ liệu  Phản ánh đúng thực tế  Phù hợp với các giải thuật xử lý trên đó  Tiết kiệm tài nguyên hệ thống  14/31
  15. 1.1.3 Mối quan hệ giữa CTDL&GT : Được thể hiện bởi sơ đồ  CHƯƠNG TRÌNH CTDL + GT = 15/31
  16. 1.2  PHÂN TÍCH VÀ ĐÁNH GIÁ GIẢI THUẬT Thời gian thực hiện của giải thuật  Đánh giá độ phức tạp tính toán của giải thu ật  Phương pháp xác định độ phức tạp tính toán  16/31
  17. 1.2.1 Thời gian thực hiện giải thuật Thời gian thực hiện giải thuật trong thực tế phụ  thuộc vào nhiều yếu tố : Kính thước dữ liệu cần xử lí  Cách thức nhập dữ liệu  Chương trình dịch  Tốc độ xử lí của máy tính  17/31
  18. 1.2.1 Thời gian thực hiện giải thuật Cách đánh giá thời gian thực hiện giải thuật độc lập với  máy tính và các yếu tố liên quan tới máy tính g ọi là độ phức tạp tính toán của giải thuật Thời gian thực hiện giải thuật là số các phép toán cơ  bản cần thực hiện thông qua độ lớn của dữ liệu Thời gian thực hiện giải thuật kí hiệu là T(n)  trong đó n là kích thước dữ liệu 18/31
  19. 1.2.2 Đánh giá độ phức tạp tính toán của giải thuật Định nghĩa :  T(n)= O(g(n)) Nếu tồn tại các hằng số c và n 0 sao  cho T(n)=n0 Ví dụ :  T(n)=2n3 + 3n2 Ta có : T(n)=0 Vậy T(n)=O(n3) (Kí pháp chữ O lớn) 19/31
  20. 1.2.2 Đánh giá độ phức tạp tính toán của giải thuật Với một bài toán nếu :  Đ ộ ph ức t ạp h ằng s ố T(n) = O(1)  Đ ộ ph ức t ạp tuy ến tính T(n) = O(n)  T(n) = O(n2,n3, log2(n),…)  Độ phức tạp đa thức Độ phức tạp hàm mũ T(n) = O(an, n!,…)  20/31
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2