Khái quát về cấu trúc dữ liệu phần 1
lượt xem 14
download
Phần lớn các bài toán trong thực tế liên quan tới các dữ liệu phức hợp, những kiểu dữ liệu cơ bản trong ngôn ngữ lập trình không ₫ủ biểu diễn
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Khái quát về cấu trúc dữ liệu phần 1
- h a n g e Vi h a n g e Vi XC XC ew ew F- F- PD PD er er ! ! W W O O N N Nội dung chương 4 y y bu bu TÌM HIỂU CÁC DỮ LIỆU PHỨC HỘP TRONG LẬP TRÌNH to to k k lic lic C C w w m m w w w w o o .c .c .d o .d o c u -tr a c k c u -tr a c k NỘI DUNG BÀI HỌC: 4.1 Cấu trúc dữ liệu là gì? 4.2 Mảng và quản lý bộ nhớ ₫ộng 4.2 Xây dựng cấu trúc Vector 4.3 Xây dựng cấu trúc List © 2004, HOÀNG MINH SƠN 2 Chương 4: Khái quát về cấu trúc dữ liệu
- h a n g e Vi h a n g e Vi XC XC ew ew F- F- PD PD er er ! ! W W 4.1 Giới thiệu chung O O N N y y bu bu to to k k lic lic C C w w m m w w w w o o .c .c .d o .d o c u -tr a c k c u -tr a c k Phần lớn các bài toán trong thực tế liên quan tới các dữ liệu phức hợp, những kiểu dữ liệu cơ bản trong ngôn ngữ lập trình không ₫ủ biểu diễn Ví dụ: — Dữ liệu sinh viên: Họ tên, ngày sinh, quê quán, mã số SV,... — Mô hình hàm truyền: Đa thức tử số, ₫a thức mẫu số — Mô hình trạng thái: Các ma trận A, B, C, D — Dữ liệu quá trình: Tên ₫ại lượng, dải ₫o, giá trị, ₫ơn vị, thời gian, cấp sai số, ngưỡng giá trị,... — Đối tượng ₫ồ họa: Kích thước, màu sắc, ₫ường nét, phông © 2004, HOÀNG MINH SƠN chữ, ... Phương pháp biểu diễn dữ liệu: ₫ịnh nghĩa kiểu dữ liệu mới sử dụng cấu trúc (struct, class, union, ...) 3 Chương 4: Khái quát về cấu trúc dữ liệu
- h a n g e Vi h a n g e Vi XC XC ew ew F- F- PD PD er er ! ! W W O O Vấn ₫ề: Biểu diễn tập hợp dữ liệu N N y y bu bu to to k k lic lic C C w w m m w w w w o o .c .c .d o .d o c u -tr a c k c u -tr a c k Đa số những dữ liệu thuộc một ứng dụng có liên quan với nhau => cần biểu diễn trong một tập hợp có cấu trúc, ví dụ: — Danh sách sinh viên: Các dữ liệu sinh viên ₫ược sắp xếp theo thứ tự Alphabet — Mộ hình tổng thể cho hệ thống ₫iều khiển: Bao gồm nhiều thành phần tương tác — Dữ liệu quá trình: Một tập dữ liệu có thể mang giá trị của một ₫ại lượng vào các thời ₫iểm gián ₫oạn, các dữ liệu ₫ầu vào liên quan tới dữ liệu ₫ầu ra — Đối tượng ₫ồ họa: Một cửa sổ bao gồm nhiều ₫ối tượng ₫ồ họa, một bản vẽ cũng bao gồm nhiều ₫ối tượng ₫ồ họa © 2004, HOÀNG MINH SƠN Thông thường, các dữ liệu trong một tập hợp có cùng kiểu, hoặc ít ra là tương thích kiểu với nhau Kiểu mảng không phải bao giờ cũng phù hợp! 4 Chương 4: Khái quát về cấu trúc dữ liệu
- h a n g e Vi h a n g e Vi XC XC ew ew F- F- PD PD er er ! ! W W O O N N Vấn ₫ề: Quản lý (tập hợp) dữ liệu y y bu bu to to k k lic lic C C w w m m w w w w o o .c .c .d o .d o c u -tr a c k c u -tr a c k Sử dụng kết hợp một cách khéo léo kiểu cấu trúc và kiểu mảng ₫ủ ₫ể biểu diễn các tập hợp dữ liệu bất kỳ Các giải thuật (hàm) thao tác với dữ liệu, nhằm quản lý dữ liệu một cách hiệu quả: — Bổ sung một mục dữ liệu mới vào một danh sách, một bảng, một tập hợp, ... — Xóa một mục dữ liệu trong một danh sách, bảng, tập hợp,.. — Tìm một mục dữ liệu trong một danh sách, bảng tập hợp,... theo một tiêu chuẩn cụ thể — Sắp xếp một danh sách theo một tiêu chuẩn nào ₫ó © 2004, HOÀNG MINH SƠN — .... 5 Chương 4: Khái quát về cấu trúc dữ liệu
- h a n g e Vi h a n g e Vi XC XC ew ew F- F- PD PD er er ! ! W W O O N N Quản lý DL thế nào là hiệu quả? y y bu bu to to k k lic lic C C w w m m w w w w o o .c .c .d o .d o c u -tr a c k c u -tr a c k Tiết kiệm bộ nhớ: Phần "overhead" không ₫áng kể so với phần dữ liệu thực Truy nhập nhanh, thuận tiện: Thời gian cần cho bổ sung, tìm kiếm và xóa bỏ các mục dữ liệu phải ngắn Linh hoạt: Số lượng các mục dữ liệu không (hoặc ít) bị hạn chế cố ₫ịnh, không cần biết trước khi tạo cấu trúc, phù hợp với cả bài toán nhỏ và lớn Hiệu quả quản lý dữ liệu phụ thuộc vào — Cấu trúc dữ liệu ₫ược sử dụng — Giải thuật ₫ược áp dụng cho bổ sung, tìm kiếm, sắp xếp, xóa © 2004, HOÀNG MINH SƠN bỏ 6 Chương 4: Khái quát về cấu trúc dữ liệu
- h a n g e Vi h a n g e Vi XC XC ew ew F- F- PD PD er er ! ! W W O O N N Các cấu trúc dữ liệu thông dụng y y bu bu to to k k lic lic C C w w m m w w w w o o .c .c .d o .d o c u -tr a c k c u -tr a c k Mảng (nghĩa rộng): Tập hợp các dữ liệu có thể truy nhập tùy ý theo chỉ số Danh sách (list): Tập hợp các dữ liệu ₫ược móc nối ₫ôi một với nhau và có thể truy nhập tuần tự Cây (tree): Tập hợp các dữ liệu ₫ược móc nối với nhau theo cấu trúc cây, có thể truy nhập tuần tự từ gốc — Nếu mỗi nút có tối ₫a hai nhánh: cây nhị phân (binary tree) Bìa, bảng (map): Tập hợp các dữ liệu có sắp xếp, có thể truy nhập rất nhanh theo mã khóa (key) © 2004, HOÀNG MINH SƠN Hàng ₫ợi (queue): Tập hợp các dữ liệu có sắp xếp tuần tự, chỉ bổ sung vào từ một ₫ầu và lấy ra từ ₫ầu còn lại 7 Chương 4: Khái quát về cấu trúc dữ liệu
- h a n g e Vi h a n g e Vi XC XC ew ew F- F- PD PD er er ! ! W W O O N N Các cấu trúc dữ liệu thông dụng (tiếp) y y bu bu to to k k lic lic C C w w m m w w w w o o .c .c .d o .d o c u -tr a c k c u -tr a c k Tập hợp (set): Tập hợp các dữ liệu ₫ược sắp xếp tùy ý nhưng có thể truy nhập một cách hiệu quả Ngăn xếp (stack): Tập hợp các dữ liệu ₫ược sắp xếp tuần tự, chỉ truy nhập ₫ược từ một ₫ầu Bảng hash (hash table): Tập hợp các dữ liệu ₫ược sắp xếp dựa theo một mã số nguyên tạo ra từ một hàm ₫ặc biệt Bộ nhớ vòng (ring buffer): Tương tự như hàng ₫ợi, nhưng dung lượng có hạn, nếu hết chỗ sẽ ₫ược ghi © 2004, HOÀNG MINH SƠN quay vòng Trong toán học và trong ₫iều khiển: vector, ma trận, ₫a thức, phân thức, hàm truyền, ... 8 Chương 4: Khái quát về cấu trúc dữ liệu
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Kỹ thuật lập trình - Chương 4: Khái quát về cấu trúc dữ liệu
32 p | 389 | 135
-
Bài giảng Kỹ thuật lập trình - Chương 4: Khái quát về cấu trúc dữ liệu
32 p | 233 | 58
-
Giáo trình CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT - Chương 3
65 p | 128 | 23
-
Bài giảng Kỹ thuật lập trình: Chương IV - Lưu Hồng Việt
32 p | 151 | 17
-
Bài giảng Cấu trúc dữ liệu và thuật toán - Chương 3: Tìm kiếm
33 p | 118 | 15
-
Bài giảng Cấu trúc dữ liệu và giải thuật: Chương 3 - Trần Thị Kim Chi
40 p | 91 | 10
-
Bài giảng Cấu trúc dữ liệu và thuật toán: Chương 4 - ThS. Phạn Nguyệt Thuần
76 p | 76 | 8
-
Bài giảng Cấu trúc dữ liệu và giải thuật: Tìm kiếm theo bảng băm - ĐHKHTN
11 p | 103 | 8
-
Bài giảng Cấu trúc dữ liệu và giải thuật: Chương 4 - ThS. Nguyễn Thị Khiêm Hòa (ĐH Ngân hàng TP.HCM)
55 p | 119 | 8
-
Bài giảng Cấu trúc dữ liệu và giải thuật: Tìm kiếm theo bảng băm - ĐH KHTN TPHCM
11 p | 59 | 6
-
Bài giảng Cấu trúc dữ liệu và giải thuật: Chương 3 - Châu Thị Bảo Hà
21 p | 86 | 5
-
Bài giảng môn Cấu trúc dữ liệu - Chương 2: Kỹ thuật tìm kiếm (searching)
29 p | 75 | 5
-
Chương 1Kỹ thuật lập trìnhChương 4: Khái quát về cấu trúc dữ
32 p | 76 | 4
-
Bài giảng Cấu trúc dữ liệu và giải thuật: Chương 6 - Ngô Quang Thạch
41 p | 104 | 4
-
Giáo trình Cấu trúc dữ liệu và giải thuật: Phần 1 - ThS. Nguyễn Thị Hương
66 p | 16 | 4
-
Kỹ thuật lập trình - Chương 4: Khái quát về cấu trúc dữ liệu
32 p | 55 | 3
-
Bài giảng Cấu trúc dữ liệu & giải thuật: Bảng băm
13 p | 62 | 3
-
Bài giảng Cấu trúc dữ liệu và giải thuật (Data structures and Algorithms): Chương 1 - Ngô Công Thắng
22 p | 29 | 2
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn