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.
Cấu trúc liệu CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT NỘIMaster DUNGTitle Style Click To Edit CẤU TRÚC DỮ LIỆU ĐỘNG BiếnClick Tĩnh To Edit Master Title Style Được khai báo tường minh, có tên gọi Tồn phạm vi khai báo Cấu trúc liệu CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT Được cấp phát stack Kích thước không đổi => không tận dụng hiệu nhớ Ví dụ : int x,y; char c; float f[5]; Khi biết nhu cầu sử dụng đối tượng trước thực xử lý : dùng biến khơng động Ví Dụ Hạn Chế Tinh Click To Của EditBiến Master Title Style Cấu trúc liệu CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT Tổ chức danh sách lớp học Dùng mảng tĩnh : typedef struct { char ten[20]; int maso; }Hocvien; Hocvien danhsach[50]; Số lượng học viên lãng phí Số lượng học viện > 50 => thiếu chỗ ! BiếnClick Động To Edit Master Title Style Không khai báo tường minh, khơng có tên gọi Cấu trúc liệu CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT Xin cần, giải phóng sử dụng xong Được cấp phát heap Linh động kích thước Vấn đề : biến động khơng có tên gọi tường minh, thao tác ? KiểuClick trỏTo Edit Master Title Style Cấu trúc liệu CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT Kiểu trỏ dùng lưu địa đối tượng liệu khác Biến thuộc kiểu trỏ Tp biến mà giá trị địa cuả vùng nhớ ứng với biến kiểu T, giá trị NULL Khai báo C : typedef int *intpointer; intpointer p; Bản thân biến trỏ không động Dùng biến trỏ để lưu giữ điạ biến động => truy xuất biến động thông qua biến trỏ Các Click thao tácTo kiểu Master trỏ Edit Title Style Tạo biến động cho trỏ ‘p’ đến nó: void* malloc(size); void* calloc(n,size); Cấu trúc liệu CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT new // hàm cấp phát nhớ C++ Hủy biến động p đến : Hàm free(p) huỷ vùng nhớ cấp phát hàm malloc calloc p trỏ tới Hàm delete p huỷ vùng nhớ cấp phát hàm new p trỏ tới Sử dụng biến conMaster trỏ biến độngStyle Click Totinh, Edit Title int x; x = ; Cấu trúc liệu CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT int *p; Biến không động x Biến trỏ p 0xFF p = new(int); *p = 0xFF Biến động có địa 0xFF KiểuClick danh sách To Edit Master Title Style Danh sách = { phần tử có kiểu} Danh sách kiểu liệu tuyến tính : Mỗi phần tử có nhiều phần tử đứng trước Cấu trúc liệu CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT Mỗi phần tử có nhiều phần tử đứng sau Là kiểu liệu quen thuộc thực tế : Danh sách học sinh Danh mục sách thư viện Danh bạ điện thoại Danh sách nhân viên cơng ty … Các Click hình thức chứcMaster danh sáchTitle TotổEdit Style CTDL cho phần tử ? Thể liên kết phần tử ? Cấu trúc liệu CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT Hai hình thức : Liên kết ngầm : Mảng Liên kết tường minh : Danh sách liên kết Danh sách liên ngầm(mảng) Click To kết Edit Master Title Style Mối liên hệ phần tử thể ngầm: x0 xi : phần tử thứ i danh sách … xi xi+1 xi , xi+1 kế cận danh sách Cấu trúc liệu CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT Phải lưu trữ liên tiếp phần tử nhớ công thức xác định địa phần tử thứ i: 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: Sử dụng nhớ hiệu Kích thước cố định Các thao tác thêm10vào , loại bỏ không hiệu LiênClick kết tuờng sánh liên kết)Style Tominh(Danh Edit Master Title Cấu trúc liệu CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT CTDL cho phần tử Thông tin thân Địa phần tử kế danh sách x0 x1 x2 Mỗi phần tử biến động Ưu điểm + Sử dụng hiệu nhớ + Linh động số lượng phần tử 11 x3 Các Click loại danh kết Tosách EditliênMaster 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 danh sách Cấu trúc liệu CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT A B C D Danh sách liên kết kép: Mỗi phần tử liên kết với phần tử đứng trước sau danh sách A B C D 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 kết (tt) Tosách EditliênMaster 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 Cấu trúc liệu CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT A B C D C D Danh sách liên kết đơi vịng A B 13 Câu Click Hỏi To Bài Tập Edit Master Title Style Hãy nêu ưu điểm hạn chế CTDL tĩnh Hãy nêu ưu điểm hạn chế CTDL động Cấu trúc liệu CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT Danh sách gì? Cho ví dụ Hãy nêu ưu điểm nhược điểm danh sách liên kết ngầm danh sách liên kết tường minh 14 ... thao tác thêm10vào , loại bỏ không hiệu LiênClick kết tuờng sánh liên kết)Style Tominh(Danh Edit Master Title Cấu trúc liệu CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT CTDL cho phần tử Thông tin thân Địa... xi+1 kế cận danh sách Cấu trúc liệu CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT Phải lưu trữ liên tiếp phần tử nhớ công thức xác định địa phần tử thứ i: address(i) = address(1) + (i-1)*sizeof(T) Ưu điểm... kiểu} Danh sách kiểu liệu tuyến tính : Mỗi phần tử có nhiều phần tử đứng trước Cấu trúc liệu CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT Mỗi phần tử có nhiều phần tử đứng sau Là kiểu liệu quen thuộc thực