Ein abstrakter Datentyp definiert eine Menge von Werten und die auf ihnen zulässigen Operationen, beschrieben rein durch Verhalten – nicht durch Code. Die Implementierung ist die konkrete Struktur (array, linked list, tree), die dieses Verhalten realisiert.
Derselbe ADT, verschiedene Implementierungen
text
ADT "Queue": enqueue, dequeue, peek (FIFO contract)
Implementation A: array + two indices (ring buffer)
Implementation B: doubly linked list with head/tail pointers
Both honor the SAME contract; cost profiles differ.
