Cấu trúc dữ liệu và giải thuật chapter01 introduction

24 1 0
Cấu trúc dữ liệu và giải thuật chapter01 introduction

Đ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

GIỚI THIỆU Bùi Tiến Lên 01/09/2018 Một số quy định chung • Sinh viên phải làm đầy đủ các bài tập lý thuyết và thực hành • Sinh viên không được vắng quá 3 buổi lý thuyết và thực hành • Cách tính điểm c[.]

GIỚI THIỆU Bùi Tiến Lên 01/09/2018 Một số quy định chung • Sinh viên phải làm đầy đủ tập lý thuyết thực hành • Sinh viên khơng vắng buổi lý thuyết thực hành • Cách tính điểm chung Tổng điểm = 50%Lý thuyết + 30%Thực hành + 20%Đồ án Fall 2018 Data structure & Algorithm Nội dung • Các • • • thuật tốn Phân tích thuật tốn Thuật tốn xếp Thuật tốn tìm kiếm • Các • • • cấu trúc liệu Mảng & danh sách liên kết (review) Ngăn xếp & hàng đợi (review) Cây • Các thuật tốn nâng cao • Nén liệu • Cấu trúc liệu nâng cao • Đồ thị Fall 2018 Data structure & Algorithm Cấu trúc liệu giải thuật ”Giải thuật + Cấu trúc liệu = Chương trình” Niklaus Wirth Định nghĩa Cấu trúc liệu & giải thuật (data structures & algorithms) nghiên cứu • Tổ chức, lưu trữ liệu • Xây dựng cài đặt thuật toán liên quan Fall 2018 Data structure & Algorithm Cấu trúc liệu giải thuật (cont.) • Việc lựa chọn cấu trúc liệu giải thuật tạo khác biệt cho chương trình • Chạy vài giây • Chạy vài ngày Fall 2018 Data structure & Algorithm Cấu trúc liệu giải thuật (cont.) Ghi nhớ • Mỗi cấu trúc liệu có điểm mạnh điểm yếu • Khơng có cấu trúc liệu tốt cho tốn • Mỗi • • • tốn có ràng buộc khơng gian lưu trữ thời gian thực khả lập trình • Chỉ sau phân tích tốn cẩn thận biết cấu trúc liệu tốt để giải Fall 2018 Data structure & Algorithm Cấu trúc liệu Định nghĩa • Cấu trúc liệu (data structure) cách thức tổ chức (organizing) lưu trữ (storing) để mang lại hiệu thi hành thuật tốn • Cấu trúc liệu cách thức cài đặt kiểu liệu • Cấu trúc liệu (internal memory data structure) • Cấu trúc liệu ngồi (external memory data structure) Fall 2018 Data structure & Algorithm Cấu trúc liệu (cont.) • Mỗi • • • • Fall 2018 cấu trúc liệu phù hợp cho ứng dụng cụ thể Ứng dụng sở liệu thường sử dụng B-tree Ứng dụng trình biên dịch thường dùng bảng băm Ứng dụng từ điển thường dùng bảng băm Ứng dụng phân phối hàng hóa thường sử dụng hàng đợi Data structure & Algorithm Cấu trúc liệu (cont.) • Một cấu trúc liệu xem hiệu cho ứng dụng thỏa: • Lưu trữ đầy đủ đắn liệu ứng dụng • Dễ dàng truy xuất xử lý • Tiết kiệm nhớ Fall 2018 Data structure & Algorithm Kiểu liệu gì? Định nghĩa Kiểu liệu (data type) T = (V , O) • V tập hợp giá trị cho kiểu liệu T • O tập hợp thao tác định nghĩa V Ví dụ Xét T short int • V = {−32768, 32767} • O = {+, −, ∗, /} Fall 2018 Data structure & Algorithm 10 Kiểu liệu gì? (cont.) • Kiểu liệu ngơn ngữ lập trình phân loại thành • Kiểu liệu • Kiểu liệu có cấu trúc • Kiểu liệu trừu tượng Fall 2018 Data structure & Algorithm 11 Kiểu liệu Định nghĩa Các ngơn ngữ lập trình (C, C++, Java, ) có sẵn kiểu liệu cho người lập trình sử dụng Bảng 1: Các kiểu liệu Kiểu liệu bool char, unsigned char short, unsigned short int, unsigned int long, unsigned long long long, unsigned long long float double Fall 2018 Kích thước (byte) 1 4 8 Data structure & Algorithm 12 Kiểu liệu có cấu trúc Định nghĩa Các ngơn ngữ lập trình cung cấp công cụ để tạo kiểu liệu cách kết hợp kiểu liệu theo cấu trúc sau • Kiểu mảng • Kiểu chuỗi • Kiểu cấu trúc Fall 2018 Data structure & Algorithm 13 Kiểu liệu mảng Định nghĩa Mảng dùng để biểu diễn liệu dạng dãy phần tử có kiểu với Fall 2018 Data structure & Algorithm 14 Kiểu liệu chuỗi Định nghĩa Chuỗi ký tự mảng chiều mà phần tử ký tự ký tự cuối ký tự NULL Fall 2018 Data structure & Algorithm 15 Kiểu liệu cấu trúc Định nghĩa • Kiểu liệu cấu trúc nhóm thành phần có kiểu khơng giống thành phần xác định tên riêng • Kiểu liệu thành phần kiểu lại kiểu có cấu trúc Fall 2018 Data structure & Algorithm 16 Kiểu liệu trừu tượng Định nghĩa • Kiểu liệu trừu tượng (abstract data type - ADT ) tập hợp giá trị, thao tác • Mỗi thao tác ADT xác định thông qua liệu vào liệu • Khơng đề cập cách thức cài đặt Fall 2018 Data structure & Algorithm 17 Kiểu liệu trừu tượng (cont.) Ví dụ • ADT stack tập hợp phần tử có thao tác chính: • push • pop • top • ADT stack cài đặt nhiều cách khác nhau: • mảng chiều • danh sách liên kết đơn • danh sách liên kết đôi Fall 2018 Data structure & Algorithm 18 Tài liệu tham khảo Adelson-Velskii, G M and Landis, E M (1962) An information organization algorithm In Doklady Akademia Nauk SSSR, volume 146, pages 263–266 Andersson, A and Nilsson, S (1995) Efficient implementation of suffix trees Software: Practice and Experience, 25(2):129–141 Apostol, T M (1976) Introduction to analytic number theory Springer Fall 2018 Data structure & Algorithm 19 Tài liệu tham khảo (cont.) Bauer, F L and Samelson, K (2001) Verfahren zur automatischen verarbeitung von kodierten daten und rechenmaschine zur ausübung des verfahrens In Pioneers and Their Contributions to Software Engineering, pages 29–40 Springer Bayer, R and McCreight, E (2002) Organization and maintenance of large ordered indexes In Software pioneers, pages 245–262 Springer Boyer, R S and Moore, J S (1977) A fast string searching algorithm Communications of the ACM, 20(10):762–772 Fall 2018 Data structure & Algorithm 20 ... liệu • Cấu trúc liệu nâng cao • Đồ thị Fall 2018 Data structure & Algorithm Cấu trúc liệu giải thuật ? ?Giải thuật + Cấu trúc liệu = Chương trình” Niklaus Wirth Định nghĩa Cấu trúc liệu & giải thuật. .. trình • Chạy vài giây • Chạy vài ngày Fall 2018 Data structure & Algorithm Cấu trúc liệu giải thuật (cont.) Ghi nhớ • Mỗi cấu trúc liệu có điểm mạnh điểm yếu • Khơng có cấu trúc liệu tốt cho... cứu • Tổ chức, lưu trữ liệu • Xây dựng cài đặt thuật toán liên quan Fall 2018 Data structure & Algorithm Cấu trúc liệu giải thuật (cont.) • Việc lựa chọn cấu trúc liệu giải thuật tạo khác biệt cho

Ngày đăng: 25/03/2023, 08:39

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

Tài liệu liên quan