Lecture 15: Abstract Data Type

 0    12 flashcards    up804653
download mp3 print play test yourself
 
Question English Answer English
what is abstraction
start learning
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
start learning
control/process abstraction and data abstraction
explain control/process abstraction
start learning
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
start learning
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
start learning
a set of data, and necessary operations on the data.
what are Abstract Data Types (ADTs)
start learning
An abstract data type is a user-defined data type
give an example of anADT
start learning
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
start learning
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
start learning
[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
start learning
To implement an ADT, you need to choose: a data representation and algorithms.
what is ADT data representation
start learning
[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
start learning
[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.

You must sign in to write a comment