Thông tin tài liệu
DATA STRUCTURE AND ALGORITHM Linked List CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT Danh sách liên kết Dr Dao Nam Anh Data Structure and Algorithm Resource - Reference Slides of James Joshi, modified by Dao Nam Anh Major Reference: • Robert Sedgewick, and Kevin Wayne, “Algorithms” Princeton University, 2011, Addison Wesley • Algorithm in C (Parts 1-5 Bundle)- Third Edition by Robert Sedgewick, Addison-Wesley • Cấu trúc liệu giải thuật, Đinh Mạnh Tường • Giải thuật lập trình, Lê Minh Hồng, Đại Học Sư Phạm, 2002 Data Structure and Algorithm Sample function definition –Ví dụ định nghĩa hàm #include int lg(int); main() { int i, N; for (i = 1, N = 10; i 0; i++, N/= 2); return i; } Data Structure and Algorithm Data Structure – Cấu trúc liệu • Sử dụng cấu trúc liệu để quản lý tập liệu: Các thao tác với liệu cần thiết Triển khai thao tác • • Trong C ta dùng mảng, struct Ví dụ mảng C: int A1[N]; int A2[N][M]; char str[50]; » A1[4]? A1[i] = *(A1+i)? Data Structure and Algorithm Linked List – Danh sách liên kết • • Mỗi phần tử danh sách gọi node (nút) • Các thao tác Mỗi node có thành phần: phần liệu phần liên kết chứa địa node hay node trước Thêm phần tử Xóa phần tử Tìm kiếm h a e g m NULL Data Structure and Algorithm Linked List – Danh sách liên kết • Có nhiều kiểu tổ chức liên kết phần tử danh sách: Danh sách liên kết đơn Danh sách liên kết kép Danh sách liên kết vòng typedef struct node *link; struct node {char ch; link next;} h a e g m NULL Data Structure and Algorithm Linked List – Danh sách liên kết (đơn) • h Insert - Chèn a e g m NULL Data Structure and Algorithm Linked List – Danh sách liên kết (đơn) • Insert - Chèn t h f x a (t after x) e g m NULL Data Structure and Algorithm Linked List – Danh sách liên kết (đơn) • Insert - Chèn t h f x a (t after x) e g m NULL Data Structure and Algorithm Linked List – Danh sách liên kết (đơn) • Insert - Chèn t h f x a (t after x) e g m NULL Data Structure and Algorithm 10 Linked List – Danh sách liên kết (đơn) • Exchange – Đổi chỗ (exchange nodes after t1 and t2) t2 t1 h a e g h m Data Structure and Algorithm n 19 Linked List – Danh sách liên kết (đơn) • Exchange – Đổi chỗ (exchange nodes after t1 and t2) t2 t1 h a e g h m Data Structure and Algorithm n 20 Linked List – Danh sách liên kết (đơn) • Exchange – Đổi chỗ (exchange nodes after t1 and t2) t2 t1 h a e g h m Data Structure and Algorithm n 21 Linked List – Danh sách liên kết (đơn) • Exchange – Đổi chỗ (exchange nodes after t1 and t2) h a e g h m Data Structure and Algorithm n 22 Linked List – Danh sách liên kết (đơn) t • h Insert - Chèn x a e (t after x) f g m NULL h • a • h Delete - Xóa e x (delete after x) g m NULL Exchange – Đổi chỗ a e t1 (exchange nodes after t1 and t2) g h m t2 Data Structure and Algorithm 23 Doubly Linked List - Danh sách liên kết đôi typedef struct node *link; struct node {char ch; link prev; link next;} h a b c g m NULL Data Structure and Algorithm 24 Doubly Linked List - Danh sách liên kết đôi typedef struct node *link; struct node {char ch; link prev; link next;} h a b c g m NULL (delete after h) Data Structure and Algorithm 25 Doubly Linked List - Danh sách liên kết đôi typedef struct node *link; struct node {char ch; link prev; link next;} t h fe x a b (insert t after x) c g m NULL Data Structure and Algorithm 26 Doubly Linked List - Danh sách liên kết đôi typedef struct node *link; struct node {char ch; link prev; link next;} t h fe x a b (insert t after x) c g m NULL Data Structure and Algorithm 27 Doubly Linked List - Danh sách liên kết đôi typedef struct node *link; struct node {char ch; link prev; link next;} t h fe x a b (insert t after x) c g m NULL Data Structure and Algorithm 28 Doubly Linked List - Danh sách liên kết đôi typedef struct node *link; struct node {char ch; link prev; link next;} fe h a b c g m NULL Data Structure and Algorithm 29 Circular Linked List - Danh sách liên kết vòng h a b c g m a b c g m h Data Structure and Algorithm 30 Circular Linked List - Danh sách liên kết vòng h a b c g m a b c g m h Data Structure and Algorithm 31 Circular Linked List - Danh sách liên kết vòng h a b c g m a b c g m h Data Structure and Algorithm 32 Discussion – Câu hỏi • https://sites.google.com/site/daonamanhedu/datastructure-algorithm Data Structure and Algorithm 33 ... and Algorithm Linked List – Danh sách liên kết • Có nhiều kiểu tổ chức liên kết phần tử danh sách: Danh sách liên kết đơn Danh sách liên kết kép Danh sách liên kết vòng typedef struct node... Structure and Algorithm Linked List – Danh sách liên kết • • Mỗi phần tử danh sách gọi node (nút) • Các thao tác Mỗi node có thành phần: phần liệu phần liên kết chứa địa node hay node trước Thêm... Structure and Algorithm Linked List – Danh sách liên kết (đơn) • h Insert - Chèn a e g m NULL Data Structure and Algorithm Linked List – Danh sách liên kết (đơn) • Insert - Chèn t h f x a (t
Ngày đăng: 06/11/2017, 12:35
Xem thêm: Bài giảng cấu trúc dữ liệu và giải thuật danh sách liên kết TS đào nam anh , Bài giảng cấu trúc dữ liệu và giải thuật danh sách liên kết TS đào nam anh