Bài giảng Cấu trúc dữ liệu và giải thuật: Các khái niệm cơ bản - Văn Chí Nam, Nguyễn Thị Hồng Nhung, Đặng Nguyễn Đức Tiến

14 80 0
Bài giảng Cấu trúc dữ liệu và giải thuật: Các khái niệm cơ bản - Văn Chí Nam, Nguyễn Thị Hồng Nhung, Đặng Nguyễn Đức Tiến

Đ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

Bài giảng Cấu trúc dữ liệu và giải thuật: Các khái niện cơ bản cung cấp cho người đọc các kiến thức: Trừ tượng hóa - Sự đơn giản hóa, kiểu dữ liệu, kiểu dữ liệu có cấu trúc, cấu trúc dữ liệu,... Mời các bạn cùng tham khảo nội dung chi tiết.

Giảng viên: Văn Chí Nam – Nguyễn Thị Hồng Nhung – Đặng Nguyễn Đức Tiến  According to Peter J Denning, the fundamental question underlying computer science is, "What can be (efficiently) automated?“ [Wikipedia.org, tháng – 2009] Cấu trúc liệu giải thuật - HCMUS 2016 CuuDuongThanCong.com ©FIT-HCMUS https://fb.com/tailieudientucntt  Để giải nhu cầu tự động hóa, nhu cầu Khoa học Máy tính, nhà khoa học máy tính phải tạo trừu tượng hóa tốn giới thực, để người sử dụng máy tính hiểu  biểu diễn xử lý bên máy tính   Ví dụ: Mơ hình hóa việc biểu diễn cầu thủ bóng đá  Mơ hình hóa mạch điện …  Cấu trúc liệu giải thuật - HCMUS 2016  Thơng thường, tìm trừu tượng hóa thường khó, vì:  Giới hạn khả xử lý máy  Phải cung cấp cho máy mơ hình giới đến mức chi tiết người có, khơng kiện mà nguyên tắc mối liên hệ Cấu trúc liệu giải thuật - HCMUS 2016 CuuDuongThanCong.com ©FIT-HCMUS https://fb.com/tailieudientucntt  Sự trừu tượng hóa sử dụng đơn giản hóa, thay tình phức tạp nhiều chi tiết giới thực mơ hình dễ hiểu để giải tốn Có thể hiểu loại bớt chi tiết có tác dụng khơng có tác dụng lời giải tốn -> tạo mơ hình cho phép giải với chất toán  Cấu trúc liệu giải thuật - HCMUS 2016    Tách biệt mục đích module khỏi phần cài đặt Có thể sử dụng module mà không cần phải biết đến cài đặt thực tế Nghĩ “CÁI GÌ” thay “LÀM NHƯ THẾ NÀO” Cấu trúc liệu giải thuật - HCMUS 2016 CuuDuongThanCong.com ©FIT-HCMUS https://fb.com/tailieudientucntt Che dấu thông tin Cấu trúc liệu giải thuật - HCMUS 2016 10  Cập nhật cài đặt khơng ảnh hưởng đến chương trình Cấu trúc liệu giải thuật - HCMUS 2016 CuuDuongThanCong.com ©FIT-HCMUS https://fb.com/tailieudientucntt 11   Kiểu liệu (của biến) xác định tập giá trị mà biến chấp nhận phép tốn thực giá trị Ví dụ:  Kiểu liệu kiểu số nguyên,  Kiểu liệu kiểu số thực,  Kiểu liệu ký tự Cấu trúc liệu giải thuật - HCMUS 2016 12  Kiểu liệu sơ cấp kiểu liệu mà giá trị đơn dụ: Trong ngơn ngữ lập trình C chuẩn, kiểu int gọi kiểu sơ cấp kiểu bao gồm số nguyên (tùy kiến trúc máy tính, 16 bit, 32 bit hay 64 bit) phép toán +, -, *, /, %…  Ví  Mỗi ngơn ngữ có cung cấp sẵn kiểu liệu (basic data type) dùng thành phần sở để tạo nên liệu có cấu trúc phức tạp Cấu trúc liệu giải thuật - HCMUS 2016 CuuDuongThanCong.com ©FIT-HCMUS https://fb.com/tailieudientucntt 13   Kiểu liệu có cấu trúc (Structured Data Type): kiểu liệu mà giá trị kết hợp giá trị khác Ví dụ:  Kiểu liệu có cấu trúc gồm giá trị giao dịch phiên giao dịch (chứng khốn)  Kiểu liệu mơ tả lí lịch sinh viên …  Còn gọi kiểu liệu tổ hợp Cấu trúc liệu giải thuật - HCMUS 2016 14  Kiểu liệu trừu tượng (abstract data type - ADT) bao gồm tập hợp liệu thao tác liệu   Cần phải ý nhiều thủ tục liệu GÌ thay ý LÀM THẾ NÀO cài đặt thực chúng Ví dụ: Kiểu liệu trừu tượng PhanSo  Kiểu liệu trừu tượng Ngay  Kiểu liệu trừu tượng Gio  Cấu trúc liệu giải thuật - HCMUS 2016 CuuDuongThanCong.com ©FIT-HCMUS https://fb.com/tailieudientucntt 15  FIGURE 1-4 A dispenser of chilled water, crushed ice, and ice cubes Cấu trúc liệu giải thuật - HCMUS 2016 16  FIGURE 1-5 A wall of ADT operations isolates a data structure from the program that uses it Cấu trúc liệu giải thuật - HCMUS 2016 CuuDuongThanCong.com ©FIT-HCMUS https://fb.com/tailieudientucntt 17  Thiết kế Kiểu liệu trừu tượng, đặt câu hỏi:  Loại liệu cần dùng đến?  Names  IDs  Numerical  Thao data tác cần thực hiện?  Khởi tạo (Initialize)  Hiển thị (Display)  Tính tốn (Calculations) Cấu trúc liệu giải thuật - HCMUS 2016 18  Thiết kế kiểu liệu trừu tượng PHANSO biểu diễn phân số thực tế Cấu trúc liệu giải thuật - HCMUS 2016 CuuDuongThanCong.com ©FIT-HCMUS https://fb.com/tailieudientucntt 19  Kiểu liệu trừu tượng PHANSO * Dữ liệu: - Tử số: nguyên - Mẫu số: nguyên khác * Thao tác: + Cộng phân số: cộng phân số để tạo thành phân số tổng Ví dụ: 1/2 + 1/3 -> 5/6 + Trừ phân số: trừ phân số để tạo thành phân số hiệu Ví dụ: 1/2 - 1/3 -> 1/6 + Nhân phân số: nhân phân số để tạo thành phân số tích Ví dụ: 1/2 * 1/3 -> 1/6 + Chia phân số + Rút gọn phân số: rút gọn phân số Ví dụ: 4/6 -> 2/3 Cấu trúc liệu giải thuật - HCMUS 2016 20  Thiết kế kiểu liệu trừu tượng NGAY biểu diễn ngày thực tế Cấu trúc liệu giải thuật - HCMUS 2016 CuuDuongThanCong.com ©FIT-HCMUS https://fb.com/tailieudientucntt 24  Kiểu liệu trừu tượng DANHSACH:  Biểu diễn danh sách thực tế (ví dụ: DANH SÁCH sinh viên, DANH SÁCH mơn học, DANH SÁCH đường trịn, DANH SÁCH phân số, ) Cấu trúc liệu giải thuật - HCMUS 2016 25  Dữ liệu  Thao tác - Tập hợp (collection) phần tử kiểu liệu + Tạo danh sách (rỗng) + Thêm (mới) vào danh sách phần tử: Thêm vị trí đầu danh sách Thêm cuối danh sách, + Xóa danh sách (đang tồn tại): xóa tất phần tử + Xóa khỏi danh sách phần tử + Duyệt danh sách + Tìm kiếm phần tử (theo vài loại thông tin) danh sách + Sắp xếp danh sách phần tử theo một/một vài tiêu chí, + Gộp danh sách + Tách thành danh sách Cấu trúc liệu giải thuật - HCMUS 2016 CuuDuongThanCong.com ©FIT-HCMUS https://fb.com/tailieudientucntt 10 26  Cấu trúc liệu thành phần ngôn ngữ lập trình dùng để lưu giữ liệu kiểu liệu trừu tượng dụ mảng (array), tập tin (file), danh sách liên kết (linked list), nhị phân,…  Ví  Các cấu trúc liệu chọn phải có khả biểu diễn tập input output toán cần giải Cấu trúc liệu giải thuật - HCMUS 2016 27  Mặc dù tên nghe giống nhau, “danh sách” “danh sách liên kết” khái niệm khác sách kiểu liệu trừu tượng (ADT)  Danh sách liên kết cấu trúc liệu  Danh Cấu trúc liệu giải thuật - HCMUS 2016 CuuDuongThanCong.com ©FIT-HCMUS https://fb.com/tailieudientucntt 11 28  A bag is a container  Contains finite number of data objects  All objects of same type  Objects in no particular order  Objects may be duplicated Cấu trúc liệu giải thuật - HCMUS 2016 29      Get the number of items currently in the bag See whether the bag is empty Add a given object to bag Remove occurrence of specific object from bag Remove all objects from bag Cấu trúc liệu giải thuật - HCMUS 2016 CuuDuongThanCong.com ©FIT-HCMUS https://fb.com/tailieudientucntt 12 30    Count the number of times certain object occurs in bag Test whether bag contains particular object Look at all objects in bag Cấu trúc liệu giải thuật - HCMUS 2016 31  FIGURE 1-6 A CRC card for a class Bag Cấu trúc liệu giải thuật - HCMUS 2016 CuuDuongThanCong.com ©FIT-HCMUS https://fb.com/tailieudientucntt 13 32  FIGURE 1-7 UML notation for the class Bag Cấu trúc liệu giải thuật - HCMUS 2016 CuuDuongThanCong.com ©FIT-HCMUS https://fb.com/tailieudientucntt 14 ... cần giải Cấu trúc liệu giải thuật - HCMUS 2016 27  Mặc dù tên nghe giống nhau, “danh sách” “danh sách liên kết” khái niệm khác sách kiểu liệu trừu tượng (ADT)  Danh sách liên kết cấu trúc liệu. .. Look at all objects in bag Cấu trúc liệu giải thuật - HCMUS 2016 31  FIGURE 1-6 A CRC card for a class Bag Cấu trúc liệu giải thuật - HCMUS 2016 CuuDuongThanCong.com ©FIT-HCMUS https://fb.com/tailieudientucntt... Cấu trúc liệu giải thuật - HCMUS 2016 CuuDuongThanCong.com ©FIT-HCMUS https://fb.com/tailieudientucntt 15  FIGURE 1-4 A dispenser of chilled water, crushed ice, and ice cubes Cấu trúc liệu giải

Ngày đăng: 11/01/2020, 17:39

Từ khóa liên quan

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

Tài liệu liên quan