Lecture 15: Abstract Data Type

 0    12 词汇卡    up804653
下载mp3 打印 检查自己
 
问题 English 答案 English
what is abstraction
开始学习
Abstraction means separating the top level usefulness of a thing from the details of its implementation so that the programmers is freed from worrying about details.
what are the 2 modern methods for abstraction
开始学习
control/process abstraction and data abstraction
explain control/process abstraction
开始学习
Process abstraction is necessary for achieving program modularity, which means dividing up a system into components or modules, each of which can be designed, implemented, tested, reasoned about, and reused separately from the rest of the system.
what is Data Abstraction
开始学习
Data abstraction enforces a clear separation between the abstract properties of a data type and the concrete details of its implementation.
what does an ADT consist of
开始学习
a set of data, and necessary operations on the data.
what are Abstract Data Types (ADTs)
开始学习
An abstract data type is a user-defined data type
give an example of anADT
开始学习
For example, List is a widely used data structure Data: a collection of items, each item has a position in a sequential order. Operations: add/remove an item, sort the items,...
what must be decieded when designing an ADT
开始学习
a set of core operations for users to use the data type. The core operations support the basic uses of the data
what are the basic rules for ADT design
开始学习
[1] Basic information should not be difficult to obtain [2] The set of operations should be adequate [3] Each operation should have a well-defined purpose [4] Have a few simple operations that can be combined to perform more complex operations.
what do you need when Implementing an ADT
开始学习
To implement an ADT, you need to choose: a data representation and algorithms.
what is ADT data representation
开始学习
[1] internal storage container is used to hold the items in the collection, e. g an array [2] users of the ADT need not know the representation [3] users not allowed to tamper with the representation [4] all data private [5] use accessors and mutators
what is an Algorithm
开始学习
[1] An algorithm for each of the necessary operations, e.g., an algorithm for sorting a list. [2] All auxiliary (helper) operations that are not in the contract should be private.

您必须登录才能发表评论。