Presentation is loading. Please wait.

Presentation is loading. Please wait.

CSE 373, Copyright S. Tanimoto, 2002 Abstract Data Types - 1 Abstract Data Types Motivation Abstract Data Types Example Using math. functions to describe.

Similar presentations


Presentation on theme: "CSE 373, Copyright S. Tanimoto, 2002 Abstract Data Types - 1 Abstract Data Types Motivation Abstract Data Types Example Using math. functions to describe."— Presentation transcript:

1 CSE 373, Copyright S. Tanimoto, 2002 Abstract Data Types - 1 Abstract Data Types Motivation Abstract Data Types Example Using math. functions to describe an ADT's operations.

2 CSE 373, Copyright S. Tanimoto, 2002 Abstract Data Types - 2 Motivation for ADTs To organize some data, we need to say what general form it has, and what we expect to do with it. Object-oriented programming provides one way of organizing data: using classes, with their data members and methods. It is often helpful to specify our data without having to choose the particular data structure yet.

3 CSE 373, Copyright S. Tanimoto, 2002 Abstract Data Types - 3 Abstract Data Type (Def.) An abstract data type consists of two parts: a description of the general form of some data. a set of methods. The data is usually a set of elements, but may also include relationships among the elements. { 2, 3, 5, 7, 11} [2 < 3, 3 < 5, 5 < 7, 7 < 11, etc.]

4 CSE 373, Copyright S. Tanimoto, 2002 Abstract Data Types - 4 ADT Methods Each method in an ADT names and specifies an operation. The operation can be described by a function. Normally, an instance of the ADT data is one of the arguments to the function. Examples of methods: INSERT(x) MEMBER(x) SMALLEST( ) CREATE( ) --- A "constructor" does not use an instance of the ADT, but creates one.

5 CSE 373, Copyright S. Tanimoto, 2002 Abstract Data Types - 5 Example ADT: Stack of Integers Data: (Ordered) list of integers. Methods: CREATE, PUSH, POP, TOP, DESTROY

6 CSE 373, Copyright S. Tanimoto, 2002 Abstract Data Types - 6 Using Math. Functions to Describe ADT Methods Why? Math. can be used to give a concise and unambiguous description of a method. What? 1. gives a clear indication of input & output. 2. clarifies how the data changes and what is returned by the operation.

7 CSE 373, Copyright S. Tanimoto, 2002 Abstract Data Types - 7 Math. Description of Methods: Domain and Range of the Method's function Example: the POP operation on a stack can be described by a mathematical function: f POP : stacks  elements  stacks stacks = the set of all possible stacks (according to this ADT). elements = the set of all acceptable elements in our stacks (e.g., integers). Because the operation produces an element and it causes a change to the stack, the range of f POP is a cartesian product.

8 CSE 373, Copyright S. Tanimoto, 2002 Abstract Data Types - 8 The Function's Effect Now we describe how the function changes the stack and produces a value. f POP : [e 0,e 1,...,e n-1 ] |  ( e n-1, [e 0,e 1,...,e n-2 ] ) The symbol " |  " means "maps to". On its left side is a description of a generic domain element. On its right side is a description of the corresponding range element. This formula indicates that the POP operation takes an n- element stack, returns the last element, and removes it from the stack.


Download ppt "CSE 373, Copyright S. Tanimoto, 2002 Abstract Data Types - 1 Abstract Data Types Motivation Abstract Data Types Example Using math. functions to describe."

Similar presentations


Ads by Google