Abstract data type là gì

  -  

Tôi hiện đang nghiên cứu về các loại dữ liệu trừu tượng (ADT) nhưng tôi hoàn toàn không hiểu khái niệm này. Ai đó có thể vui lòng giải thích cho tôi những gì thực sự là gì? Ngoài ra bộ sưu tập, túi và Danh sách ADT là gì? Nói một cách đơn giản? 


Kiểu dữ liệu trừu tượng (ADT) là kiểu dữ liệu, trong đó chỉ hành vi được xác định nhưng không thực hiện. 

Đối diện với ADT là Kiểu dữ liệu cụ thể (CDT), trong đó nó chứa một triển khai ADT. 

Ví dụ: Array, List, Map, Queue, Set, Stack, Table, Tree, and Vector là các ADT. Mỗi ADT này có nhiều triển khai, tức là CDT. Container là một ADT cấp cao trên tất cả các ADT.

Bạn đang xem: Abstract data type là gì

Ví dụ thực tế: cuốn sách là Tóm tắt (Sách điện thoại là một triển khai) 

*


Kiểu dữ liệu Abstact Wikipedia có rất nhiều điều để nói.

Trong khoa học máy tính, một kiểu dữ liệu trừu tượng (ADT) là một mô hình toán học cho một lớp cấu trúc dữ liệu nhất định có hành vi tương tự; hoặc cho một số loại dữ liệu nhất định của một hoặc nhiều ngôn ngữ lập trình có ngữ nghĩa tương tự. Một kiểu dữ liệu trừu tượng được định nghĩa một cách gián tiếp, chỉ bởi các hoạt động có thể được thực hiện trên nó và bởi các ràng buộc toán học về các hiệu ứng (và có thể là chi phí) của các hoạt động đó.

Nói một cách cụ thể hơn, bạn có thể lấy giao diện List của Java làm ví dụ. Giao diện hoàn toàn không xác định bất kỳ hành vi nào vì không có lớp List cụ thể. Giao diện chỉ định nghĩa một tập hợp các phương thức mà các lớp khác (ví dụ: ArrayList và LinkedList ) phải thực hiện để được coi là List.

Xem thêm: Các Bài Toán Nâng Cao Lớp 5 Có Đáp Án Chọn Lọc Lớp 5, Bài Tập Toán Nâng Cao Lớp 5 (Có Đáp Án)

Collection là một kiểu dữ liệu trừu tượng khác. Trong trường hợp giao diện Collection của Java, nó thậm chí còn trừu tượng hơn List, kể từ khi 

Giao diện List đặt các quy định bổ sung, ngoài các quy định được chỉ định trong giao diện Collection, trên các hợp đồng của các phương thức iterator, add, remove, equals và hashCode.

Một túi còn được gọi là a multiset .

Trong toán học, khái niệm multiset (hoặc túi) là một khái quát của khái niệm tập hợp trong đó các thành viên được phép xuất hiện nhiều lần. Ví dụ: có một tập hợp duy nhất chứa các phần tử a và b và không có phần tử nào khác, nhưng có nhiều tập hợp với thuộc tính này, chẳng hạn như tập hợp có hai bản sao của a và một trong số b hoặc nhiều tập có chứa ba bản sao của cả A và B.

Xem thêm: Công Thức Tính Áp Lực Nước Lên Thành Bể, Cách Tính Áp Lực Nước Trong Đường Ống

Trong Java, Bag sẽ là một bộ sưu tập thực hiện giao diện rất đơn giản. Bạn chỉ cần có thể thêm các mặt hàng vào một cái túi, kiểm tra kích thước của nó và lặp đi lặp lại trên các mặt hàng mà nó chứa. Xem Bag.Java để biết cách triển khai ví dụ (từ Sedgewick & Wayne"s Thuật toán phiên bản thứ 4 ).