43 votes 43 votes An Abstract Data Type (ADT) is: same as an abstract class a data type that cannot be instantiated a data type for which only the operations defined on it can be used, but none else all of the above DS gatecse-2005 data-structures normal abstract-data-type + – Kathleen asked Sep 22, 2014 Kathleen 19.3k views answer comment Share Follow See all 3 Comments See all 3 3 Comments reply shashankrustagi commented Dec 6, 2020 reply Follow Share Dr Naveen Garg explained this well in his IIT Delhi NPTEL lectures on Data Structures 2 votes 2 votes SONU KUMAR 9 commented Dec 14, 2020 reply Follow Share please provide link 0 votes 0 votes Overflow04 commented Oct 14, 2022 reply Follow Share @ijnuhb please share the link. 0 votes 0 votes Please log in or register to add a comment.
Best answer 62 votes 62 votes An abstract data type (ADT) supports only the operations which are defined. Abstract class is one that may not have definitions of all the objects it have. Moreover it can not be instantiated. To instantiate we have to create a subclass then instantiate the class. Abstract Data Type is like data structure eg. $STACK$ where we have $PUSH()$ $POP()$ operation defined . Hence, they are not the same thing. http://www.devx.com/tips/Tip/5681 Correct Answer: $C$ Manali Sikdar answered Dec 22, 2014 edited Apr 30, 2019 by Naveen Kumar 3 Manali Sikdar comment Share Follow See all 8 Comments See all 8 8 Comments reply Show 5 previous comments Venky8 commented Oct 14, 2022 reply Follow Share Mods update link in answer to: https://web.archive.org/web/20210323182511/https://www.devx.com/tips/Tip/5681 1 votes 1 votes Abhrajyoti00 commented Oct 28, 2022 reply Follow Share Is structure an abstract datatype? @Pranavpurkar 0 votes 0 votes ImPranav commented Feb 20, 2023 reply Follow Share @Abhrajyoti00 Basically, structures (along with class) are used to write the attributes and functions of an Abstract Data Type. 1 votes 1 votes Please log in or register to add a comment.
11 votes 11 votes ADT of any data structure is "what operation stacks you can perform on this data structure." for ex: ADT of stack: (1) push() (2) pop() ADT of queue: (1) enqueue (2) dequeue rajoramanoj answered Aug 26, 2017 rajoramanoj comment Share Follow See all 3 Comments See all 3 3 Comments reply vps123 commented Oct 29, 2019 reply Follow Share why not option b?? 2 votes 2 votes akshay7797 commented Mar 22, 2020 reply Follow Share are stack and queue themselves ADT or are the operations performed on stack and queue called ADT? 0 votes 0 votes abir_banerjee commented Sep 9, 2023 reply Follow Share @akshay7797 stacks , queues , linked lists , trees etc are ADT’s . 0 votes 0 votes Please log in or register to add a comment.
3 votes 3 votes Correct answer will be C) A data type for which only the operation defined on it can be used but none else. Stack is Abstract Data Type, We can not perform any other operation on stack other that push() and pop() operation. rude answered Jun 8, 2016 rude comment Share Follow See all 0 reply Please log in or register to add a comment.
2 votes 2 votes See link: https://www.devx.com/tips/Tip/5681 An abstract class is a class that has at least one pure virtual member function. It is not a data type (normally, abstract classes do not contain any data members), nor can you instantiate an object thereof. An abstract class is merely a skeletal interface, which specifies a set of services that its subclasses implement. This clears why option a) is incorrect. An abstract data type (also called a concrete type) is a self-contained, user-defined type that bundles data with a set of related operations. It behaves in the same way as a built-in type does. However, it does not inherit from other classes, nor does it serve as the base for other derived classes. Some examples of abstract data types or concrete types include std::string, std::complex, and std::vector. We can instantiate abstract data type or concrete type as all operations are defined on it. For example, in C++ you can instantiate the abstract data type string by: std::string mystring = “Hello World”; So option B) is false. Also see: https://wikipedia.org/wiki/Abstract_data_type In computer science, an abstract data type (ADT) is a mathematical model for data types. An abstract data type is defined by its behavior (semantics) from the point of view of a user, of the data, specifically in terms of possible values, possible operations on data of this type, and the behavior of these operations. So option c) is correct. Venky8 answered Nov 28, 2020 edited Sep 18, 2021 by Venky8 Venky8 comment Share Follow See 1 comment See all 1 1 comment reply ajayraho commented Dec 26, 2023 reply Follow Share This should be the best answer 0 votes 0 votes Please log in or register to add a comment.