An ADT (abstract data type) is the name given to a form
of data structure
which can be implement
ed in different ways in different language
s to achieve the same effect.
The best example would be the linked list, which in C in its most basic form would look something like
But it doesn't necessarily have to look like this, and you don't necessarily have to do it in C, or even in a language with real "pointer
s", for it to still be a linked list; it's an ADT, meaning it isn't an implementation
, but an idea
. Abstractly, the above would simply be "some sort of structure
consisting of a series of nodes
where each node contains some kind of information, and the location where the next node in the list can be found".
Advanced CS seems to consist mostly of learning new ADTs and new ways to use them. The most famous ADTs besides the linked list would be the doubly linked list, the queue, the stack, and probably most importantly the tree.