Một số hạn chế của CTDL tĩnh: Một số đối tượng dữ liệu trong chu kỳ sống của nó có thể thay đổi về cấu trúc, độ lớn, Ví dụ như danh sách các học viên trong một lớp học có thể tăng thêm, giảm đi . Nếu dùng những cấu trúc dữ liệu tĩnh đã biết như mảng để biểu diễn Những thao tác phức tạp, kém tự nhiên chương trình khó đọc, khó bảo trì và nhất là khó có thể sử dụng bộ nhớ một cách có hiệu quả Dữ liệu tĩnh sẽ chiếm vùng nhớ đã dành cho chúng. | CHAPTER 6: DANH SÁCH LIÊN KẾT (LINKED LISTS) Tạo menu thực hiện các chức năng sau trên ds LK đơn chứa số nguyên: Thêm 1 số phần tử vào đầu danh sách In danh sách Tìm kiếm 1 phần tử trong danh sách Nội dung Giới thiệu Danh sách liên kết đơn (Single Linked List) Danh sách liên kết đôi (Double Linked List) Danh sách liên kết vòng (Circular Linked List) Giới thiệu - Cấu trúc dữ liệu tĩnh Cấu trúc dữ liệu tĩnh: Khái niệm: Các đối tượng dữ liệu không thay đổi được kích thước, cấu trúc, trong suốt quá trình sống thuộc về kiểu dữ liệu tĩnh Một số kiểu dữ liệu tĩnh: các cấu trúc dữ liệu được xây dựng từ các kiểu cơ sở như: kiểu số thực, kiểu số nguyên, kiểu ký tự . hoặc từ các cấu trúc đơn giản như mẩu tin, tập hợp, mảng . Giới thiệu - Cấu trúc dữ liệu tĩnh Một số hạn chế của CTDL tĩnh: Một số đối tượng dữ liệu trong chu kỳ sống của nó có thể thay đổi về cấu trúc, độ lớn, Ví dụ như danh sách các học viên trong một lớp học có thể tăng thêm, giảm đi . Nếu dùng những cấu trúc dữ liệu tĩnh đã biết như mảng để biểu diễn Những thao tác phức tạp, kém tự nhiên chương trình khó đọc, khó bảo trì và nhất là khó có thể sử dụng bộ nhớ một cách có hiệu quả Dữ liệu tĩnh sẽ chiếm vùng nhớ đã dành cho chúng suốt quá trình hoạt động của chương trình sử dụng bộ nhớ kém hiệu quả Giới thiệu – Ví dụ cấu trúc dữ liệu tĩnh Cấu trúc dữ liệu tĩnh: Ví dụ: Mảng 1 chiều Kích thước cố định (fixed size) Các phần tử tuần tự theo chỉ số 0 n-1 Truy cập ngẫu nhiên (random access) Chèn 1 phần tử vào mảng, xóa 1 phần tử khỏi mảng rất khó 0 1 2 3 4 n-2 n-1 chèn What happens if you have written a program with an array of size 100 to store inventory items when the store you are working for adds item # 101? Giới thiệu - Cấu trúc dữ liệu động Cần xây dựng cấu trúc dữ liệu đáp ứng được các yêu cầu: Linh động hơn Có thể thay đổi kích thước, cấu trúc trong suốt thời gian sống Cấu trúc dữ liệu động Giới thiệu - Cấu trúc dữ liệu động Cấu trúc dữ liệu động: Ví dụ: Danh sách | CHAPTER 6: DANH SÁCH LIÊN KẾT (LINKED LISTS) Tạo menu thực hiện các chức năng sau trên ds LK đơn chứa số nguyên: Thêm 1 số phần tử vào đầu danh sách In danh sách Tìm kiếm 1 phần tử trong danh sách Nội dung Giới thiệu Danh sách liên kết đơn (Single Linked List) Danh sách liên kết đôi (Double Linked List) Danh sách liên kết vòng (Circular Linked List) Giới thiệu - Cấu trúc dữ liệu tĩnh Cấu trúc dữ liệu tĩnh: Khái niệm: Các đối tượng dữ liệu không thay đổi được kích thước, cấu trúc, trong suốt quá trình sống thuộc về kiểu dữ liệu tĩnh Một số kiểu dữ liệu tĩnh: các cấu trúc dữ liệu được xây dựng từ các kiểu cơ sở như: kiểu số thực, kiểu số nguyên, kiểu ký tự . hoặc từ các cấu trúc đơn giản như mẩu tin, tập hợp, mảng . Giới thiệu - Cấu trúc dữ liệu tĩnh Một số hạn chế của CTDL tĩnh: Một số đối tượng dữ liệu trong chu kỳ sống của nó có thể thay đổi về cấu trúc, độ lớn, Ví dụ như danh sách các học viên trong một lớp học có thể tăng thêm, giảm đi . Nếu dùng những cấu .