3 LOGO Các cấu trúc dữ liệu Cấu trúc dữ liệu & Giải thuật (Data Structures and Algorithms) Nguyễn Tri Tuấn Khoa CNTT – ĐH KHTN Tp HCM Email nttuan@fit hcmus edu vn 2Winter 2014 (C) Nguyen Tri Tuan DH[.]
Cấu trúc liệu & Giải thuật (Data Structures and Algorithms) Các cấu trúc liệu Nguyễn Tri Tuấn Khoa CNTT – ĐH.KHTN.Tp.HCM Email: nttuan@fit.hcmus.edu.vn LOGO Nội dung Các cấu trúc liệu Cây nhị phân – Binary Trees Các cấu trúc liệu nâng cao Winter 2014 (C) Nguyen Tri Tuan - DH.KHTN Tp.HCM Các cấu trúc liệu (Fundamental Data Structures) 1.1 Các danh sách liên kết – Linked Lists 1.2 Ngăn xếp – Stack 1.3 Hàng đợi - Queue Winter 2014 (C) Nguyen Tri Tuan - DH.KHTN Tp.HCM Danh sách liên kết – Linked Lists Đặt vấn đề Danh sách liên kết ? So sánh Mảng Danh sách liên kết Danh sách liên kết đơn (Singly Linked List) Danh sách liên kết đôi (Doubly Linked List) Winter 2014 (C) Nguyen Tri Tuan - DH.KHTN Tp.HCM Đặt vấn đề (1) Nếu muốn thêm (Insert) phần tử vào mảng, phải ? 10 13 11 12 ? 18 Winter 2014 (C) Nguyen Tri Tuan - DH.KHTN Tp.HCM Đặt vấn đề (2) Phải di chuyển phần tử phía sau vị trí 18 10 13 11 12 12 …rồi chèn phần tử vào 10 18 13 11 Vậy chi phí O(n) Winter 2014 (C) Nguyen Tri Tuan - DH.KHTN Tp.HCM Đặt vấn đề (3) Tương tự, chi phí xóa phần tử mảng O(n) Làm thêm (hay xố) phần tử mà khơng phải di chuyển phần tử khác ? Winter 2014 (C) Nguyen Tri Tuan - DH.KHTN Tp.HCM Đặt vấn đề (4) Ta tách rời phần tử mảng, kết nối chúng lại với “móc xích” 10 Winter 2014 20 30 … … (C) Nguyen Tri Tuan - DH.KHTN Tp.HCM Đặt vấn đề (5) Thao tác thêm phần tử cần thay đổi mối liên kết chỗ 10 20 30 … … 18 Chi phí O(1) Winter 2014 (C) Nguyen Tri Tuan - DH.KHTN Tp.HCM Danh sách liên kết ? (1) Hãy viết đặc điểm DSLK Ít đặc điểm Winter 2014 10 (C) Nguyen Tri Tuan - DH.KHTN Tp.HCM ...Nội dung Các cấu trúc liệu Cây nhị phân – Binary Trees Các cấu trúc liệu nâng cao Winter 2014 (C) Nguyen Tri Tuan - DH.KHTN Tp.HCM Các cấu trúc liệu (Fundamental Data Structures) 1.1 Các danh... 1st node in list public: LINKED_LIST(); LINKED_LIST(const LINKED_LIST &aList); ~LINKED_LIST(); // default constructor // copy constructor // destructor // operations bool isEmpty(); int getLength();... 2014 14 (C) Nguyen Tri Tuan - DH.KHTN Tp.HCM Danh sách liên kết đơn (3) Minh họa thao tác thêm node Minh họa thao tác xóa node Winter 2014 15 (C) Nguyen Tri Tuan - DH.KHTN Tp.HCM Danh sách liên