Trong bài này chúng ta sẽ tìm hiểu sau hơn về cấu trúc dữ liệu và một số đặc điểm mà chúng ta cần biết về chúng trước khi đi tới các cấu trúc dữ liệu sau này.
Bài này giải thích các thuật ngữ cơ bản liên quan đến cấu trúc dữ liệu.
Nội dung chính
1. Định nghĩa dữ liệu
Định nghĩa dữ liệu xác định một dữ liệu cụ thể với các đặc điểm sau.
- Nguyên tử(Atomic) – Định nghĩa sẽ xác định một khái niệm duy nhất.
- Có thể theo dõi(Traceable) – Định nghĩa có thể được ánh xạ tới một số phần tử dữ liệu.
- Chính xác(Accurate) – Định nghĩa phải rõ ràng.
- Rõ ràng và ngắn gọn(Clear and Concise) – Định nghĩa phải dễ hiểu.
2. Đối tượng dữ liệu
Đối tượng dữ liệu đại diện cho một đối tượng có dữ liệu nào đó.
3. Kiểu dữ liệu
Kiểu dữ liệu là cách phân loại nhiều dạng dữ liệu khác nhau như số nguyên, chuỗi ký tự,… xác định các giá trị có thể sử dụng với kiểu dữ liệu tương ứng, kiểu các phép toán có thể thực hiện trên kiểu dữ liệu tương ứng. Có hai kiểu dữ liệu –
- Kiểu dữ liệu tích hợp sẵn
- Kiểu dữ liệu có nguồn gốc
3.1 Kiểu dữ liệu tích hợp
Những kiểu dữ liệu mà ngôn ngữ có hỗ trợ tích hợp được gọi là Kiểu dữ liệu tích hợp. Ví dụ: hầu hết các ngôn ngữ đều cung cấp các kiểu dữ liệu tích hợp sau.
- Số nguyên(Integers)
- Boolean (đúng, sai)
- Floating (Số thập phân)
- Ký tự và chuỗi
3.2 Kiểu dữ liệu có nguồn gốc
Những kiểu dữ liệu độc lập với việc triển khai vì chúng có thể được triển khai theo cách này hay cách khác được gọi là kiểu dữ liệu dẫn xuất. Các kiểu dữ liệu này thường được xây dựng bằng cách kết hợp các kiểu dữ liệu chính hoặc tích hợp và các hoạt động liên quan trên chúng. Ví dụ –
- List(Danh sách)
- Array(mảng)
- Stack(Ngăn xếp)
- Queue(Hàng đợi)
4. Các hành động cơ bản
Dữ liệu trong cấu trúc dữ liệu được xử lý bằng các hành động nhất định. Cấu trúc dữ liệu cụ thể được chọn phần lớn phụ thuộc vào tần suất của hành động cần được thực hiện trên cấu trúc dữ liệu.
- Đi ngang qua(Traversing)
- Đang tìm kiếm(Searching)
- Chèn(Insertion)
- Xóa(Deletion)
- Sắp xếp(Sorting)
- Hợp nhất(Merging)
Nguồn và Tài liệu tiếng anh tham khảo:
Tài liệu từ cafedev:
- Full series tự học Cấu trúc dữ liệu và giải thuật từ cơ bản tới nâng cao tại đây nha.
- Ebook về Cấu trúc dữ liệu và giải thuật tại đây.
- Các series tự học lập trình khác
Nếu bạn thấy hay và hữu ích, bạn có thể tham gia các kênh sau của cafedev để nhận được nhiều hơn nữa:
Chào thân ái và quyết thắng!