Bài giảng cấu trúc dữ liệu và giải thuật chương 1 đh công nghệ đồng nai

41 815 0
Bài giảng cấu trúc dữ liệu và giải thuật  chương 1   đh công nghệ đồng nai

Đ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 DỮ LIỆU VÀ GIẢI THUẬT TRƯỜNG ĐH CÔNG NGHỆ ĐỒNG NAI CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT Số tiết lý thuyết: 45 Số tiết thực hành: 30 Tài Liệu Tham Khảo CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT  Trần Hạnh Nhi, Dương Anh Đức Giáo trình Cấu Trúc Dữ Liệu 1, ĐHQG Tp HCM, 2000  Robert Sedgewick Cẩm nang thuật toán (bản dịch nhóm tác giả ĐH KHTN), NXB Khoa học kỹ thuật, 1994  P S Deshpande, O G Kakde C & Data Structures, 2004  Dr Dobb's Algorithms and Data Structures, 1999  A.V Aho, J.E Hopcroft, J.D Ullman Data structures and Algorithms, Addison Wesley, 1983 Nội Dung Chương Trình CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT  Buổi 1: Giới thiệu CTDL & Giải Thuật Các thuật toán tìm kiếm  Buổi 2:Interchange Sort, Selection Sort, Bubble Sort, Insertion Sort  Buổi 3:Shaker Sort, Shell Sort, Heap Sort  Buổi 4:Quick Sort, MergeSort, Radix Sort  Buổi 5:Cấu trúc động, Danh sách liên kết đơn Nội Dung Chương Trình CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT  Buổi 6: Đệ qui, Stack, Queue  Buổi 7: Danh sách liên kết kép  Buổi 8: Cây, Cây nhị phân, nhị phân tìm kiếm  Buổi 9: Cây cân (AVL)  Buổi 10: Các CTDL mở rộng  Buổi 11: Ôn tập Hình Thức Thi CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT  Giữa kỳ: Seminar theo nhóm Kiểm tra lý thuyết giấy Bài thu hoạch Điểm cộng thêm  Cuối kỳ: Thi trắc nghiệm máy  Tổng điểm: 10 điểm CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT CHƯƠNG TỔNG TỔNGQUAN QUAN VỀ VỀCTDL CTDLVÀ VÀTHUẬT THUẬTTOÁN TOÁN Nội Dung CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT  Tổng quan CTDL thuật toán  Các tiêu chuẩn CTDL  Vai trò CTDL  Độ phức tạp thuật toán  Thực hiệu chỉnh chương trình  Tiêu chuẩn chương trình Khái Niệm Về CTDL Và Thuật Toán CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT  Niklaus Wirth: CTDL + Thuật toán = Chương trình  Cần nghiên cứu thuật toán CTDL! Sự Cần Thiết Của Thuật Toán CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT  Tại sử dụng máy tính để xử lý liệu?  Nhanh  Nhiều  Giải toán mà người hoàn thành  Làm đạt mục tiêu đó?  Nhờ vào tiến kỹ thuật: tăng cấu hình máy  chi phí cao   Nhờ vào thuật toán hiệu quả: thông minh chi phí thấp  “Một máy tính siêu hạng cứu vãn thuật toán tồi!” CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT Thuật Toán  Thuật toán: Một dãy hữu hạn thị thi hành để đạt mục tiêu đề  Ví dụ: Thuật toán tính tổng tất số nguyên dương nhỏ n gồm bước sau: Bước 1: S=0, i=1; Bước 2: ivc f(n)->n  Độ phức tạp thuật toán: O(n) 28 CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT Vi dụ: đánh giá giải thuật sort n số nguyên  Giải thuật: B0: nhập n, nhập dãy n số nguyên a[0], a[1],…,a[n-1] B1: i=0; B2: Trong i[...]... Tiết kiệm tài nguyên hệ thống 33 CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT Vai Trò Của Cấu Trúc Dữ Liệu  Cấu trúc dữ liệu đóng vai trò quan trọng trong việc kết hợp và đưa ra cách giải quyết bài toán  CTDL hỗ trợ cho các thuật toán thao tác trên đối tượng được hiệu quả hơn 34 Thực Hiện Và Hiệu Chỉnh Chương Trình CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT  Chạy thử  Lỗi và cách sửa:  Lỗi thuật toán  Lỗi trình tự  Lỗi... các bước? 29 Tổng hợp các bước CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT Bước Số lần thực hiện lệnh 1 n 2 .1 2(n -1) 2.2 n+(n -1) +…+2 = n(n +1) /2 – 1 2.2 .1 2(a -1) 2.2.2 a -1 2.3 3(n -1) 2.4 n -1 3 n TC f(n)= gán 1 2 =a 30 CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT  Cho n->vc thì f(n)->n2  Vậy độ phức tạp của thuật toán là O(n 2)  Nhận xét chung: Nếu thuật toán có  Một vòng lặp thì độ phức tạp của thuật toán là O(n)  Hai vòng... Hai vòng lặp lồng nhau là O(n2)  Ba vòng lặp lồng nhau là O(n3)  vv… 31 Dữ Liệu CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT  Theo từ điển Tiếng Việt: số liệu, tư liệu đã có, được dựa vào để giải quyết vấn đề  Tin học: Biểu diễn các thông tin cần thiết cho bài toán 32 Cấu Trúc Dữ Liệu CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT  Cách tổ chức lưu trữ dữ liệu  Các tiêu chuẩn của CTDL:  Phải biểu diễn đầy đủ thông tin  Phải... B2 .1: Nếu a[i]>max thì max=a[i]; B2.2: i=i +1; B3: In max  Đánh giá: trường hợp dữ liệu xấu nhất (dãy tăng) Tính các bước? 27 CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT Tổng hợp các bước Bước 1 2 2 .1 2.2 3 f(n)= Số lần thực hiện lệnh 2 n 2(n -1) n -1 1 4n  G.sử: t =10 -3ms (t.gian thực hiện 1 lệnh)  TH xấu nhất: T = 4n *10 -3  Cho n->vc thì f(n)->n  Độ phức tạp của thuật toán: O(n) 28 CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT... Tiêu Chuẩn Của Thuật Toán CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT  Xác định  Hữu hạn  Đúng  Tính hiệu quả  Tính tổng quát 11 Biễu Diễn Thuật Toán CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT  Dạng ngôn ngữ tự nhiên  Dạng lưu đồ (sơ đồ khối)  Dạng mã giả  Ngôn ngữ lập trình 12 Biểu Diễn Bằng Ngôn Ngữ Tự Nhiên CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT  NN tự nhiên thông qua các bước được tuần tự liệt kê để biễu diễn thuật toán... 25 Đồ thị hàm số n CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT n2 log(n) a n n3 Nhận xét: Ta thấy khi n->vc thì n3 lớn rất nhanh, do đó những thuật toán có độ phức tạp là O(n3),O(2n), O(n!), O(nn) khó sử dụng được khi n rất lớn 26 Vi dụ: đánh giá giải thuật tìm số lớn nhất của n số  Giải thuật: CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT B0: nhập n và dãy n số nguyên a[0], a [1] ,…,a[n -1] B1: max=a[0]; i =1; B2: Trong khi i T/gian thực hiện thuật toán là T = f(n)*t  Cho n-> vô cực thì f(n)->g(n);  O(g(n)) gọi là độ phức tạp của thuật toán 24 Sự Phân Lớp Theo Độ Phức Tạp Của Thuật Toán CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT  Sử dụng ký... Dài dòng, không cấu trúc  Đôi lúc khó hiểu, không diễn đạt được thuật toán 13 Lưu Đồ CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT  Là hệ thống các nút, cung hình dạng khác nhau thể hiện các chức năng khác nhau A A Thực hiện A Gọi hàm A Vào / Ra dữ liệu Đúng Begin B Sai Điều kiện rẻ nhánh B End Nút giới hạn bắt đầu / kết thúc chương trình 14 Biểu Diễn Bằng Lưu Đồ amax = a0 CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT Bắt đầu Tìm... nhất trong mảng i= 1 i ... máy  Tổng điểm: 10 điểm CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT CHƯƠNG TỔNG TỔNGQUAN QUAN VỀ VỀCTDL CTDLVÀ VÀTHUẬT THUẬTTOÁN TOÁN Nội Dung CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT  Tổng quan CTDL thuật toán  Các... = n(n +1) /2 – 2.2 .1 2(a -1 ) 2.2.2 a -1 2.3 3(n -1 ) 2.4 n -1 n TC f(n)= gán =a 30 CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT  Cho n->vc f(n )-> n2  Vậy độ phức tạp thuật toán O(n 2)  Nhận xét chung: Nếu thuật. .. (Operation, follow-up and Maintenance) 37 CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT Các kiểu liệu  Kiểu liệu sở  Kiểu liệu cấu trúc (structure)  Kiểu liệu động (Dynamic) 38 CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT Tổ chức

Ngày đăng: 03/12/2015, 00:36

Từ khóa liên quan

Mục lục

  • TRƯỜNG ĐH CÔNG NGHỆ ĐỒNG NAI

  • Tài Liệu Tham Khảo

  • Nội Dung Chương Trình

  • Slide 4

  • Hình Thức Thi

  • CHƯƠNG 1

  • Nội Dung

  • Khái Niệm Về CTDL Và Thuật Toán

  • Sự Cần Thiết Của Thuật Toán

  • Thuật Toán

  • Các Tiêu Chuẩn Của Thuật Toán

  • Biễu Diễn Thuật Toán

  • Biểu Diễn Bằng Ngôn Ngữ Tự Nhiên

  • Lưu Đồ

  • Biểu Diễn Bằng Lưu Đồ

  • Biểu Diễn Bằng Mã Giả

  • Slide 17

  • Slide 18

  • Slide 19

  • Biểu Diễn Bằng Ngôn Ngữ Lập Trình

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

Tài liệu liên quan