Presentation is loading. Please wait.

Presentation is loading. Please wait.

Abstract Data Type EnhanceEdu.

Similar presentations


Presentation on theme: "Abstract Data Type EnhanceEdu."— Presentation transcript:

1 Abstract Data Type EnhanceEdu

2 Agenda Abstraction Real time example Definition of Abstract Data Type
Difference between abstract data type and data structure Different ADTs Dictionary ADT Operations in Dictionary ADT. EnhanceEdu

3 Abstraction Hiding unnecessary details is known as abstraction.
Only presenting an interface , not the implementation part . i.e. only an interface is shown and implementation part is hidden . An essential element of object oriented programming is abstraction. EnhanceEdu

4 Real time example Human manage complexity through abstraction.
People don’t think of a car as combination of tens of thousands of parts. But as a single well defined object. This abstraction allows humans to drive the car easily without being overwhelmed by the complexity of the parts that form a car. EnhanceEdu

5 Contd.. User just need to know about the parts and their operations.
How to use the steering, breaks, gears, etc But, not concerned with the Mechanisms of Steering, breaks and gears. To turn left, rotate the steering towards left side. Same thing applies to ADTs. User should be knowing about the various functions in an ADT and what are the parameters he need to pass to call a function. EnhanceEdu

6 Abstract data type EnhanceEdu

7 Difference between Abstract Data Type and Data Structure.
A construct that is defined in a program language to store collection of data. Examples: arrays ADTs and Data Structures are not the same. Data Abstraction: Results in wall of ADT operations between data structures and the program that access the data within this data structure. EnhanceEdu

8 Example for difference.
EnhanceEdu

9 Separation of interface from implementations
When realized in a computer program, the ADT is represented by an interface, which shields a corresponding implementation. Users of an ADT are concerned with the interface, but not the implementation, as the implementation can change in the future. (This supports the principle of information hiding, or protecting the program from design decisions that are subject to change.) EnhanceEdu

10 Difference between Abstract data type and abstract data structure
There is a distinction, although sometimes subtle, between the abstract data type and the data structure used in its implementation. For example, a List ADT can be represented using an array-based implementation or a linked-list implementation. A List is an abstract data type with well-defined operations (add element, remove element, etc.) while a linked-list is a pointer-based data structure that can be used to create a representation of a List. EnhanceEdu

11 Contd.. Similarly, a Binary Search Tree ADT can be represented in several ways: binary tree, AVL tree, red-black tree, array, etc. Regardless of the implementation, the Binary Search Tree always has the same operations (insert, remove, find, etc.) EnhanceEdu

12 ADT Abstract data types (ADT) typically seen in textbooks and implemented in programming languages (or their libraries) include: Associative array Dictionary Complex number Priority queue Container Dequeue List Queue Set Multimap Stack String Tree EnhanceEdu

13 Dictionary Searching for the meaning of a word.
Each word in the dictionary has associated meaning. Here the word is the key, meaning is the value. All the words are arranged in alphabetical order , which makes retrieving of data easy and efficient. Same thing applies to Dictionary in Java. But, implementation part i.e. arrangement of data differs from one data structure to another. EnhanceEdu

14 Dictionary(ADT) The Dictionary class is the abstract parent of any class, such as Hash table, which maps keys to values. Every key and every value is an object. In any one Dictionary object, every key is associated with at most one value. Given a Dictionary and a key, the associated element can be looked up. EnhanceEdu

15 Methods. Dictionary() is the constructor to create object for this class. The various operations that could be performed are elements(), get(Objecy key) , isEmpty() ,keys(), put(key k,value v), remove(object key), size() etc EnhanceEdu

16 For example: Consider student details like roll as key and name as value. Create an instance for dictionary class Dictionary dc = new Dictionary(); To insert values into the dictionary . dc.put(1,”ramu”); dc.put(2,”ajay”); value key 1 ramu 2 ajay EnhanceEdu

17 Contd.. dc.elements(); Returns an enumeration of the elements in the dictionary. dc.size(); Returns the size of the structure i.e. value 2. dc.isEmpty(); Returns true if the dictionary is empty. dc.get(1); Returns the value associated with this key i.e. ramu. EnhanceEdu

18 Contd.. dc.remove(1); Removes the key and its associated value from the dictionary. dc.equals(key1,key2); Compares key1 with key2. EnhanceEdu

19 Program EnhanceEdu

20 Thank You EnhanceEdu


Download ppt "Abstract Data Type EnhanceEdu."

Similar presentations


Ads by Google