Um tipo de dado abstrato define um conjunto de valores e as operações permitidas sobre eles, descritos puramente pelo comportamento — não pelo código. A implementação é a estrutura concreta (array, lista encadeada, árvore) que realiza esse comportamento.
O mesmo ADT, diferentes implementações
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.
Por que separá-los
python
:
(): ...
(): ...
(): ...
