Bài giảng Cấu trúc dữ liệu và giải thuật: Chương 3 - Trường ĐH Công nghệ Thông tin
lượt xem 4
download
Nối tiếp chương 2, Bài giảng Cấu trúc dữ liệu và giải thuật: Chương 3 giới thiệu nội dung về cấu trúc dữ liệu động: Biến tĩnh, Biến động, Kiểu con trỏ, Kiểu danh sách. Kính mời quý đọc giả tham khảo nội dung chi tiết.
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Bài giảng Cấu trúc dữ liệu và giải thuật: Chương 3 - Trường ĐH Công nghệ Thông tin
- NỘIMaster Click To Edit DUNGTitle Style CẤU TRÚC DỮ LIỆU ĐỘNG CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT 1 Cấu trúc dữ liệu 1 1
- BiếnClick Tĩnh To Edit Master Title Style Được khai báo tường minh, có tên gọi Tồn tại trong phạm vi khai báo Được cấp phát trong stack Kích thước không đổi => không tận dụng hiệu quả bộ nhớ CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT 1 Ví dụ : int x,y; char c; Cấu trúc dữ liệu 1 float f[5]; Khi biết chắc nhu cầu sử dụng đối tượng trước khi thực sự xử lý : dùng biến 2 không động
- Ví Dụ Hạn Chế Click To Của EditBiến Tinh Master Title Style Tổ chức danh sách lớp học Dùng mảng tĩnh : typedef struct { char ten[20]; int maso; CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT 1 }Hocvien; Hocvien danhsach[50]; Cấu trúc dữ liệu 1 Số lượng học viên lãng phí Số lượng học viện > 50 => thiếu chỗ ! 3
- BiếnClick Động To Edit Master Title Style Không được khai báo tường minh, không có tên gọi Xin khi cần, giải phóng khi sử dụng xong Được cấp phát trong heap CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT 1 Linh động về kích thước Cấu trúc dữ liệu 1 Vấn đề : biến động không có tên gọi tường minh, làm sao thao tác ? 4
- KiểuClick con trỏTo Edit Master Title Style Kiểu con trỏ dùng lưu địa chỉ của một đối tượng dữ liệu khác. Biến thuộc kiểu con trỏ Tp là biến mà giá trị của nó là địa chỉ cuả một vùng nhớ ứng với một biến kiểu T, hoặc là giá trị NULL. Khai báo trong C : CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT 1 typedef int *intpointer; intpointer p; Cấu trúc dữ liệu 1 Bản thân biến con trỏ là không động Dùng biến con trỏ để lưu giữ điạ chỉ của biến động => truy xuất biến động thông qua biến con trỏ 5
- Các Click thao tácTo trên kiểu Master Edit con trỏ Title Style Tạo ra một biến động và cho con trỏ ‘p’ chỉ đến nó: void* malloc(size); void* calloc(n,size); new // hàm cấp phát bộ nhớ trong C++ Hủy một biến động do p chỉ đến : CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT 1 Hàm free(p) huỷ vùng nhớ cấp phát bởi hàm malloc hoặc calloc do p trỏ tới Cấu trúc dữ liệu 1 Hàm delete p huỷ vùng nhớ cấp phát bởi hàm new do p trỏ tới 6
- Sử dụng Clickbiến Totinh, EditconMaster trỏ và biến độngStyle Title int x; Biến không động x x = 5 ; 5 int *p; Biến con trỏ p p = new(int); 0xFF CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT 1 *p = 5 0xFF Cấu trúc dữ liệu 1 5 Bieán ñoäng coù ñòa chæ 0xFF 7
- KiểuClick danh sách To Edit Master Title Style Danh sách = { các phần tử có cùng kiểu} Danh sách là một kiểu dữ liệu tuyến tính : Mỗi phần tử có nhiều nhất 1 phần tử đứng trước Mỗi phần tử có nhiều nhất 1 phần tử đứng sau Là kiểu dữ liệu quen thuộc trong thực tế : CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT 1 Danh sách học sinh Danh mục sách trong thư viện Cấu trúc dữ liệu 1 Danh bạ điện thoại Danh sách các nhân viên trong công ty … 8
- Các Click hình thức TotổEdit chứcMaster danh sáchTitle Style CTDL cho mỗi phần tử ? Thể hiện liên kết của các phần tử ? Hai hình thức cơ bản : CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT 1 Liên kết ngầm : Mảng Liên kết tường minh : Danh sách liên kết Cấu trúc dữ liệu 1 9
- Danh sách liên Click To kết ngầm(mảng) Edit Master Title Style Mối liên hệ giữa các phần tử được thể hiện ngầm: x0 xi : phần tử thứ i trong danh sách … xi xi+1 xi , xi+1 là kế cận trong danh sách Phải lưu trữ liên tiếp các phần tử trong bộ nhớ công thức xác định địa chỉ phần tử thứ i: CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT 1 address(i) = address(1) + (i-1)*sizeof(T) Ưu điểm : Truy xuất trực tiếp, nhanh chóng Nhược điểm: Cấu trúc dữ liệu 1 Sử dụng bộ nhớ kém hiệu quả Kích thước cố định Các thao tác thêm10vào , loại bỏ không hiệu quả
- LiênClick kết tuờng Tominh(Danh sánh liên Edit Master kết)Style Title CTDL cho một phần tử Thông tin bản thân Địa chỉ của phần tử kế trong danh sách x2 x0 x3 x1 CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT 1 Mỗi phần tử là một biến động Cấu trúc dữ liệu 1 Ưu điểm + Sử dụng hiệu quả bộ nhớ + Linh động về số lượng phần tử 11
- Các Click loại danh Tosách EditliênMaster kết Title Style Danh sách liên kết đơn: Mỗi phần tử liên kết với phần tử đứng sau nó trong danh sách A B C D Danh sách liên kết kép: Mỗi phần tử liên kết với CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT 1 phần tử đứng trước và sau nó trong danh sách A B C D Cấu trúc dữ liệu 1 Danh sách liên Vòng: Phần tử cuối danh sách liên với phần tử đầu danh sách 12
- Các Click loại danh Tosách EditliênMaster kết (tt) Title Style Danh sách liên Vòng: Phần tử cuối danh sách liên với phần tử đầu danh sách Danh sách liên kết đơn vòng A B C D CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT 1 Danh sách liên kết đôi vòng Cấu trúc dữ liệu 1 A B C D 13
- Câu Click Hỏi và To Bài Tập Edit Master Title Style 1. Hãy nêu ưu điểm và hạn chế của CTDL tĩnh. 2. Hãy nêu ưu điểm và hạn chế của CTDL động. 3. Danh sách là gì? Cho ví dụ. 4. Hãy nêu ưu điểm và nhược điểm của danh sách CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT 1 liên kết ngầm và danh sách liên kết tường minh. Cấu trúc dữ liệu 1 14
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Bài giảng Cấu trúc dữ liệu - Bài 1:Tổng quan về cấu trúc dữ liệu và giải thuật
47 p | 175 | 17
-
Bài giảng Cấu trúc dữ liệu 1: Chương 1 - Lương Trần Hy Hiến
7 p | 162 | 9
-
Bài giảng Cấu trúc dữ liệu và giải thuật trong C++ - Bài 8: Cấu trúc dữ liệu ngăn xếp
28 p | 77 | 9
-
Bài giảng Cấu trúc dữ liệu giải thuật: Các kiểu dữ liệu trừu tượng cơ bản - Cấu trúc dữ liệu tuyến tính
92 p | 116 | 9
-
Bài giảng Cấu trúc dữ liệu và giải thuật: Cấu trúc dữ liệu cây đỏ đen - Bùi Tiến Lên
25 p | 81 | 8
-
Bài giảng Cấu trúc dữ liệu và giải thuật – Bài 17: Cấu trúc dữ liệu dạng cây
21 p | 77 | 8
-
Bài giảng Cấu trúc dữ liệu và giải thuật: Các cấu trúc dữ liệu
193 p | 59 | 7
-
Bài giảng Cấu trúc dữ liệu và giải thuật: Chương 1 - Trần Minh Thái (2016)
62 p | 94 | 6
-
Bài giảng Cấu trúc dữ liệu và giải thuật: Chương 1 - Trần Minh Thái (Trường Đại học Hồng Bàng )
62 p | 160 | 6
-
Bài giảng Cấu trúc dữ liệu - Chương 3: Cấu trúc cây
65 p | 58 | 6
-
Bài giảng Cấu trúc dữ liệu và giải thuật: Cấu trúc dữ liệu cây AA - Bùi Tiến Lên
30 p | 35 | 6
-
Bài giảng Cấu trúc dữ liệu và giải thuật: Chương 1 – Trần Minh Thái (2017)
67 p | 106 | 4
-
Bài giảng Cấu trúc dữ liệu và giải thuật: Cấu trúc dữ liệu cây - Bùi Tiến Lên
68 p | 40 | 4
-
Bài giảng Cấu trúc dữ liệu: Chương 1 - ThS. Thiều Quang Trung (2018)
44 p | 43 | 4
-
Bài giảng Cấu trúc dữ liệu và giải thuật: Cấu trúc dữ liệu cây AVL - Bùi Tiến Lên
38 p | 47 | 4
-
Bài giảng Cấu trúc dữ liệu và giải thuật: Chương 5 - Ngô Quang Thạch
24 p | 58 | 3
-
Bài giảng Cấu trúc dữ liệu và giải thuật: Chương 2 - Th.S Thiều Quang Trung
41 p | 68 | 3
-
Bài giảng Cấu trúc dữ liệu giải thuật: Cấu trúc dữ liệu
17 p | 51 | 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