Bài giảng chương 3: Danh sách liên kết
lượt xem 16
download
Bài giảng Danh sách liên kết trình bày khái niệm về biến con trỏ, danh sách liên kết, ứng dụng của danh sách liên kết, giới thiệu Stack, queue. Bài giảng được trình bày khoa học, súc tích giúp các bạn sinh viên tiếp thu bài học nhanh.
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Bài giảng chương 3: Danh sách liên kết
- Click To EditƯƠNG 3 CH Master Title Style DANH SÁCH LIÊN KẾT CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT Cấu trúc dữ liệu 1 1
- Click ToNỘI DUNG Title Style Edit Master 3.1. Đặt vấn đề 3.2. Khái niệm về biến con trỏ 3.3. Danh sách liên kết 3.4. Ứng dụng của DSLK 3.8. Một số CTDL khác dựa trên danh sách CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT 3.9. Giới thiệu Stack, Queue Cấu trúc dữ liệu 1 2
- Click To Edit Master ề 3.1. Đặt vấn đ Title Style Mảng 1 chiều Kích thước cố định (fixed size) Chèn 1 phần tử vào mảng rất khó Các phần tử tuần tự theo chỉ số 0 ⇒ n-1 Truy cập ngẫu nhiên (random access) CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT chèn Cấu trúc dữ liệu 1 0 1 2 3 4 n-2 n-1 3
- 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 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 không động 4
- Ví DClick Chế EditBiến Tinh ụ Hạn To Của 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 }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ỗ ! 5
- 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 Linh động về kích thước CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT Vấn đề : biến động không có tên gọi tường minh, Cấu trúc dữ liệu 1 làm sao thao tác ? 6
- CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT Cấu trúc dữ liệu 1 3.2. Khái niệmMastern conStyle Click To Edit về biế Title trỏ 7
- 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 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ỏ 8
- Các Click To Edit Master thao tác trên kiểu 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ớ Hủy một biến động do p chỉ đến : CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT 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 9
- Sử dClick ến tinh, con trỏ và biến động ụng bi To Edit Master Title Style int x; Biến không động x x=5; 5 int *p; Biến con trỏ p 0xFF p = new(int); CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT *p = 5 0xFF Cấu trúc dữ liệu 1 5 Bieán ñoäng coù ñòa chæ 0xFF 10
- CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT Cấu trúc dữ liệu 1 Click To Editsách liên kết Style 3.3. Danh Master Title 11
- KiểuClicksách Edit danh To 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 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 … 12
- Các Click ức tổ chứcMaster Title hình th To Edit danh sách 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 Liên kết ngầm : Mảng Cấu trúc dữ liệu 1 Liên kết tường minh : Danh sách liên kết 13
- Danh sách liên kết ngầm(mảng)Title Click To Edit Master Style Mối liên hệ giữa các phần tử được thể hiện ngầm: xi : phần tử thứ i trong ds x0 … 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 address(i) = address(1) + (i-1)*sizeof(T) Ưu điểm : Truy xuất trực tiếp, nhanh chóng Cấu trúc dữ liệu 1 Nhược điểm: Sử dụng bộ nhớ kém hiệu quả Kích thước cố định Các thao tác thêm vào, loại bỏ không hiệu quả 14
- Liên Click Tominh(Danh sánh liên kết) kết tuờng Edit Master Title Style 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 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ử 15
- Các Click To Edit Master loại danh sách liên 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 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 16
- Các Click To Edit Master loại danh sách liên 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 Danh sách liên kết đôi vòng Cấu trúc dữ liệu 1 A B C D 17
- CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT Cấu trúc dữ liệu 1 Click Ứng dụng của Title Style 3.4. To Edit Master DSLK 18
- CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT Cấu trúc dữ liệu 1 3.8. Click số CTDL khác dựa trên ds Một To Edit Master Title Style 19
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Bài giảng Cấu trúc dữ liệu và thuật toán: Chương 3 - Nguyễn Khánh Phương
257 p | 52 | 24
-
Bài giảng Cấu trúc dữ liệu và giải thuật: Chương 3 - ThS. Nguyễn Thị Khiêm Hòa (ĐH Ngân hàng TP.HCM)
32 p | 88 | 8
-
Bài giảng Cấu trúc dữ liệu và giải thuật: Chương 3 - GV. Nguyễn Minh Thành
36 p | 89 | 6
-
Bài giảng Cấu trúc dữ liệu và giải thuật: Chương 3.1 - Trần Minh Thái
66 p | 82 | 6
-
Bài giảng Cấu trúc dữ liệu và thuật toán: Chương 3 - ThS. Phạn Nguyệt Thuần
164 p | 76 | 6
-
Bài giảng Cấu trúc dữ liệu và giải thuật 1: Chương 3
13 p | 40 | 5
-
Bài giảng Cấu trúc dữ liệu và giải thuật: Chương 3 - ThS. Nguyễn Hà Giang
91 p | 71 | 5
-
Bài giảng Cấu trúc dữ liệu và giải thuật (Data Structures and Algorithms): Chương 3 - GV. Ngô Công Thắng
27 p | 22 | 5
-
Bài giảng Cấu trúc dữ liệu: Chương 3 - ThS. Võ Quang Hoàng Khang
68 p | 53 | 5
-
Bài giảng Cấu trúc dữ liệu và thuật toán - Chương 3: Cấu trúc dữ liệu động
40 p | 102 | 5
-
Bài giảng Cấu trúc dữ liệu và giải thuật (Data structures and Algorithms): Chương giới thiệu - Ngô Công Thắng
2 p | 44 | 3
-
Bài giảng Cấu trúc dữ liệu và giải thuật - Chương 3: Danh sách liên kết (Ngô Công Thắng)
21 p | 57 | 3
-
Bài giảng Cấu trúc dữ liệu và giải thuật: Chương 3 - ThS. Phạm Thanh An
72 p | 70 | 3
-
Bài giảng Cấu trúc dữ liệu và giải thuật: Chương 3 - Đỗ Ngọc Như Loan
84 p | 51 | 3
-
Bài giảng Cấu trúc dữ liệu và giải thuật: Chương 3 - Ths. Phạm Thanh An (2018)
72 p | 58 | 3
-
Bài giảng Cấu trúc dữ liệu và giải thuật: Chương 3 - Ngô Công Thắng
9 p | 52 | 2
-
Bài giảng Cấu trúc dữ liệu và giải thuật - Chương 3: Danh sách liên kết
19 p | 101 | 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