Your SlideShare is downloading. ×
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Tejiendo Algoritmos - Leandro Rabindranath  León
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Tejiendo Algoritmos - Leandro Rabindranath León

1,402

Published on

Libro escrito por el profesor de la Universidad de Los Andes, Leandro Rabindranath Leon

Libro escrito por el profesor de la Universidad de Los Andes, Leandro Rabindranath Leon

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,402
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
106
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Tejiendo algoritmos Ä Ò ÖÓ Ê Ò Ö Ò Ø Ä ÓÒ lrleon@ula.veÒØÖÓ ×ØÙ Ó× Ò Å ÖÓ Ð ØÖÓÒ Ý Ë ×Ø Ñ × ×ØÖ Ù Ó× ÍÒ Ú Ö× ÄÓ× Ò × ½ × ÔØ Ñ Ö ¾¼¼
  • 2. ÄÓ× Ø Ó× Ð ÔÓÖØ ×ÓÒ Ó× Ù Ó× Ø Ó× ÖØ ¬ Р׸ Ö Ð Þ Ó× ÔÓÖ ÖÑ Ò ØÙ×Ø Ñ ÒØ Ý ÙÒ Ö Ø Ð Æ ÛØÓÒ ÓÖ Ò Ø Ó ÔÓÖ Ð ÔÖÓ Ö Ñ xfractintº
  • 3. Ð ×ØÙ ÒØ Ö Ø ÖÒÓ¸ Ø Ò Þ ÒØ Ð ÒØ ¸ Ô ÖÓ ÔÓÖ ×Ó Ö ØÓ Ó¸ ÓÒ ×ØÓº
  • 4. PrefacioÉÙ × Ö ÕÙ ×Ø Ø ÜØÓ × ÓÒ× Ö × ÓÑÓ ÙÒ Ú Ñ ÙÑ Ò Ð × ÒÓ Ø ÚÓ Ý Ò ÐÔÖÓ Ö Ñ ÓÒ Ð ÓÖ ØÑÓ× Ý ×ØÖÙ ØÙÖ × ØÓ× ÕÙ ×ÓÔÓÖØ Ò ÔÖÓ Ö Ñ × ÓÑÔÙØ ¹ ÓÒ Ð ×º Î Ñ ÙÑ × ÙÒ Ô Ð Ö Ð Ø Ò ÓÒ×ØÖÙ Ñ ÒØ Ð ÑÔ Ö Ø ÚÓ Ð Ø Ò ÚÕÙ ÓÒÒÓØ Ú Ò ¸ Ò Ó Ñ Ò Ý Ñ ÙÑ ÕÙ × Ò ¬ ÓÒÑ Ó º ÔÖ Ò Ö ×Ô Ö Ó ØÖ Ò× Ø Ö ÙÒ Ñ ÒÓ Ò× Ò Ö × Ô Ö Ó ÑÓ×ØÖ Ö× ÐÓ ÙÒ Ô Ö Ö ÒÓº Ò× Ò ÖÔÖÓÚ Ò Ð Ð Ø Ò Ò× Ò Ö ¸ Ú Ö Ó ÓÑÔÙ ×ØÓ Ò ´ Òµ Ý × Ò Ö ´× Ò Ð Öµ Ð ÜÔÖ × ÓÒ ÙÒ × ÑÔÐ Ù Ò Ó × × Ò Ð ÓÒ Ð Ó ÙÒ × Ò × Ù Öº × ¸ ÙÒ Ú ¹ Ñ ÙÑ ÔÖ Ø Ò × Ö ÙÒ Ù ØÖ Ò× ØÓ ÔÓÖ ÙÒ × Ò ÔÖ Ò Þ Ò ×Ø ×ӸРÔÖÓ Ö Ñ ÓÒ ÓÑÔÙØ ÓÖ ×ºModo y mediosÈ ÖÑ Ø × Ñ ÒØÖÓ Ù Ö Ð ÑÓ Ó Ò× Ò ÒÞ ×Ø Ø ÜØÓ¸ ÜÔÖ × Ó ÔÓÖ ×Ø ÒØ ÕÙ × ÑÓÔÖÓÚ Ö Ó ÓÖ ÒØ Ð Ù Ò Ó × Ù Ó¸ ÓÐÚ Ó¸ Ù Ò Ó Ú Ó¸ Ö Ù Ö Ó¸ Ù Ò Ó Ó¸ ÒØ Ò ÓºÄ ÔÖÓÔ ÓÒ Ø Ú ÙÒ ÓÒÓ Ñ ÒØÓ Ó ÙÖÖ Ù Ò Ó ×Ø × ÒØ Ò º Ð Ò¹Ø Ò Ñ ÒØÓ × ØÓÖÒ Ö Ð Ù Ò Ó ÙÒ ÔÖ Ò Þ ÓÒ×ÙÑ Ð ÙÖ Ó× × Ö ¹Ø Ö ×Ø × ×Ù ÔÖ Ø Ò ÓÐ × Ð Ñ ×ÑÓº Ó ÓØÖ Ñ Ò Ö ¸ Ð ÑÓ Ó Ò× Ò ÒÞ × ÑÓ×ØÖ Ö ÒØ Ö Ñ ÒØ ÓÑÓ × Ö Ð Þ ÙÒ ×ØÖÙ ØÙÖ ØÓ× Ý ÙÒ Ð ÓÖ ØÑÓº Ó ×ØÑÓ Ó¸ ÒØ ÒØ Ö Ù Ö ÙÒ ÔÓØ Ò Ð ÔÖ Ò Þ ÔÓÖ Ð Ñ ÒÓ Ð ÔÖ Ø Ð ÔÖÓ Ö ¹Ñ ÓÒ Ú ÒÞ º È Ö ÐÐÓ ÑÔÐ Ó Ð ÙÒÓ× Ñ Ó׺C++È Ö Ö ÔÖ × ÒØ Ö ÐÓ× Ð ÓÖ ØÑÓ× Ý Ð × ×Ô ¬ ÓÒ × ×ØÖÙ ØÙÖ × ØÓ× ÑÔÐ Ó ÐÐÒÙ ÔÖÓ Ö Ñ ÓÒ C ++º ×Ø × ÓÒ ÒÓ × ØÓÑÓ × Ò Ò × Ó ÓÒ ×¸ Ð × Ù Ð ×¸ Ö ×ÙÑ Ñ ÒØ ¸ × ÔÙ Ò Ð × ¬ Ö Ò Ó× ÖÙÔÓ׺ Ð ÔÖ Ñ ÖÓ Ù ×Ø ÓÒ Ð Ú ÒØÙ Ð × ÓÒÓ Ñ ÒØÓ Ð Ð ØÓÖ ×Ó Ö Ð Ð Ò Ù C++º ×ØÓ Ó Ö ÔÐ Ö ÕÙ ¸ ÒÓ ×ÓÐÓ C++ × ÙÒÓ ÐÓ× Ð Ò Ù × Ñ ×ÔÓÔÙÐ Ö × ÑÔÓÖØ ÒØ × Ð ÔÖÓ Ö Ñ ÓÒ × ×Ø Ñ ×¸ × ÒÓ ÕÙ ×Ù × ÒØ Ü × Ý × Ñ ÒØ×ÓÒ Ö Ñ Ò × ÒØ × Ð Ñ ÝÓÖ ÐÓ× ÓØÖÓ× Ð Ò Ù × ÔÖÓ ÙÖ Ð × Ý Ó ØÓ׺ Ó¸ Ò Ð ÕÙÓÖÙÑ ØÙ Ð ÐÓ× Ð Ò Ù × ÔÖÓ Ö Ñ ÓÒ ÔÖÓ ÙÖ Ð × ÒÓ ×ÓÐÓ ÓÑ Ò C++¸ × ÒÓÕÙ Ð Ö ×ØÓ ÐÓ× Ð Ò Ù × × Ò×Ô Ö Ò Ò Ð Ó Ò ×Ù ÔÖ ÙÖ×ÓÖ¸ Ð Ð Ò Ù C ÔÓÖ Ò×Ø Ò ×¸java¸ python¸ perl¸ C# Ý Dº
  • 5. iv Ð × ÙÒ Ó Ø ÔÓ Ó ÓÒ ÒÙÒ ÕÙ Ð ÓÑÔÖ Ò× ÓÒ × ØÓÖÒ Ñ × ¬ ÙÐØÓ× ¸Ð Ù Ð Ö ÔÐ Ó ÓÒ Ó× Ö ÙÑ ÒØÓ׺ Ð ÔÖ Ñ ÖÓ × ÕÙ ÐÓ× Ð Ò Ù × ÔÖÓ Ö Ñ ÓÒ ×Ô Ò× ÖÓÒ¸ Ø Ñ Ò¸ Ò ÙÒ ×Ø ÐÓ ÓÐÓÕÙ Ð ½ Ö ×Ô ØÓ Ð ÔÖÓ Ö Ñ ÓÒº ÓÒ× Ö ÑÓ׸ÔÓÖ ÑÔÐÓ¸ Ð × Ù ÒØ × Ù Ó ÔÖÓ Ö Ñ Ò ÙÒ × Ù Ó Ð Ò Ù ×Ø ÐÐ ÒÓ Repita mientras m > 0 y m < n si a[m] < a[x] entonces m = m/2; de lo contrario m = 2*m fin si Fin repita mientras Ð Ù Ð × ÕÙ Ú Ð ÒØ Ð ØÖ Ù ÓÒ Ð Ø Ö Ð¸ ÓÐÓÕÙ Ð ¸ Ð × Ù ÒØ ÐÓÕÙ Ò C++ while (m > 0 and m < n) { if (a[m] < a[x]) m = m/2; else m = 2*m; } ÙÒÕÙ ÙÒ ÑÔÐÓ ÒÓ ×Ø Ô Ö Ò Ö Ð Þ Ö Ñ Ò× ×Ó Ö Ð Ù×Ó Ð Ð Ò Ù C++¸ Ð Ó × ÕÙ Ù ÐÕÙ Ö ÕÙ ÓÒ× Ö × Ö Ñ ÒØ Ð ÔÖÓ Ö Ñ ÓÒ Ø Ò Ö ÕÙ ÔÖÓ Ö ¹Ñ Ö Ý ×ØÓ Ö ÖÐÓ Ò ÙÒ Ð Ò Ù ÔÖÓ Ö Ñ ÓÒ Ð Ù Ð¸ Ô Ö Ò Ó Ñ Ð¸ ÙÔ Ò× Ó Ò Ð Ò Ù Ò Ð × º ÈÓÖ Ø ÒØÓ¸ Ò Ú Ø Ð Ñ ÒØ ¸ ÙÒ ÔÖ Ò Þ ×Ô ÒÓ Ô ÖÐ ÒØ ¹ Ö ÔÖÓ Ö Ñ Ö Ò ÙÒ Ð Ò Ù ÔÖÓ Ö Ñ ÓÒ Ò Ð Þ Ó º À Ð ÓØ ÓÒ ÒØ Ö ÓÖ¸Ø Ñ Ò ÔÓ ÑÓ× Ö ÕÙ Ð ÔÖÓ Ö Ñ Ò ×Ø ÐÐ ÒÓ Ý ×Ù ÕÙ Ú Ð ÒØ Ò C++ Ø Ò Ò ÐÑ ×ÑÓ × Ò ¬ Óº × Ô٠׸ × Ù Ó×Ó¸ Ù Ò Ó Ñ ÒÓ׸ ¬ÖÑ Ö ÕÙ Ð ÓÑÔÖ Ò× ÓÒ ×ØÓÖÒ Ñ × ¬ ÙÐØÓ× º ÍÒ ÓÒ ÕÙ × ØÖ ÙÝ Ð Ù×Ó ÙÒ × Ù Ó Ð Ò Ù × ÕÙ ×Ø × Ò Ô Ò ÒØ Ð ÑÔÐ Ñ ÒØ ÓÒº Ò Ñ Ö Ø Ö Ó¸ ×ØÓ × Ô Ö ÐÑ ÒØ ÓÖÖ ØÓº ÈÓÖ ÑÔÐÓ¸ Ð ×ÔÐ ÒØ ÐÐ × Ò C++ ÔÐ ÒØ Ò ÙÒ ÔÖÓ Ð Ñ ÔÓÖØ Ø Ð Ò ÓØÖÓ× Ð Ò Ù × ÕÙ ÒÓ Ð ×Ø Ò Òº Ð Ù Ò ÔÙ Ö Ù Ö ÕÙ Ð Ù×Ó ÔÐ ÒØ ÐÐ × ×ÓÒ Ö ÔØ × Ô Ö Ð ÔÖ Ò ÞºÈ ÖÓ ×Ø Ó ÓÒ ×ÓÐÓ Ø Ò × ÒØ Ó × ÒÓ × ÓÑÔÖ Ò Ð ÓÒ ÔØÓ Ý ¬Ò ÙÒ ÔÐ ÒØ ÐÐ ¸ Ù Ð ÒÓ × ÓØÖÓ ÕÙ Ð Ò Ö º ÒØ Ò Ó ×ØÓ¸ ÙÒ ÔÖÓ Ö Ñ ÓÒ ÔÐ ÒØ ÐÐ × × Ø Ò ÓÑ × Ò Ö Ó ÕÙ ÙÒÓ Ö Ð Þ Ó Ò ÙÒ × Ù Ó Ð Ò Ù Ý Ö ×ÙÐØ ÕÙ ×Ø × Ð ÔÖ Ò Ô Ð Ö ÙÑ ÒØÓ ÕÙ Ò × ¬ Ò Ò Ð Ò× Ò ÒÞ ÔÖÓ Ö Ñ ÓÒ Ò ÙÒ × Ù Ó Ð Ò Ù ºØÓ Ó× ÑÓ Ó׸ × × Ù× × ÙÒ × Ù Ó Ð Ò Ù ¸ ÒØÓÒ × Ø Ñ Ò Ö ÕÙ ÔÐ ÒØ Ö× ÐÔÖÓ Ð Ñ ØÖ Ù Ö ÙÒ Ð Ò Ù ÔÖÓ Ö Ñ ÓÒ Ö Ð¾ º Å × ÙÒ Ó Ö ÙÑ ÒØÓ ×ØÖ Ò ÕÙ ¸ Ù ÒØ Ð ÔÓÔÙÐ Ö Ý ØÖ Ò× Ò Ò Ð C++¸ Ö Ó ÕÙ × Ñ × ÐØÖ Ù Ö ÙÒ ÔÖÓ Ö Ñ Ò ×ØÖÙ ØÙÖ Ó Ò C++ ÓØÖÓ Ð Ò Ù ¸ ÔÓÖ ÑÔÐÓ¸ java¸ÕÙ ÙÒÓ Ö Ð Þ Ó Ò ÙÒ × Ù Ó Ð Ò Ù ¿ º × ÑÔÓ× Ð × Ö ÓÑÔÐ Ø Ñ ÒØ ÓÐÓÕÙ Ð Ò ÙÒ Ð Ò Ù ½ ÔÖÓ Ö Ñ ÓÒº ÍÒ ØÖ Ù ÓÒ ÓÒ Ñ × × Ù ÖÞÓ × × ØÖ Ø ¾ ÙÒ × Ù Ó Ð Ò Ù Ò ×Ø ÐÐ ÒÓº ¿ Ó¸ ÑÙ Ó× Ø ÜØÓ× ÔÖÓ Ö Ñ ÓÒ Ô Ö Ò Ò Ö ÒØ × ÓÒ × Ô Ö ×Ø ÒØÓ× Ð Ò Ù ×º Ò ÑÙ Ó× ×ØÓ× ×Ó׸ Ð ÙØÓÖ × Ö ÐÓ× ÔÖÓ Ö Ñ × Ò ÙÒ ×ÓÐÓ Ð Ò Ù Ý ÐÙ Ó ÑÔÐ ØÖ Ù ØÓÖ × Ð ÓØÖÓ Ð Ò Ù º Ì Ð × ×ÓÒ ÐÓ× ×Ó× Ë Û Ó Ï ×× Ý ×Ù× × Ö × Ò C¸ C++ Ý java
  • 6. v Biblioteca ALEPH ×Ø Ø ÜØÓ ÓÒØ Ò ¸ Ò × Ñ ×ÑÓ¸ ÙÒ ÑÔÐ Ñ ÒØ ÓÒ ÓÒ Ö Ø ÙÒ Ð ÓØ ¸ Ð Ö ¸ ÐÐ Ñ ALEPH¸ ÓÒØ ÒØ Ú ØÓ × Ð × ×ØÖÙ ØÙÖ × ØÓ× Ý Ð ÓÖ ØÑÓ× ØÖ Ø Ó× Ò ×Ø Ø ÜØÓº Ä Ð ØÙÖ ÔÓ× Ð Ø Ð Ð Ù ÒØ Ð Ð ÓØ Ý Ö Ú Ð ×Ô ØÓ× ×Ù Ò×ØÖÙ¹ Ñ ÒØ ÓÒº Ë ÐÚÓ ÖÖÓÖ × ÙÒ ÒÓ × Ù ÖØÓ× Ó Ñ ÓÖ × ÕÙ Ù ÐÕÙ Ö × ÔÖÓÔÓÒ Ö¸ Ð Ð ØÓÖ Ø Ò Ð ÔÓ× Ð ÔÓÝ Ö× Ò ÙÒ ÑÔÐ ÒØ ÓÒ ÓÒ Ö Ø ÕÙ Ð ÐØ Ð ÔÖÓÔ ÓÒ ×Ù× ÓÒÓ Ñ ÒØÓ׺ ÄÓ× Ó Ó× Ù ÒØ × ALEPH ×Ø Ò ×ÔÓÒ Ð × Ò ftp:://ftp.ula.ve/lrleon/ aleph Ù ÖÓÒ ÙØÓÑ Ø Ñ ÒØ Ò ÒØ Ó× ÓÒ bcpp ¿ º ÐÓ Ð Ö Ó Ñ ÜÔ Ö Ò ÓÑÓ Ò× Ò ÒØ ¸ ÒØ ÒØ Ó Ö ÓÑÔ Ò× Ö ÐÓ× × Ù Ö ¹ ÓÖ × ÖÖÓÖ × Ý ÔÖÓÔÓÒ ÒØ × Ñ ÓÖ × ÓÒ ÙÒ ÔÓÒ Ö ÓÒ Ò ×Ù Ð ¬ ÓÒº ÆÓ Ú Ó Ò Ò ÙÒ ÑÔ Ñ ÒØÓ ÕÙ ÙÒ Ø Ö ÖÓ ÔÐ ÕÙ ÐÓ Ñ ×ÑÓ × ×Ø Ø ÜØÓ × Ù× ÓÑÓ Ñ Ø Ö Ð Ò×ØÖÙ ÓÒ Ðº Ë Ð ÙÒ Ð ØÓÖ Ù Ö Ñ Ö ÙÐÓ Ò× Ò ÒÞ × Ö ÔÓÖØ Ö Ð ÙÒ ÖÖÓÖ Ó Ö Ð Þ Ö Ð ÙÒ Ñ ÓÖ ¸ ÒØÓÒ × Ð Ö Þ Ó ÐÓ Ö ÔÓÖØ Ð Ñ Ð lrleon@ula.veº Ä Ó ÙÑ ÒØ ÓÒ Ð Ð ÓØ ×Ø ×ÔÓÒ Ð Ò Ð ÒÐ http://www.ing.ula. ve/alephº ×Ø Ù × Ö Ø Ô Ö ÔÖÓ × Ö× ÓÒ Ð Ü Ð ÒØ ÔÖÓ Ö Ñ doxygen º Programaci´n literaria o Ò Ð Ð ÓÖ ÓÒ ×Ø Ø ÜØÓ × ÙØ Ð ÞÓ ÙÒ × ×Ø Ñ ÐÐ Ñ Ó noweb ½ ¸ ½ ¸ Ð Ù Ð × ÙÒ × ×Ø Ñ ÔÖÓ Ö Ñ Ó ÕÙ Ò Ö ×Ø Ø ÜØÓ Ý ÐÓ× Ù ÒØ × Ò C++ Ô ÖØ Ö ÙÒ ×ÓÐÓ Ö ÚÓ Ù ÒØ º Ð Ù ÒØ ÒØÖ Ð Þ ÔÖÓ× ÜÔÐ Ø Ú ÓÒ ÐÓÕÙ × Ó Ó Ð ÑÔÐ ÒØ ÓÒ Ð Ð ÓØ º ×Ø ×Ø ÐÓ × Ö ØÙÖ ÔÖÓ Ö Ñ × × ÒÓÑ Ò ÔÖÓ Ö Ñ ÓÒ Ð Ø Ö Ö Ý Ù ÔÖÓ¹ ÔÙ ×ØÓ ÔÓÖ ÃÒÙØ ½ º Ä × ÔÖ × ÒØ Ö ÙÒ ×Ø ÐÓ Ñ × ÓÐÓÕÙ Ð Ô Ö × Ö Ö ÔÖÓ Ö Ñ × ÕÙ Ð Ñ ÖÓ ×Ø ÐÓ ÓÖÑ Ó ÙÒ Ð Ò Ù ÔÖÓ Ö Ñ ÓÒ¸ ÙÒØÓ ÓÒ Ð Ò Ò ÕÙ Ð Ó ÙÑ ÒØ ÓÒ Ý Ð ÙÐØ Ñ Ú Ö× ÓÒ Ð ÔÖÓ Ö Ñ ´ÔÖ ×ÙÑ Ð Ñ ÒØ ÓÖÖ Ø µ Ö × Ò Ò ÙÒ ×ÓÐÓ Ù ÒØ º Ô ÖØ Ó Ó Ò C++¸ ÐÓ× ÐÓÕÙ × ÔÙ Ò ÓÒØ Ò Ö Ö Ö Ò × ÓØÖÓ× ÐÓÕ٠׺ ÍÒ ¬Ò ÓÒ ÐÓÕÙ ÓÑ ÒÞ ÔÓÖ ×Ù ÒÓÑ Ö ÒØÖ Ô Ö ÒØ × × Ò ÙÐ Ö ×º ÈÓÖ ÑÔÐÓ¸ ÓÒ× Ö ÑÓ× Ø ÖÑ Ò Ö × ÙÒ ÒÙÑ ÖÓ n × Ó ÒÓ ÔÖ ÑÓº È Ö ÐÐÓ¸ ÔÓ ÑÓ× ¬Ò Ö Ð × Ù ÒØ ÐÓÕÙÚ Ð ÙÐ Ö × Ò × ÔÖ ÑÓ Ú ≡ if (n <= 2) // n es un n´mero primo u const int ra´z_de_n = static_cast<int>(ceil(sqrt(n))); ı for (int i = 3; i < ra´z_de_n; i += 2) ı if (n % i == 0) // n no es primo // n es un n´mero primo u ÄÓ× ÐÓÕÙ × × ÒÙÑ Ö Ò × ÙÒ Ð ÒÙÑ ÖÓ Ð Ô Ò ÓÒ × ¬Ò Ò ÔÓÖ ÔÖ Ñ Ö Ú Þº Ë Ý Ñ × ÙÒ ÐÓÕÙ Ò ÙÒ Ô Ò ¸ ÒØÓÒ × ×Ø × Ð Ò ÙÒ Ð ØÖ ÕÙ ¸ Ò Ð ÓÖ Ò Ð Ø Ó¸ × ÓÖÖ ×ÔÓÒ ÓÒ ×Ù ÓÖ Ò Ô Ö ÓÒº Ð ÙÒÓ× ÐÓÕÙ × Ö Ö Ò Ò ÓØÖÓ× ÐÓÕÙ × Ó Ú Ö Ð ×º
  • 7. vi ÄÓ× ÐÓÕÙ × ×Ø Ò × Ö ØÓ× Ò ÙÒ ÓÖ Ò ÕÙ × Ö × ÔÖ Ö Ð Ô Ö Ð ÓÑÔÖ Ò× ÓÒÕÙ Ð Ñ ÖÓ Ð ×Ø Ó Ó Óº × ¸ Ö Ö ØÓ Ö Ø ÕÙ × Ñ ÔÙ Ö ×Ó Ö Ð ×Ø ÐÓ Ý ÓÖ Ò ÔÖ × ÒØ ÓÒ ÙÒ ×ØÖÙ ØÙÖ ØÓ Ó Ð ÓÖ ØÑÓ Ò ÔÖÓ Ö Ñ ÓÒ Ð Ø¹ Ö Ö ¸ Ô ÖÓ Ð ×ÓÐ ØÓ Ð Ö Ø Ó ÙÒ × Ù ÖÞÓ ÔÖ Ñ Ò Ó ÔÓÖ ÓÑÔ Ö Ö Ð ×Ø ÐÓ noweb ÓÒ Ð Ð ×Ø Ó ÔÐ ÒÓ Ó Ó Ý¸ ÒØÓÒ ×¸ Ó × ÓÒ× Ö ÓÒ¸ Ö Ö ×Ù Ö Ø º ÈÙ Ö× ÕÙ ×Ø Ø ÜØÓ ÓÒØ Ò Ð ÑÔÐ ÒØ ÓÒ Ù ÒØ ×ØÖÙ ØÙÖ ØÓ×Ó Ð ÓÖ ØÑÓ × ×ØÙ º ÑÔ ÖÓ¸ ØÓÑ Ö× ×ØÓ Ð Ô Ð Ð ØÖ ÖÖ Ö ×Ø ÒØ Ô Ô Ð Ñ × ÕÙ Ö ×Ø Ø ÜØÓ Ñ × ÚÓÐÙÑ ÒÓ×Ó Ý Ö Ô Ø Ø ÚÓº Ò × × ÒØ Ó¸ Ò Ö × Ð ×Ô Ó¸ × Ò Ö Ð Þ Ó ÓÖØ × Ó× Ø ÔÓ× ½º Å Ò Ó Ü Ô ÓÒ × ÙÒÕÙ ×Ø ×Ô ØÓ ÓÒ×Ø ØÙÝ ÙÒ Ð × ÓÒ × Ñ × Ð ÒØ × C++¸ ×Ø Ø ÜØÓ × ÒÓ ÐÓ× ÔÖ × ÒØ º ¾º Å ØÓ Ó× Ð × × Ö Ô Ø Ø ÚÓ× Ó ÑÙÝ × ÑÔР׺ Ò Ñ Ó× ×Ó׸ Ð Ó Ó Ð Ð ÓØ ¸ Ö Ø Ñ ÒØ Ò Ö Ó Ô ÖØ Ö Ð Ù ÒØ noweb ×Ø Ø ÜØÓ¸ ×Ø ÓÑÔÐ ØÓ × Ö¸ Ð Ð ÓØ ÓÒØ Ò ÐÓ× Ñ Ò ÓÖ × Ü Ô ÓÒ ×Ý Ñ ØÓ Ó× ÓÑ Ø Ó× Ò ×Ø Ø ÜØÓºEjercicios Ù ÐÕÙ Ö × Ð ÔÖ Ø ¸ ÒÓ Ý ÓØÖ Ñ Ò Ö ÕÙ ÙÒ ÔÖ Ø ÒØ ÓÒ×ÙÑ ×Ù× ÓÒÓ Ñ ÒØÓ× ÕÙ ÒÓ × Ò Ó ÔÖ Ø º ÈÓÖ Ñ × × Ù ÖÞÓ ÕÙ × Ö Ð ÔÓÖ ÓÖ ÒØ ÖÝ Ò× Ò Ö¸ Ð ÔÖ Ò Þ ¸ ÔÖ Ö Ð Ñ ÒØ Ù Ó ÔÓÖ ÙÒ Ñ ×ØÖÓ¸ Ö Ø Ö ÔÓÖ × ×ÓÐÓÐÓ ÔÖ Ò Óº À Ý ØÖ × Ñ Ò Ö ×¸ ÕÙ ÒÓ Ò × Ö Ü ÐÙÝ ÒØ ×¸ Ö Ð Þ Ö ÐÓ ÒØ Ö ÓÖ ½º Ê ×ÓÐÙ ÓÒ Ö Ó× ÔÖÓÔÙ ×ØÓ× Ò ×Ø × ÒØ Ó¸ Ð ¬Ò Ð Ô ØÙÐÓ × ÔÖ × ÒØ ÙÒ ÓÒ ÙÒØÓ Ö Ó× ×Ø Ò Ó׸ ÔÖ ÑÓÖ ÐÑ ÒØ ¸ Ð Ö ×ÓÐÙ ÓÒ Ò ×ÓÐ Ø Ö Ó ÔÓÖ Ô ÖØ Ð ÔÖ Ò Þº Ð ÙÒÓ× Ö Ó× ×ÓÒ Ø ÓÖ Ó× Ò Ð × ÒØ Ó ÕÙ ÒÓ Ò × Ö Ñ ÒØ Ö ÕÙ Ö Ò × Ö Ö ÙÒ ÔÖÓ Ö Ñ ÓÑÔ Ð Ð º ÈÓÖ ×ÙÔÙ ×ØÓ¸ ÒÓ ×Ø ÔÖÓ Ó × ÒØ Ö× Ö ÒØ Ð ÓÑÔÙØ ÓÖ ÒØ ÒØ Ö ÓÒ Ö Ø Ö Ð Ö Ó Ñ ÒØ ÙÒ ÔÖÓ Ö Ñ º ÇØÖÓ× Ö Ó× ×ÓÒ ÔÖ Ø Ó× Ý ÓÒ× ×Ø Ò Ò ÜØ Ò× ÓÒ × Ð Ð ÓØ º ×ØÓ× Ö Ó× ×ÓÒ ×Ø Ò¹ Ù Ð × ÐÓ× Ø ÓÖ Ó× ÔÓÖÕÙ ÒÙÒ Ò ×Ù Ö ×ÙÐØ Ó Ò Ø ÖÑ ÒÓ× ÙÒ Ó ØÓ Ð Ð ÓØ º ÄÓ× Ö Ó× ×Ø Ò Ð × ¬ Ó× × ÙÒ ÙÒ ¬ ÙÐØ ×Ù Ø Ú ÙÞ ÔÓÖ Ñ º ÆÓ × Ð ÔÓÒ Ö Ö Ð Ø ÑÔÓ Ö ×ÓÐÙ ÓÒ ÙÒ Ö Ó¸ ÔÙ × ×Ø Ô Ò Ð ×ØÙ ÒØ ¸ Ô ÖÓ ÕÙ Ñ Ð × ¬ ÓÒ ´ µ Æ Ò ÙÒ ÖÙÞ ÒÓØ ÙÒ Ö Ó ÓÒ× Ö Ó × Ò ÐÐÓº ÄÓ× Ø ÓÖ Ó× Ö Ò Ö ×ÓÐÚ Ö× Ò Ð ÓÖ Ò Ò Ó Ñ ÒÙØÓ׸ Ñ ÒØÖ × ÕÙ ÐÓ× ÔÖ Ø Ó× Ò Ð ÙÒ º ´ µ ÍÒ ÖÙÞ ´·µ ÜÔÖ × ÙÒ Ø ÑÔÓ ×Ø Ñ Ó ÙÒ Ó× ÓÖ × Ò Ð ×Ó ÙÒ Ö Ó Ø ÓÖ Ó Ý Ó× × Ò Ð ÔÖ Ø Óº ´ µ Ó× ÖÙ × ´··µ ÜÔÖ × Ò Ý ÙÒ ¬ ÙÐØ ÑÙ Ó Ñ ÝÓÖº ÈÓÖ ÐÓ Ò Ö Ð¸ ×Ø Ð × Ö Ó× ÔÐ ÒØ Ò Ð ÔÖ Ò Þ ÙÒ × Ù Ö Ñ ÒØÓ Ó Ö Ú Ð ÓÒ
  • 8. vii ÙÒ ØÖÙ Ó Ó Ø Ò ÕÙ ¸ ÙÒ Ú Þ Ö Ú Ð ¸ Ö Ù Ö Ð ÓÑÔÐ Ð Ö Ó Ò Ò ÙÒ ÖÙÞº Ð Ø ÑÔÓ ÙÒ Ö Ó Ø ÓÖ Ó × Ö Ð Ñ ÒÓ× ÙÒ ¸ Ñ ÒØÖ × ÕÙ Ð ÙÒÓ ÔÖ Ø Ó ØÖ × ´¿µ ׺ ´ µ ÌÖ × ÖÙ × ´···µ Ö ÔÖ × ÒØ Ò ÙÒ Ö Ó Ð Ø ¸ и ÙÒ¸ Ô Ö ÙÒ Ñ ×¹ ØÖÓ Ý ×Ù Ø ÑÔÓ Ö ×ÓÐÙ ÓÒ ÒÓ ×Ø Ð Ñ Ø Óº ¾º Ê Ð Þ ÓÒ Ö Ó× Ù Ó× Ò Ð ÓÖ ØÓÖ Ó ÙÒÓ ÐÓ× Ö Ò × Ó ×Ø ÙÐÓ× ÕÙ ÐÓ ×ØÖ ØÓ ÔÐ ÒØ Ð ÔÖ Ò Þ ¹Ý ÙÒÓ Ö ÕÙ ÐÐÓ Ó ÙÖÖ Ò Ù ÐÕÙ Ö ÔÖ Ø ¹ × ÕÙ ×Ù ÓÒ ÓÒ ÒÓÚ Ð ¬ ÙÐØ ÔØ Ö ÕÙ ÐÓ ÕÙ Ô Ö Ð ÔÙ × Ö Ò ÔÖ Ò Ô Ó ×ØÖ ØÓ Ú Ò Ö ¸ ØÖ Ú × Ð Ö Ó¸ ÓÒ Ö ØÓº Ó ÐÓ ÒØ Ö ÓÖ¸ ÔÙ Ö× ÕÙ Ð × ÒØ Ó ÙÒ Ö Ó Ò Ð ÓÖ ØÓÖ Ó × Ô ÖÑ Ø ÖÐ Ð ×ØÙ ÒØ Ò Ö Ð ÓÒ Ö ÓÒ ×Ù× ÓÒÓ Ñ ÒØÓ׺ È Ö ÐÐÓ¸ Ò Ð ÓÖ ØÓÖ Ó¸ ÔÙ Ò Ö Ð Þ Ö× ØÖ × Ø Ú × ´ µ ÓÒØ ÑÔÐ ÓÒ ÙÒ ÔÖÓ Ð Ñ ÓÑÔÙØ ÓÒ Ð¸ ÙÒØÓ ÓÒ ×Ù ×ÓÐÙ ÓÒ¸ Ò Ð Ù Ð × Ù×Ó Ð ÙÒ ×ØÖÙ ØÙÖ ØÓ× Ó Ð ÓÖ ØÑÓ ×ØÙ Óº Ð Ù Ð ÓÖ ØÓÖ Ó ÔÙ ÒÙÒ Ö Ð ÔÖÓ Ð Ñ Ý ÔÖ × ÒØ Ö Ð Ò×ØÖÙ¹ Ñ ÒØ ÓÒ ×Ù ×ÓÐÙ ÓÒº ÄÙ Ó¸ ÒÚ Ø Ö Ð ×ØÙ ÒØ Ö Ú × Ö ÐÓ× Ù ÒØ × Ò Ö Ö¸ ÒØ × ×Ù Ù ÓÒ¸ Ð × Ø Ò × Ý ×Ø ÐÓ× ÙØ Ð Þ Ó× Ò Ð Ò×ØÖÙ¹ Ñ ÒØ ÓÒº ´ µ ÓÒØ ÑÔÐ ÓÒ Ð Ù ÓÒ Ð ÔÖÓ Ö Ñ Ô Ö Ú Ö× × ÓÑ Ò ÓÒ × ÒØÖ º ×Ø × Ð × Ò Ð Ù Ð Ð ÔÖ Ò Þ ÓÑ ÒÞ × ÒØ Ö ÓÒ Ö ÓÒ × Ö¸ ÕÙ ÐÓ× ÓÒ ÔØÓ× ×ØÖ ØÓ× Ô Ö Ò Ò ×ÓÐÙ ÓÒ × ÓÒ Ö Ø ×º ÙÖ ÒØ ×Ø Ø Ú ÔÙ × Ö Ö ÓÑ Ò Ð Ð ÙØ Ð Þ ÓÒ ÙÒ ÔÙ¹ Ö ÓÖ º ´ µ Ò ÐÑ ÒØ ¸ Ö ×ÓÐÙ ÓÒ ÙÒ Ú Ö ÒØ Ð ÔÖÓ Ð Ñ Ô ÖØ Ö Ð ×ÓÐÙ ÓÒ ÔÖ Ñ Ò º Ò ×Ø ÔÙÒØÓ¸ × ÑÙÝ ÑÔÓÖØ ÒØ ÕÙ × ØÖ ×Ó Ö Ð Ñ ×ÑÓ ÔÖÓ Ð Ñ Ý Ù ÒØ ×¸ Ô ÖÓ ÓÒ Ð ÙÒ Ú Ö ÒØ ÙÒ ÑÔÐ ÓÒ Ô Ö Ö ×ÓÐÚ Ö ÓØÖ × Ð × × ÒØÖ ×¸ ÔÓÖ ÑÔÐÓº ¿º Ê Ð Þ ÓÒ ØÖ Ó× ÔÖ Ø Ó× Ò Ù Ð Ñ ÒØ ¸ Ò Ð ×Ô Ö ØÙ Ð ÔÖÓÚ Ö Ó Ø Ó¸ ×Ø × Ð × ÕÙ × Ò Ð Ö Ô Ö ÒØ Ò Ö º ÓÑÓ × Ö Ð ÔÖÓÝ ØÓ ÓÖÖ ×ÔÓÒ Ö× ÓÒ ÙÒ ÔÖÓ Ð Ñ ÓÖ Ò Ð Ô Ö Ý ÓÒ × ÒØ Ó Ð ÓÒØ ÜØÓ Ò ÓÒ × Ò× Ò × Ö¸ ÓÖÑÙÐ Ó ÔÓÖ Ý Ô Ö Ù× Ö× Ò Ð ÓÑÙÒ Ò ÓÒ × Ö Ð Ð Ò× Ò ÒÞ ×Ø ÙÖ×Óº ÈÓÖ ÑÔÐÓ¸ × Ð ÒÓ Ð ÐÙ Ö Ò× Ò ÒÞ × Ô Ò ÔÖÓ Ð Ñ × ØÖ ¬ Ó¸ ÒØÓÒ × ÔÙ ÔÐ ÒØ Ö× ÙÒ ÓÒ ÙÒØÓ ÑÔÐ × ÑÓ ÔÖÓÝ ØÓ× Ò ØÓÖÒÓ Ð × ÑÙÐ ÓÒ Ð ØÖ ¬ Ó Ý Ð ×ØÙ Ó Ú Ö× × Ø Ò × Ô Ö Ú Ø Ö Ð ÓÒ ×Ø ÓÒº ÍÒ ÔÖÓÝ ØÓ ×Ø Ø ÔÓ Ö ÕÙ Ö Ö ¸ ÔÓÖ ÑÔÐÓ¸ Ð ÑÓ Ð Þ ÓÒ ÓÒ Ö Ó× Ð × Ú × Ö ÙÐ ÓÒ¸ Ñ Ò ×ÑÓ× ÓÒØÖÓÐ ÓÑÓ ÐÓ× × Ñ ÓÖÓ× Ý ÒØ × Ö ÙÐ ÒØ × ÓÑÓ ÐÓ× ÙØÓÑÓÚ Ð ×ºËÓ Ö × Ó × Ö Ü × Ú Ñ ÒØ Ö Ô Ø Ø ÚÓ¸ Ó Ò× ×Ø Ö Ò Ð ÑÔÓÖØ Ò ÐÓ× Ö Ó׺ ×ØÓ Ý × Ö Ó Ú Ó × Ð Ô Ö×Ô Ø Ú Ð ×ØÙ ÒØ ¸ ÔÙ × × Ð ÙÒ Ó Ñ Ó Ö Ø Ö× º Ð Ò×ØÖÙ ØÓÖ¸ ÔÓÖ ÓØÖ Ô ÖØ ¸ Ð Ô ÖÑ Ø ÒÖ ÕÙ Ö Ð Ò× Ò ÒÞ Ù Ò Ó ×ÔÐ ÒØ Ò Ö Ó× ÕÙ ÓÑÔÐ Ø Ò Ó ÓÑÔÐ Ñ ÒØ Ò Ð ÓÒÓ Ñ ÒØÓ ÑÔ ÖØ Ó × ÓÑÓ¸Ñ ÒØ Ð ÓÖÖ ÓÒ¸ ×ÙÔ ÖÚ × Ö Ð Ò Ú Ð ×Ù× ×ØÙ ÒØ ×º
  • 9. viiiHistoria ÓÑ Ò Ð Ð ÓÖ ÓÒ Ð Ð ÓØ ALEPH Ò Ñ ÝÓ ½ º Ò ÕÙ Ð ÒØÓÒ × Ñ ÓÒ× Ö × Ö Ö Ð × × Ó ØÓ× Ô Ö Ö ÔÖ × ÒØ Ö Ð ×Ø × ´Ð × Ö ÖÕÙ × Slink Ý Dlinkµ¸ Ö ÓÐ × Ò Ö Ó× ´Ð × Ö ÖÕÙ × BinNode<Key> Ý Avl Tree<Key>µ Ý Ø Ð × × ´Ð Ð ×LhashTable<Key>µº È ÖØ × ×Ø Ø ÜØÓ ÓÑ ÒÞ ÖÓÒ Ô Ö Ö Ñ Ó× ½ ¸ ÐÙ Ó ÕÙ Ð ÙÒÓ× ×ØÙ ÒØ × Ñ Ó × ÖÚ × Ò ÕÙ Ð × × Ö ÙØ Ð Ð Ö Ð ÓÖ ØÑÓ× Ò Ó Ó Ý ÕÙ ×ØÓ× Ù × Ò Ò ÓÑ ÒØ Ó׺ Ù ÒØÓÒ × Ù Ò Ó Ô Ð noweb¸ ÙÝ Ñ ×ØÖ Ð Ø Ú Ý ÓÒÓ Ó Ù Ò Ó¸ ×ØÙ Ò Ó Ò Ö ÓÒ Ò Ñ Ó Ó¸ Ñ Ù ÓÔÓÖØÙÒ × ÑÓ Ð Ö ÐÐ ÖÓ ÓÑÔ Ð ÓÖ × À Ò×ÓÒ Ý Ö × Ö ½¾ º Ò × Ø ÑÔÓ × Ö Ô ÖØ ÐÓ ÕÙ ÓÝ × Ð Ô ØÙÐÓ ¾¸ ÓÒ ÖÒ ÒØ × Ù Ò ×º Ñ Ó× Ð ¾¼¼¼ ÓÑ Ò Ð Ô ØÙÐÓ×Ó Ö Ö ÓÐ × Ý Ô ÖØ Ð ¸ Ö Ö ÒØ Ð × Ø Ð × × º Ð Ô ØÙÐÓ Ø Ò Ó ×Ø ÒØ ×ÑÓ ¬ ÓÒ × ×Ù ÓÒØ Ò Ó ÓÖ Ò Ð Ý Ò ÙÖ ×¸ Ó ÙÖÖ ×¸ Ò ×Ù Ñ ÝÓÖ Ô ÖØ ¸ Ò ÐÐ Ö Ó Ô Ö Ó Ó ÓÑÔÖ Ò Ó ÒØÖ ¾¼¼½ Ý ¾¼¼ º Ò ÒÓÚ Ñ Ö Ð ¾¼¼½ Ö Ø ¸ × ÒØ Ö Ñ ÒØ ¸ ÐÓ ÕÙ ØÙ ÐÑ ÒØ × Ð Ô ØÙÐÓ×Ó Ö ÕÙ Ð Ö Ó Ö ÓР׺ Ñ Ó× Ð ¾¼¼ Ò Ð ÜØ Ò× ÓÒ Ð Ð ÓØ Ö Ó× Ø Ñ ÔÖ × ÒØ Ó Ò Ð Ô ØÙÐÓ º Ä × ×ØÖÙ ØÙÖ × Ý Ð ÓÖ ØÑÓ× Ò ØÓÖÒÓ ×Ø ÓÑ Ò Ó Ò Ú Ö Ó ×Ø ÒØ Ò ÓÖÑ Ý ÒÓ × Ó¸ ×Ø Ó×ØÓ Ð ¾¼¼ ¸ Ò ÕÙ Ò ØÓÑ Ó ÙÒ Ú Ö× ÓÒ ×Ø Ð º Ö ÓÕÙ Ò ×Ø ÓÑ Ò Ó × ÓÒ ×Ø Ø ÜØÓ Ö Ð Þ ×Ù× ÔÖ Ò Ô Ð × ÔÓÖØ ×º × Ö ÖÓ ¾¼¼ Ñ ÔÐ ÒØ Ð × Ù ÖÞÓ Ö Ú × Ö Ý ÙÒ ¬ Ö ÐÓ× Ô ØÙÐÓ× ÓÐÓ ÕÙ ÓÝ ÓÒ ÓÖÑ ×Ø Ø ÜØÓº × Ö ÒØ Ö Ñ ÒØ ÐÓ× Ô ØÙÐÓ× ½¸ ×Ó Ö ×ØÖ ÓÒ ØÓ׸ Ý Ð ¿¸ ÓÒ ÖÒ ÒØ Ð Ö Ø Ð ÓÖ ØÑÓ× Ý ×ØÖÙ ØÙÖ × ØÓ׺ Ð × ÔØ Ñ Ö ¾¼¼ ÙÐÑ Ò Ð Ô ØÙÐÓ Ö Ö ÒØ Ð × Ø Ð × × º Ä Ñ ÝÓÖ Ð × ¬ ÙÖ × ×Ø Ð ÖÓ Ù ÖÓÒ Ò Ö × ÙØÓÑ Ø Ñ ÒØ Ñ ÒØÔÖÓ Ö Ñ × Ð ÓÖ Ó× ÓÒ Ð ÔÖÓÔ Ð ÓØ ALEPHº Ò × × ÒØ Ó¸ Ý ØÖ × ÔÖÓ Ö ¹Ñ× ½º btreepic Ô Ö Ù Ö Ö ÓÐ × Ò Ö Ó׺ ¾º ntreepic Ô Ö Ù Ö Ö ÓÖ × Ò × Ý Ö ÓÐ × Ò Ò Ö Ðº ¿º graphpic Ô Ö Ù Ö Ö Ó׺ Ð ÔÖ Ñ Ö ÔÖÓ Ö Ñ ¸ btreepic¸ Ù ÑÓØ Ú Ó Ñ Ò× Ø × ÓÒ ÓÒ ÐÓ× Ù Ó× Ö ÓÐ × Ò Ö Ó× Ö Ð Þ Ó× ÓÒ ÔÖÓ Ö Ñ × ×Ô Ð × Ø Ð × ÓÑÓ Xfig Ý diaº ×ØÓ × ÙÒÓ Ð ÑÔÓ× Ð Ñ Ø Ö Ð Ù Ö Ö ÓÐ × ÒÓÖÑ × ¹ ÒØÓ× Ó Ñ Ð × ÒÓ Ó×¹º Ò Ú ÖØÙ ×ØÓ¸ ×ÓÐ Ø ÙÒ ØÖ Ó × ÓÐ Ö Ð Ö ×Ô ØÓ ÙÝÓ× Ö ×ÙÐØ Ó׸ Ô × Ö × Ø × ÖÑ × ÓÐ ÖÑ ÒØ ¸ ×Ø ÖÓÒ ÑÙ Ó × ÖÑ ×Ù¬ ÒØ ×º Ö Þ × ÜÔ Ö Ò ¸ ÔÓÖÑ ÔÖÓÔ Ù ÒØ Ö Ð Þ Ö btreepicº Ù Ò Ó ØÙÚ ÕÙ Ù Ö Ö ÓÐ × Ò Ö Ð ×¸ ×ÓÐ Ø Ð Ñ ×ÑÓ Ø ÔÓ ÔÖÓ Ö Ñ ÕÙ Ô Ö Ó ÙÒ ×ØÙ ÒØ Ü Ð×Ó¸ ÐÐ Ñ Ó ÂÓ× Ö ØÓ¸ÕÙ Ò ÓÖ Ó ÙÒ ÔÖ Ñ Ö Ú Ö× ÓÒ ÐÐ Ñ xtreepic Ý ÕÙ ×Ø ×ØÖ Ù Ò ALEPHºÄ Ñ ÒØ Ð Ñ ÒØ ¸ ×Ø Ú Ö× ÓÒ ÓÔ Ö ×Ó Ö ÙÒ Ú Ö× ÓÒ Ö ÓÐ × ÕÙ Ð ÔÓ ÑÒ × Ý Ö Ú × ÓÒ Ý Ö Ù ¸ ÔÓÖ ÐÓ ÕÙ ÔÖ Ö Ö Ö ÒØ Ö Ñ ÒØ Ð ÔÖÓ Ö Ñ Ó Ð ÒÓÑ Ö ntreepicº È Ö Ð Ð ÓÖ ÓÒ Ð ÔÖÓ Ö Ñ Ñ Ù ÑÙÝ ÙØ Ð Ð ÖÑÓ×ÓØ ÜØÓ ×Ó Ö Ù Ó Ö Ó× ÃÓÞÓ ËÙ Ý Ñ ¾¼ º Ò ÐÑ ÒØ ¸ Ù Ò Ó Ñ Ò ÓÒØÖ Ò Ð Ñ ×Ñ Ò × Ö ×Ô ØÓ ÐÓ× Ö Ó׸ ÔÖÓÚ Ð Ó × ÓÒ Ô Ö × ÖÖÓÐÐ Ö ×
  • 10. ix ÒØ Ö Ñ ÒØ Ð ÓÖÔÙ× Ð ÓÖ ØÑ Ó Ò ÓÑ ØÖ ÓÑÔÙØ ÓÒ Ðº Ð ÔÖÓ Ö Ñ Ö ×ÙÐØ ÒØ ¸graphpic × ÙÒ ÑÙÝ × ÑÔÐ Ý Ú ØÓ Ð Ð ÓÖ ØÑ Ú Ò ÙÐ Ð Ù Ó ÙØÓÑ Ø Ó Ö Ó× Ó¸ Ð × × ÓÒ × ×Ó Ö Ù Ó ×ÓÒ ØÓÑ × ÔÓÖ Ð Ù×Ù Ö Ó Ô ÖÓ ÔÙ Ö Ö ÕÙ graphpic Ø Ò Ð Ú ÖØÙ ÓÔ Ö Ö ÒØ Ö Ñ ÒØ ×Ó Ö ÓÑ ØÖ ÓÑÔÙØ ÓÒ ÐÝ ÕÙ ÐÐÓ¸ ÒÓ ×ÓÐÓ Ú Ð ×Ø ÑÔÓ¸ × ÒÓ ÕÙ Ö ÙØÙÖÓ× × ÖÖÓÐÐÓ׺ Ò Å ÖÞÓ ¾¼¼ Ò Ð × Ö ØÙÖ Ð Ó ÙÑ ÒØ ÓÒ Ð Ð ÓØ º Å Ò Ö ÒØ ÙÒ ÔÖÓ Ð Ñ ÓÑÓ ÒØ Ö Ö Ð Ó ÙÑ ÒØ ÓÒ Ò Ð Ù ÒØ ×Ø Ø ÜØÓ × Ò ÕÙ ÐÐ Ô Ö Þ Ò Ð Ø ÜØÓ º Ê ÕÙ Ö × Ö ÖÐ Ò Ð Ñ ×ÑÓ × Ø Ó ÓÒ × Ö ×Ø Ð ÖÓ ÔÓÖÕÙ × ÑÓ Ó¸ Ó Ð Ñ ×Ñ Ó ØÖ Ò noweb¸ ÙÒ ÑÓ ¬ ÓÒ Ð Ð ÓØ × ÔÓ Ö ØÙ Ð Þ Ö Ö Ô Ñ ÒØ Ò Ð Ó ÙÑ ÒØ ÓÒº ÒØÓÒ × × Ò Ö ÙÒ ¬ÐØÖÓ Ø ÜØÓÕÙ Ö ÓÒÓ × ÐÓ× ÐÓÕÙ × Ó ÙÑ ÒØ ÓÒ ÒØÖÓ Ð Ù ÒØ noweb Ý ÐÓ× Ð Ñ Ò × Ñ Ò Ö ÕÙ ÒÓ Ô Ö × Ò Ò Ð × Ð Ä Ì º Ì Ð ¬ÐØÖÓ × ÒÓÑ Ò deldoxygen Ý Ù × Ö ØÓ ÓÒ Ð Ò Ö ÓÖ Ò Ð Þ ÓÖ × Ð Ü Ó Ö ¬ Ó× flex Ý C++º Ð Ù Ò Ö ÕÙÔÙ ÖÐÓ Ó Ò ØÖ ÒØ Ñ ÒÙØÓ× ÓÒ ÙÒÓ ÐÓ× Ð Ò Ù × × Ö ÔØ Ò ÑÓ ÖÒÓ×´perl¸ python¸ Ø ºµº ÈÖÓ Ð Ñ ÒØ × ÖØÓ × ÝÓ Ù × Ñ ×ØÖÓ Ò Ð ÙÒÓ ÕÙ ÐÐÓ×Ð Ò Ù ×¸ Ô ÖÓ¸ Ò Ò ÙÖ × Ñ Ö ÔÐ Ö ÓÒ ØÖ × Ó׺ ÈÖ Ñ ÖÓ¸ ÑÓÖ ÙÒ Ô Ö ÓÖ × Ò × Ö Ö deldoxygen ÔÓÖÕÙ Ø Ò ÕÙ Ò ÒÓ× × Ò Ù× Ö flex Ý ÒÓ Ö ÓÖ Ò Ð Ð Ò Ù ÒÓ × ÔÙ × ÑÙ Ð Ö Ò º Ë ÙÒ Ó¸ Ñ ¬ÐØÖÓ Ø Ò ÑÙ × Ñ ×ÔÓ× Ð × × Ö ÓÖÖ ØÓ¸ ÔÙ × Ù ×Ô ¬ Ó ¹ÒÓ ÔÖÓ Ö Ñ Ó¹ Ó Ð ÓÖÑ Ð ×ÑÓ Ð × ÜÔÖ × ÓÒ × Ö ÙÐ Ö × Ý ÐÓ× ÙØÓÑ Ø × Ò ÙÒ Ð Ò Ù × Ö ÔØ Ò ¸ ×Ø ÓÖÖ Ø ØÙØ Ò ÕÙ ÔÖÓ Ö Ñ Ö× Ý ÒÓ ×Ô ¬ Ö× ÓÑÓ Ù Ð ×Óº Ò ÐÑ ÒØ ¸ Ð ¬ÐØÖÓ ×Ö ÓÒ× Ö Ð Ñ ÒØ Ñ × Ú ÐÓÞ ÕÙ ÙÒ ÓÒØÖ Ô ÖØ × Ö ÔØ Ò ÝÓ Ö ¸ Ù Ò Ó Ñ ÒÓ׸ Ó×ÓÖ Ò × Ñ Ò ØÙ º Ù Ò Ó Ñ Ò ÓÒØÖ ÒÐ ÓÒ ¬Ò Ð ×Ø Ú Ö× ÓÒ ´Å ÖÞÓ ¾¼¼ µ¸ ÙÖ Ð Þ Ö ÕÙ Ð Ø ÜØÓ ÓÒØ Ò ´Ý ÙÒ ÓÒØ Ò µ ÐÓÕÙ × noweb ÓÒ Ô ÞÓ× Ó Ó × ÒÑÙ Ó Ú ÐÓÖ Ø Ó ÔÓÖ ÑÔÐÓ¸ Ö Ô Ø Ö ÙÒ ÓÒ × ÙÝÓ × ÒØ Ó Ý Ù ÜÔÐ Ó ÒÓØÖÓ ÐÙ Ö Ô Ö ÓØÖ Ð × Ó ØÓº ÒØÓÒ × × Ò Ö ÓØÖÓ ¬ÐØÖÓ Ø ÜØÓ ÕÙÖ ÓÒÓÞ Ð Ñ Ø ÓÖ × ÒØÖÓ Ð Ù ÒØ noweb Ý ÕÙ × ÒÚÓ × ÒØ × nowebº ЬÐØÖÓ × ÒÓÑ Ò nobook¸ Ù × Ö ØÓ Ø Ñ Ò Ò flex Ý Ð Ñ Ò ¸ Ô Ö Ð × Ð Ä Ì ¸ ÐÓ× ÐÓÕÙ × Ð Ñ Ø Ó׺Cosas que faltan y sobran × ÑÙ × Ô Ö×Ô Ø Ú ×¸ × ÑÔÖ ÙÒ Ø ÜØÓ ÓÐ ÐØ Ð Óº ÕÙ × Ó Ö Ö Ö ÐÓ ÕÙ ¸ Ö Ó ¸ Ù Ö Ó Ô Ö Ø Ñ ÒØ Ö Ð Þ Ö Ý ÐÓ ÕÙ ¸ ÓÒ ÖØ ØÙ ¸ ÒÓ Öº Ö Ó × Ò Ö Ñ ÒØ ÕÙ Ð × ×ØÖÙ ØÙÖ × ØÓ× Ý Ð ÓÖ ØÑÓ× ÙÒ Ñ ÒØ Ð × ×Ø Ò ÔÖ ¹× ÒØ × Ò ×Ø Ø ÜØÓ ÙÒÕÙ × ÙÖÓ Ð ÙÒ Ô Ö × Ö Ô Ö º ÈÓÖ ÓØÖ Ô ÖØ ¸ Ñ Ø Ö Ð ÕÙ Ñ Ù Ó × ÐØÓ ÒØ Ö ×¸ ÕÙ ×Ø ÔÖ × ÒØ Ò Ð Ð ÓØ ALEPH¸ ÒÓ ×Ø ÔÖ × ÒØ Ò ×Ø Ø ÜØÓº ÄÓ× ÑÔÐÓ× Ñ × ÒÓØ Ð × ÐÐÓ ×ÓÒ Ð × Ð ×Ø × × Ô¸ ÓÐÓÖ Ó× Ö Ó׸ Ñ ÒÓ× ÙÐ Ö ÒÓ× Ý Ñ ÐØÓÒ ÒÓ׸ ×ØÖÙ ØÙÖ × Ö Ó× ÓÒ ÙÖÖ ÒØ ×¸ ÒØ × Ý× ÑÙÐ ÓÒ¸ ×ØÖÙ ØÙÖ × Ö Ó× Ý ×Ù× Ð ÓÖ ØÑÓ× × Ó× Ò ÓÐÓÒ × ÓÖÑ × Ý ¹ÓÑ ØÖ ÓÑÔÙØ ÓÒ Ðº Å Ù × Ù×Ø Ó Ò ÐÙ ÖÐ × Ò ×Ø Ð ÖÓ¸ Ô ÖÓ Ý Ñ ×Ó Ö Ô ×Ó Ð ÑÓÑ ÒØÓ Ý ÓØ Ð Ð Ñ Ø ×Ô Óº ×Ô ØÓ× ÕÙ ÒÓ ×Ø Ò × ÖÖÓÐÐ Ó× Ò ALEPH Ý ÕÙ × Ö Ò ÒÓ× Ò ÐÙ Ö× ×ÓÒÐÓ× Ô× ÓÒ ¸ Ð × Ñ Ð × Ö ÓÐ × Ó× × ×Ø Ñ × Ö ÚÓ Ý Ù×ÕÙ
  • 11. x Ò Ñ ÑÓÖ × ÙÒ Ö ´ + Ý Ö Ú Ó×µ Ý ÐÓ× Ö ÓÐ × ÕÙ ØÖ ×º Ò ×Ø Ø ÜØÓ × Ô Ð Ð Ð Ò Ù ÑÓ Ð Ó ÍÅÄ Ô Ö Ð Ø Ö Ð ÓÑÔÖ × ÓÒÖ Ð ÓÒ × ÒØÖ Ó ØÓ× º Ö Ó × Ò Ö Ñ ÒØ ÕÙ ÍÅÄ Ø Ò ÑÙ Ó Ú ÐÓÖ Ô Ö ÓÑÔÖ Ò Ö× ×Ø Ñ × ÓÑÔÐ Ó׸ Ý × ÖÖÓÐÐ Ó׸ Ý ÙÒ ÔÓ Ó Ñ ÒÓ× Ú ÐÓÖ¸ ÙÒÕÙ ÔÖ Ð ¸ Ô Ö × Ò ÖÐÓ׺ È ÖÓ Ò ÐÓ ÕÙ Ø Ò ×Ø Ø ÜØÓ Ý ×Ù× ÙÖ×Ó× Ö Ú Ó׸ ÒÓ × ØÖ × Ò ÒØÙØ Ð ºDeudasËÙ Ý ÒØ Ð ÙØÓÖ × × ÓÒ ÙÒ Ð × Ñ × Ö Ò × Ð × Ý ØÖ ÑÔ × ×ØØ ÑÔÓ Ð Ö Ó ÙØÓÖ Ý¸ Ñ × ÐÐ Ý ÖÖ ÒØ ÙÒ¸ Ð ÔÖÓÔ Ò Ù×ØÖ Ð º ÈÓÖÑ × Ö Ø Ö ÔÖ Ñ Ò ÕÙ ÔÙ Ø Ò Ö Ù ÐÕÙ Ö Ó Ö ¸ ×Ø × Ö ÙÒ× Ö Ö × ¸Ý Ô Ö ¸ ÙÒ ÙÐØÙÖ º Ä ÔÖ Ñ Ö Ù ¸ Ô٠׸ ÕÙ Ù ÐÕÙ Ö Ò Ú ÙÓ ÕÙ Ö ÓÒ ÙÒÓÖ × ×Ù ÙÐØÙÖ ¸ Ð Ù Ð Ð ÒØÖ Ð ØÖ × ÓÒ Ó Ö ÙÒ×Ø Ò Ð¸ Ò ÓÒÓ Ñ ÒØÓ×Ý × ÒØ Ñ ÒØÓ× Ý ÕÙ ÔÓ× Ð Ø Ò Ò×Ô Ö Ò Ð Ó Ö Ò Ù ×Ø ÓÒº Ò ×Ø Ñ ×ÑÓ ×Ô Ö ØÙ¸ÙÒ Ú Þ ÒØÖ Ð Ó Ö ¸ Ð × ÙÒ Ù ÕÙ Ö × Ð ÙÐØÙÖ ÕÙ Ö ÝÖ ÓÒÓ Ð Ó Ö º È Ö Ö × Ò Ó ÇÖØ Ý ×× Ø¸ ÙÒÓ × ÙÒÓ Ý ×Ù Ö ÙÒ×Ø Ò ¸ Ô ÖÓ¸ Ù ÐÕÙ Ö × ¸ Ò ×Ø × ÑÔÖ × Ò Ù ÒØÖ Ð Ò­Ù Ò ÖÙÑ ÓÖ Ð ÓØÖÓº Å × ÒØÓ¸ Ô٠׸ Ò Ö Ò Ù ÕÙ Ò × × ÒØÓ Ð × Ó ÐÓ ÕÙ ×ÓÝ Ý¸ Ò ÐÓ Ô ÖØ ÙÐ Ö ×Ø Ø ÜØÓ¸ ÕÙ ÐÐÓ× ÕÙ Ò ÖÓÒ ÑÙÝ Ö Ø Ñ ÒØ Ò ×Ù Ð ÓÖ ÓÒº Î ØÓÖ Ö ÚÓ¸ ÖÐÓ× Æ Ú ¸ ÂÙ Ò ÄÙ × Ú × Ý ÂÙ Ò ÖÐÓ× Î Ö × Ù ÖÓÒ Ñ × ÔÖ Ñ ÖÓ× × ÔÙÐÓ× Ò ×Ø Ý Ð Ö × ×Ø Ñ × ×ØÖ Ù Ó׺ Î ØÓÖ Ò×ØÖÙÑ ÒØÓ Ð ÔÖ Ñ Ö Ú Ö× ÓÒ Ð Ð × LinearHashTable<Key> ÔÖ × ÒØ Ò Ü º½º ´Ô Ò ¿¿µº ÖÐÓ× Ò×ØÖÙ¹Ñ ÒØÓ Ð ÔÖ Ñ Ö Ú Ö× ÓÒ ÙÒ × ×Ø Ñ ÓÑÙÒ ÓÒ Ð ÒÚ Ö ÙÖ ×Ù×Ø ÒØ Ó Ò ÐÙ×Ó ALEPH Ð × ×Ø Ñ ÙÒ × ÓÔ Ö Ø ÚÓ ÓÝ Ò º ÂÙ Ò ÖÐÓ× Ò×ØÖÙÑ ÒØÓ ÐÓ× Ö ÓÐ × ÎÄ Ð Ó× Ý ÓÒ Ö Ò Ó׸ ÐÓ× Ù Ð ×¸ × Ò ÒÓ ×Ø Ò ÔÖ × ÒØ × Ò ×Ø Ø ÜØÓ¸ ×Ù Ò×ØÖÙÑ ÒØ ÓÒ ÝÙ Ó Ñ ÓÖ Ö Ý ÔÙÖ Ö Ð Ð × Avl Tree<Key>º Ò Ö × Ö Ù ÙÒ Ù×Ù Ö Ó ÒØ Ò× ÚÓ ALEPH ÙÖ ÒØ Ð Ö Ð Þ ÓÒ ×Ù Ø × ×Ñ ×ØÖ ¸ ÐÓ ÕÙ Ñ Ô ÖÑ Ø Ó Ú Ö ×Ô ØÓ× ÕÙ ÐÙ Ó Ò ÖÓÒ Ò ÜØ Ò× ÓÒ × Ý Ñ ÓÖ × Ð Ð ÓØ º Ä ÓÒ Ö Ó ÙÒ ¸ Ð Ñ Ö ÓÒØÖ Ö × Ý ÖÐÓ× Ó×Ø Ö Ð Þ ÖÓÒ treepic¸ ÔÖ ÙÖ×ÓÖ btreepic ÙÒ ÔÖÓ Ö Ñ Ô Ö Ù Ö ÐÓ× Ö ÓÐ × Ò Ö Ó× ×Ø Ð ÖÓº ÂÓ× Ö ØÓ × Ö Ó xtreepic¸ ÔÖ ÙÖ×ÓÖ ntreepic¸ Ù× Ó Ô Ö Ù Ö Ö ÓÐ × Ý Ö ÓÖ × Ò × Ò Ö Ð ×º ÂÓÖ Ê ÓÒ Ó Ý ÌÓÑ × ÄÓÔ Þ Ö Ð Þ ÖÓÒ Ð × ÔÖ Ñ Ö × ÔÖÙ × × ÑÔ ÒÓ ×Ó Ö ÐÓ× Ú Ö×Ó× Ö ÓÐ × Ò Ö Ó× Ù×ÕÙ º  ×Ù× Ë Ò Þ Ö Ð ÞÓ Ô ÖØ Ð ÑÔÐ ÒØ ÓÒ Ô Ö Ð Ð Ð ÓØ ×Ø Ò Ö C++ Ó ALEPHº Ò ÔÖÙ × × ÑÔ ÒÓ ØÖ ÓÒ Ð ×¸ Ð Ð ÓØ ×Ø Ò Ö ÓALEPH × Ñ ÓÖ × ÑÔ ÒÓ ÕÙ Ð Æͺ ÂÙ Ò Ù ÒØ × Ò×ØÖÙÑ ÒØÓ Ô ÖØ Ý ÔÙÖÓ Ð Ð × Ò Ö Ö ÓÐ Tree Node<T>ºÇÖÐ Ò Ó Î ÙÒ Ò ÓÒØÖÓ ÖÖÓÖ × ÑÔÓÖØ ÒØ × Ò ÐÓ× Ö ÓÐ × Ý ÔÐ ÒØ Ó Ð ÙÒ × ×Ù Ö Ò ×ÑÙÝ ÔÖ Ð × ×Ó Ö Ð ×Ø ÐÓ ÑÔÐ ÒØ ÓÒº Ò Ð ÓÒ ÓÒ ×Ø Ø ÜØÓ × Ò ÑÔÐ Ó ÒØ Ö Ñ ÒØ ÔÖÓ Ö Ñ × Ð Ö ×Ä Ì ½ ¸ Ì ¾½ ¸ noweb¸ Á Ì ¸ gnu make ¸ imake ½¿ ¸ gnuplot ½½ ¸ R ½ ¸Maxima ½ ¸ Xfig ¾¿ ¸ dia ¸ Umbrello ¾¾ ¸ doxygen ¸ bcpp ¿ ¸ graphviz ½¼¸ ¸ ¸
  • 12. 0.0. Bibliograf´ ıa xi ÒØÖ ÓØÖÓ׺ ×Ø Ø ÜØÓ Ý ÐÓ× ÔÖÓ Ö Ñ × Ù ÖÓÒ Ø Ó× ÓÒ gnu Emacs ¾ º ÄÓ× ÔÖÓ Ö Ñ × Ù ÖÓÒ Ñ Ò Ó× ÓÒ ØÓ Ó× ÐÓ× ÙØ Ð Ø Ö Ó× GNU ½ º ÂÙ Ò Ú Ó¸ ÈÖÓ ×ÓÖ Ð ÙÐØ ÀÙÑ Ò × Ð ÍÒ Ú Ö× ÄÓ× Ò ×¸ Ñ ×ÙÔ ÖÚ ×Ó ÐÓ× ÓÑ ÒØ Ö Ó× Ø ÑÓÐÓ Ó× Ò Ð Ø Ò Ý Ö Óº Ð ÙÒ × Ú ×¸ Ð Ó × ÖÚ Ö Ð ÙÒÓ× ×ØÓ× Ý Ø ØÙ × Ò × ÔÙÐÓ׸ Ñ Ô Ö ÒÓØ ÖÐ × Ð ÙÒ × Ñ × Ò× Ò ÒÞ × ÐÓ ÕÙ ÚÓ Ð Ð Ò ÔÓ× Ð Ñ ÑÔÖÓÒØ º È ÖÓ ×Ø ÒÓÖ Ó Ð Ö Ö ÕÙ ×ÓÝ ÝÓ¸ Ñ × Ò¸ ÕÙ Ò ÔÓÖØ ×Ù× Ð ÓÒ × Ý¸ ÔÓÖ Ø ÒØÓ¸ ÕÙ Ò Ð × ÜÔÖ × Ö Ø ØÙ º Å × Ñ × ÑÓ× Ô Ö ×¸ Æ ÐÐÝ Ý Ð ×¸ Ò ÓÒØÖ Ù Ó ÐÓ ÕÙ Ñ ØÖ Ù Ö ÓÑÓÙÒ × Ò× Ð Ô ÖØ ÙÐ Ö Ð Ø ÒÓÐÓ º Å Ñ Ö Ð ÝÓ Ý ÓÖÖ Ó ÒØ Ö Ñ ÒØ ×ØØÖ × Ö ØÓ × ÓÑÓ ÐÐÓ׸ ÓØÖÓÖ Ñ ÓÐ × Ò ¸ Ñ Ò× Ò ÖÓÒ × Ö Ö ÙÒ ÔÓ Óº À Ó × ÖÚ Ó ÕÙ × ØÓ Ó ÙØÓÖ Ð ÖÓ Ø ÜØÓ Ø Ò Ó ÜÔÖ × Ö Ñ ÒØÓ× ×Ù Ñ Ð ´ ×ÔÓ×Ó´ µ Ó´ µ´×µµº Ò Ð ØÖ Ò× ÙÖ×Ó ×Ø ÓÒ Ñ Ô Ö Ø ÕÙ ÐÐÓÔÖÓ Ð Ñ ÒØ Ó Þ ÕÙ ÐÐÓ׸ Ò Ñ ×Ó ÓÒ × Ö ÖÖ ×ÔÓÒ× Ð Ò Ð Ò ¸ÙÒÓ Ð × ÓÐÚ º ÈÓÖ Ö ÞÓÒ × ÑÙÝ ÒØ Ñ ×¸ Ô Ö Ò Ø Ò ×¸ ÒÓ ÔÙ Ó Ñ Ö Ò ÜÔÖ × Ö ÓÑÓ Ý Ù ÒØÓ ×ÓÝ Ö × Ñ ×ÔÓ× ¸ Šи Ô ÖÓ × ÔÙ Ó Ð Ñ Ö ÕÙ ÒÓ × Ö Ò× Ò ÐÐ º Ë ÔÙ × ÓÒ Ý ÐÐ ¸ ÔÓÖ ×Ù ÑÓÖ Ý ×Ù Ô Ö ÓÒ¸ Ñ Ñ ÝÓÖ Ý ÔÖ Ò Ô Ð Ùººº Ý Ö Ø ØÙ ºBibliograf´ ıa ½ ØØÔ »»ÛÛÛº ÒÙºÓÖ º ¾ ØØÔ »»ÛÛÛº ÒÙºÓÖ »×Ó ØÛ Ö » Ñ ×»º ¿ ØØÔ »» ÒÚ × Ð ¹ ×Ð Ò ºÒ Ø» ÔÔº ØØÔ »»ÛÛÛº Ø ÒºÓÖ º ØØÔ »»ÛÛÛº Ñ ºÓÖ º ØØÔ »»ÛÛÛº ÒÓÑ ºÓÖ »ÔÖÓ Ø×» º ØØÔ »»ÛÛÛº ÓÜÝ ÒºÓÖ º ÐÐ×ÓÒ¸ Ò×Ò Ö¸ ÃÓÙØ×Ó¬Ó׸ ÆÓÖØ ¸ Ò ÏÓÓ ÙÐк Ö Ô Ú Þ ß ÓÔ Ò ×ÓÙÖ Ö Ô Ö Û Ò ØÓÓÐ׺ ÁÒ Ê ÏÁÆ ÓÒ Ö Ò ÓÒ Ö Ô Ö Û Ò ´ µ¸ ¾¼¼½º ÂÓ Ò ÐÐ×ÓÒ¸ Ñ Ò Êº Ò×Ò Ö¸ Ð Ø Ö Ó× ÃÓÙØ×Ó¬Ó׸ ËØ Ô Ò º ÆÓÖØ ¸ Ò ÓÖ¹ ÓÒ ÏÓÓ ÙÐк Ö Ô Ú Þ Ò ÝÒ Ö Ô ß ×Ø Ø Ò ÝÒ Ñ Ö Ô Ö Û Ò ØÓÓÐ׸ ¾¼¼¿º½¼ Ñ Ò Ò×Ò Ö¸ Ð Ø Ö Ó× ÃÓÙØ×Ó¬Ó׸ Ò ËØ Ô Ò ÆÓÖØ º Ö Û Ò Ö Ô × Û Ø dotº Ì Ò Ð Ö ÔÓÖظ Ì²Ì ÐÐ Ä ÓÖ ØÓÖ ×¸ ÅÙÖÖ Ý À Ðи Ƹ ÍË ¸ ÖÙ ÖÝ ¾¼¼¾º½½ ØØÔ »»ÛÛÛº ÒÙÔÐÓغ Ò Óº½¾ Ú Êº À Ò×ÓÒ Ò Ö ×ØÓÔ Ö Ïº Ö × Öº Ê Ø Ö Ø Ð ÓÑÔ Ð Ö × Ò Ò ÁÑÔÐ Ñ ÒØ Ø ÓÒº ×ÓÒ Ï ×Рݸ ½ º
  • 13. xii½¿ ØØÔ »»ÜÓÖ º Ö × ØÓÔºÓÖ º½ Ò Ö Û Äº ÂÓ Ò×ÓÒ Ò Ö º ÂÓ Ò×ÓÒº Ä Ø Ö Ø ÔÖÓ Ö ÑÑ Ò Ù× Ò ÒÓÛ º Ä ÒÙÜ ÂÓÙÖÒ Ð¸ Ô × ß ¸ Ó ØÓ Ö ½ º½ ÓÒ Ð º ÃÒÙØ º Ä Ø Ö Ø ÔÖÓ Ö ÑÑ Ò º Ì ÓÑÔÙØ Ö ÂÓÙÖÒ Ð¸ ¾ ´¾µ ß½½½¸ ½ º½ ØØÔ »»ÛÛÛº Ø ÒºÓÖ º½ ØØÔ »»Ñ Ü Ñ º×ÓÙÖ ÓÖ ºÒ غ½ ÛÛÛº ØØÔ »»Ö¹ÔÖÓ ØºÓÖ º½ ÆÓÖÑ Ò Ê Ñ× Ýº Ä Ø Ö Ø ÔÖÓ Ö ÑÑ Ò × ÑÔÐ ¬ º Á ËÓ ØÛ Ö ¸ ½½´ µ ß½¼ ¸ Ë ÔØ Ñ Ö ½ º¾¼ ÃÓÞÓ ËÙ Ý Ñ º Ö Ô Ö Û Ò Ò ÔÔÐ Ø ÓÒ× ÓÖ ËÓ ØÛ Ö Ò Ò Ö Ò Ò ÃÒÓÛÐ Ò Ò Ö׸ ÚÓÐÙÑ ½½ Ó ËÓ ØÛ Ö Ò Ò Ö Ò Ò ÃÒÓÛÐ Ò ¹ Ò Ö Ò º ÏÓÖÐ Ë ÒØ ¬ ¸ ¾¼¼¾º¾½ ØØÔ »»ØÙ ºÓÖ »Ø Ø Ü»º¾¾ ØØÔ »»ÛÛÛº ºÓÖ º¾¿ ØØÔ »»ÛÛۺܬ ºÓÖ º
  • 14. Contenido ÐÓ Ö ººººººººººººººººººººººººººººººººººººººº Ü1 Abstracci´n de datos o 1 ½º½ ×Ô ¬ ÓÒ × ØÓ× º º º º º º º º º º º º º º º º º º º º º ºº º º º º º º ¿ ½º½º½ Ì ÔÓ ×ØÖ ØÓ ØÓ º º º º º º º º º º º º º º º º º º ºº º º º º º º ½º½º¾ ÆÓ ÓÒ Ð × Ó ØÓ º º º º º º º º º º º º º º º º ºº º º º º º º ½º½º¿ ÄÓ ×Ù Ø ÚÓ ÙÒ Ó ØÓ º º º º º º º º º º º º º º º º ºº º º º º º º ½º½º ÍÒ ÑÔÐÓ Ì º º º º º º º º º º º º º º º º º º º ºº º º º º º º ½º½º Ð Ð Ò Ù ÍÅÄ º º º º º º º º º º º º º º º º º º º º º ºº º º º º º º ½¼ ½º¾ À Ö Ò º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º ºº º º º º º º ½½ ½º¾º½ Ì ÔÓ× ÖÒ ººººººººººººººººººº º ºº º º º º º º ½¾ ½º¾º¾ ÅÙÐØ Ö Ò º º º º º º º º º º º º º º º º º º º º º º º ºº º º º º º º ½¿ ½º¾º¿ ÈÓÐ ÑÓÖ¬×ÑÓ º º º º º º º º º º º º º º º º º º º º º º º ºº º º º º º º ½¿ ½º¾º¿º½ ÈÓÐ ÑÓÖ¬×ÑÓ ×Ó Ö Ö º º º º º º º º º º ºº º º º º º º ½ ½º¾º¿º¾ ÈÓÐ ÑÓÖ¬×ÑÓ ÖÒ ºººººººººº º ºº º º º º º º ½ ½º¾º¿º¿ ÈÓÐ ÑÓÖ¬×ÑÓ ÔÐ ÒØ ÐÐ ´Ø ÔÓ× Ô Ö Ñ ØÖ Þ Ó×µ º º º º º º ½ ½º¾º¿º ÄÓ Ò Ö Ð Ý ÐÓ Ò Ö Ó º º º º º º º º º º º ººº º º º º º º ½ ½º¿ Ð ÔÖÓ Ð Ñ ÙÒ Ñ ÒØ Ð ×ØÖÙ ØÙÖ × ØÓ× º º º º º º ººº º º º º º º ½ ½º¿º½ ÓÑÔ Ö ÓÒ Ò Ö Ð ÒØÖ Ð Ú × º º º º º º º º º º º ººº º º º º º º ½ ½º¿º¾ ÇÔ Ö ÓÒ × Ô Ö ÓÒ ÙÒØÓ× ÓÖ Ò Ð × º º º º º º º º ººº º º º º º º ¾¼ ½º¿º¿ Ö ÙÒ×Ø Ò × Ð ÔÖÓ Ð Ñ ÙÒ Ñ ÒØ Ð º º º º º º ººº º º º º º º ¾¼ ½º¿º ÈÖ × ÒØ ÓÒ × Ð ÔÖÓ Ð Ñ ÙÒ Ñ ÒØ Ð º º º º º º ººº º º º º º º ¾½ ½º × ÒÓ ØÓ× Ý ×ØÖ ÓÒ × º º º º º º º º º º º º º º º º ººº º º º º º º ¾½ ½º º½ Ì ÔÓ× ×ØÖ ÓÒ º º º º º º º º º º º º º º º º º º ººº º º º º º º ¾½ ½º º¾ Ð ÔÖ Ò Ô Ó ¬Ò¹ ¹¬Ò º º º º º º º º º º º º º º º º º º ººº º º º º º º ¾¾ ½º º¿ ÁÒ Ù ÓÒ Ý Ù ÓÒ º º º º º º º º º º º º º º º º º ººº º º º º º º ¾¿ ½º º Ç ÙÐØ Ñ ÒØÓ Ò ÓÖÑ ÓÒ º º º º º º º º º º º º º ººº º º º º º º ¾ ½º ÆÓØ × Ý Ö ÓÑ Ò ÓÒ × Ð Ó Ö ¬ × º º º º º º º º º º º º ººº º º º º º º ¾ ½º Ö Ó× º º º º º º º º º º º º º º º º º º º º º º º º º º º º ººº º º º º º º ¾ ÐÓ Ö ºººººººººººººººººººººººººººººº ººº º º º º º º ¾2 Secuencias 29 ¾º½ ÖÖ ÐÓ× º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º ¿¼ ¾º½º½ ÇÔ Ö ÓÒ × × × ÓÒ ÖÖ ÐÓ× º º º º º º º º º º º º º º º º º º º º ¿½ ¾º½º½º½ Ö ØÑ Ø ÔÙÒØ ÖÓ× º º º º º º º º º º º º º º º º º º º º ¿½ ¾º½º½º¾ Ù×ÕÙ ÔÓÖ Ð Ú º º º º º º º º º º º º º º º º º º º º º º ¿¾ ¾º½º½º¿ ÁÒ× Ö ÓÒ ÔÓÖ Ð Ú º º º º º º º º º º º º º º º º º º º º º º º ¿¿ Ü
  • 15. xiv CONTENIDO ¾º½º½º Ð Ñ Ò ÓÒ ÔÓÖ Ð Ú º º º º º º º º º º º º º º ºº º º º º º ¿¿ ¾º½º¾ Å Ò Ó Ñ ÑÓÖ Ô Ö ÖÖ ÐÓ× º º º º º º º º º º º º º ºº º º º º º ¿ ¾º½º¾º½ ÖÖ ÐÓ× Ò Ñ ÑÓÖ ×Ø Ø º º º º º º º º º º ºº º º º º º ¿ ¾º½º¾º¾ ÖÖ ÐÓ× Ò Ô Ð º º º º º º º º º º º º º º º º º ºº º º º º º ¿ ¾º½º¾º¿ ÖÖ ÐÓ× Ò Ñ ÑÓÖ Ò Ñ º º º º º º º º º ºº º º º º º ¿ ¾º½º¿ ÖÖ ÐÓ× Ø× º º º º º º º º º º º º º º º º º º º º º º ºº º º º º º ¿ ¾º½º ÖÖ ÐÓ× Ò Ñ Ó× º º º º º º º º º º º º º º º º º º º º º ºº º º º º º ½ ¾º½º Ð Ì DynArray<T> º º º º º º º º º º º º º º º º º º º ºº º º º º º ½ ¾º½º º½ ×ØÖÙ ØÙÖ ØÓ× DynArray<T> º º º º º ºº º º º º º ¾ ¾º½º º¾ Å Ò Ó Ñ ÑÓÖ º º º º º º º º º º º º º º º ºº º º º º º ¾º½º º¿ ×Ô ¬ ÓÒ ÑÔÐ ÒØ ÓÒ Ñ ØÓ Ó× ÔÙ Ð Ó× º º º º º ¾º½º º ×Ó Ñ ÒØ ÓÔ Ö ÓÖ [] º º º º º º º º º º ºº º º º º º ¾º½º º Í×Ó Ð Ú ÐÓÖ ÔÓÖ ÓÑ × ÓÒ º º º º º º º º º º º º ºº º º º º º ¾º¾ ÖÖ ÐÓ× ÑÙÐØ Ñ Ò× ÓÒ Ð × º º º º º º º º º º º º º º º º º º º º ºº º º º º º ½ ¾º¿ ÁØ Ö ÓÖ × º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º ºº º º º º º ¾ ¾º Ä ×Ø × ÒÐ Þ × º º º º º º º º º º º º º º º º º º º º º º º º º º ºº º º º º º ¾º º½ Ä ×Ø × ÒÐ Þ × Ý Ð ÔÖ Ò Ô Ó ¬Ò ¬Ò º º º º º º º º º º ºº º º º º º ¾º º¾ Ð Ì Slink ´ ÒÐ × ÑÔÐ µ º º º º º º º º º º º º º º ºº º º º º º ¾º º¿ Ð Ì Snode<T> ´ÒÓ Ó × ÑÔÐ µ º º º º º º º º º º º º ºº º º º º º ½ ¾º º Ð Ì Slist<T> ´Ð ×Ø × ÑÔÐ Ñ ÒØ ÒÐ Þ µ º º º º ºº º º º º º ¾ ¾º º ÁØ Ö ÓÖ Slist<T> º º º º º º º º º º º º º º º º º º º ºº º º º º º ¿ ¾º º Ð Ì DynSlist<T> º º º º º º º º º º º º º º º º º º º ºº º º º º º ¾º º Ð Ì Dlink ´ ÒÐ Óе ººººººººººººººº ºº º º º º º ¾º º Ð Ì Dnode<T> ´ÒÓ Ó Ó Ð µ º º º º º º º º º º º º º ºº º º º º º ¾º º Ð Ì Dlist<T> ´Ð ×Ø Ö ÙÐ Ö Ó Ð Ñ ÒØ ÒÐ Þ µ ºº º º º º º ¾º º º½ Ð ÔÖÓ Ð Ñ ÐÓ× ×ØÖÙ ØÓÖ × Ú ÖØÙ Ð × º º º ºº º º º º º ¾º º º¾ ÁØ Ö ÓÖ Dlist<T> º º º º º º º º º º º º º º ºº º º º º º ¾ ¾º º½¼ Ð Ì DynDlist<T> º º º º º º º º º º º º º º º º º º º ºº º º º º º ¿ ¾º º½¼º½ ÁØ Ö ÓÖ DynDlist<T> º º º º º º º º º º º º ºº º º º º º ¾º º½½ ÔÐ ÓÒ Ö ØÑ Ø ÔÓÐ ÒÓÑ Ó× º º º º º º º º º º º ºº º º º º º ½¼¼ ¾º º½½º½ ÁÑÔÐ Ñ ÒØ ÓÒ ÔÓÐ ÒÓÑ Ó× º º º º º º º º º ºº º º º º º ½¼½ ¾º È Ð × º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º ºº º º º º º ½¼ ¾º º½ Ê ÔÖ × ÒØ ÓÒ × ÙÒ Ô Ð Ò Ñ ÑÓÖ º º º º º º º º ºº º º º º º ½¼ ¾º º¾ Ð Ì ArrayStack<T> ´Ô Ð Ú ØÓÖ Þ µ º º º º º º º ºº º º º º º ½¼ ¾º º¿ Ð Ì ListStack<T> ´Ô Ð ÓÒ Ð ×Ø × ÒÐ Þ ×µ º º º ºº º º º º º ½½¾ ¾º º Ð Ì DynListStack<T> º º º º º º º º º º º º º º º º ºº º º º º º ½½ ¾º º ÔÐ ÓÒ ÙÒ Ú ÐÙ ÓÖ ÜÔÖ × ÓÒ × Ö ØÑ Ø × Ò¬ × º º º º º ½½ ¾º º È Ð ×¸ ÐÐ Ñ × ÔÖÓ Ñ ÒØÓ× Ý Ö ÙÖ× ÓÒ º º º º º º ºº º º º º º ½¾¾ ¾º º º½ ÓÒ× Ó× Ô Ö Ð Ö ÙÖ× ÓÒ º º º º º º º º º º º ºº º º º º º ½¾ ¾º º º¾ Ð Ñ Ò ÓÒ Ð Ö ÙÖ× ÓÒ º º º º º º º º º º º ºº º º º º º ½¾ ¾º ÓÐ × º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º ºº º º º º º ½¿½ ¾º º½ Î Ö ÒØ × Ð × ÓÐ × º º º º º º º º º º º º º º º º º º º ºº º º º º º ½¿¾ ¾º º¾ ÔÐ ÓÒ × Ð × ÓÐ × º º º º º º º º º º º º º º º º º º ºº º º º º º ½¿¾ ¾º º¿ Ê ÔÖ × ÒØ ÓÒ × Ò Ñ ÑÓÖ Ð × ÓÐ × º º º º º º º º ºº º º º º º ½¿¿ ¾º º Ð Ì ArrayQueue<T> ´ ÓÐ Ú ØÓÖ Þ µ º º º º º º º ºº º º º º º ½¿ ¾º º Ð Ì ListQueue<T> ´ ÓÐ ÓÒ Ð ×Ø × ÒÐ Þ ×µ º º º ºº º º º º º ½¿
  • 16. CONTENIDO xv ¾º º Ð Ì DynListQueue<T> ´ ÓÐ Ò Ñ ÓÒ Ð ×Ø × ÒÐ Þ ×µ º º ½¼ ¾º ×ØÖÙ ØÙÖ × ØÓ× ÓÑ Ò × ¹ ÅÙÐØ Ð ×Ø × º º º ºººº ººººº º ºº º º ½½ ¾º ÆÓØ × Ð Ó Ö ¬ × º º º º º º º º º º º º º º º º º º ºººº ººººº º ºº º º ½¿ ¾º Ö Ó× º º º º º º º º º º º º º º º º º º º º º º º ºººº ººººº º ºº º º ½ ÐÓ Ö ººººººººººººººººººººººº º º ºººº ººººº º ºº º º ½3 Cr´ ıtica de algoritmos 157 ¿º½ Ò Ð × × Ð ÓÖ ØÑÓ× º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º ½ ¿º½º½ ÍÒ Ó Ô ×Ó Ù ÓÒ º º º º º º º º º º º º º º º º º º º º º º º ½½ ¿º½º¾ Ð Ö ØÓÖ ×Ó Ö ÐÓ× Ñ ØÓ Ó× ÓÖ Ò Ñ ÒØÓ º º º º º º º º º º º º ½¾ ¿º½º¿ ÇÖ Ò Ñ ÒØÓ ÔÓÖ × Ð ÓÒ º º º º º º º º º º º º º º º º º º º º º º º ½¾ ¿º½º Ù×ÕÙ × Ù Ò Ð º º º º º º º º º º º º º º º º º º º º º º º º º º º ½ ¿º½º ÁÑÔÐ ÒØ ÓÒ Ð ÔÖÓ Ð Ñ ÙÒ Ñ ÒØ Ð Ñ ÒØ DynArray<T> º º ½ ¿º½º Ù×ÕÙ ÜØÖ ÑÓ× º º º º º º º º º º º º º º º º º º º º º º º º º º ½ ¿º½º ÆÓØ ÓÒ O º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º ½ ¿º½º º½ Ð Ö O º º º º º º º º º º º º º º º º º º º º º º º º º º ½¾ ¿º½º º¾ Ò Ð × × Ð ÓÖ ØÑÓ× Ñ ÒØ O º º º º º º º º º º º º º º ½¾ ¿º½º ÇÖ Ò Ñ ÒØÓ ÔÓÖ Ò× Ö ÓÒ º º º º º º º º º º º º º º º º º º º º º º º ½ ¿º½º Ù×ÕÙ ÒÖ ººººººººººººººººººººººººººº º º ½ ¿º½º½¼ ÖÖÓÖ × Ð ÒÓØ ÓÒ O º º º º º º º º º º º º º º º º º º º º º º º º º ½ ¿º½º½½ Ì ÔÓ× Ò Ð × × º º º º º º º º º º º º º º º º º º º º º º º º º º º º º ½¼ ¿º¾ Ð ÓÖ ØÑÓ× Ú Ö» ÓÑ Ò Ö º º º º º º º º º º º º º º º º º º º º º º º º º º ½¼ ¿º¾º½ ÇÖ Ò Ñ ÒØÓ ÔÓÖ Ñ Þ Ð º º º º º º º º º º º º º º º º º º º º º º º º ½¾ ¿º¾º½º½ Å Þ Ð ´Ñ Ö µ º º º º º º º º º º º º º º º º º º º º º º º º º ½¾ ¿º¾º½º¾ Ò Ð × × Ð Ñ Ö ×ÓÖØ º º º º º º º º º º º º º º º º º º º º º ½ ¿º¾º½º¿ ×Ø Ð Ð Ñ Ö ×ÓÖØ º º º º º º º º º º º º º º º º º º º ½ ¿º¾º½º Ó×Ø Ò ×Ô Ó º º º º º º º º º º º º º º º º º º º º º º º º ½ ¿º¾º½º ÇÖ Ò Ñ ÒØÓ ÔÓÖ Ñ Þ Ð Ð ×Ø × ÒÐ Þ × º º º º º º º º ½ ¿º¾º¾ ÇÖ Ò Ñ ÒØÓ Ö Ô Ó ´ÉÙ ×ÓÖص º º º º º º º º º º º º º º º º º º º º ½ ¿º¾º¾º½ È ÖØ ÓÒ º º º º º º º º º º º º º º º º º º º º º º º º º º º º ½ ¿º¾º¾º¾ Ò Ð × × Ð ÕÙ ×ÓÖØ º º º º º º º º º º º º º º º º º º º º º ½ ¿º¾º¾º¿ Ò Ð × × ÓÒ×ÙÑÓ ×Ô Ó Ð ÕÙ ×ÓÖØ º º º º º º º º ½ ¿º¾º¾º Ë Ð ÓÒ Ð Ô ÚÓØ º º º º º º º º º º º º º º º º º º º º º º ½¾ ¿º¾º¾º ÉÙ ×ÓÖØ × Ò Ö ÙÖ× ÓÒ º º º º º º º º º º º º º º º º º º º º ½¿ ¿º¾º¾º ÉÙ ×ÓÖØ ×Ó Ö Ð ×Ø × ÒÐ Þ × º º º º º º º º º º º º º º º ½ ¿º¾º¾º Å ÓÖ × Ð ÕÙ ×ÓÖØ º º º º º º º º º º º º º º º º º º º º º º ½ ¿º¾º¾º ÐÚ×ÖÔ Ø × º º º º º º º º º º º º º º º º º º º º º º º º ½ ¿º¾º¾º ÉÙ ×ÓÖØ ÓÒ ÙÖÖ ÒØ Ó Ô Ö Ð ÐÓ º º º º º º º º º º º º º º º ½ ¿º¾º¾º½¼ Ù×ÕÙ Ð ØÓÖ ÐÚ ºººººººººººººººº º º ½ ¿º¾º¾º½½ Ë Ð ÓÒ Ð ØÓÖ ×Ó Ö × Ù Ò ×ÓÖ Ò × º º º º º º ½ ¿º¿ Ò Ð × × ÑÓÖØ Þ Ó º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º ¾¼¼ ¿º¿º½ Ò Ð × × ÔÓØ Ò Ð º º º º º º º º º º º º º º º º º º º º º º º º º º º º º ¾¼½ ¿º¿º¾ Ò Ð × × ÓÒØ Ð º º º º º º º º º º º º º º º º º º º º º º º º º º º º º ¾¼ ¿º¿º¿ Ë Ð ÓÒ Ð ÔÓØ Ò Ð Ó Ö ØÓ× º º º º º º º º º º º º º º º º º º º º ¾¼ ¿º ÓÖÖ Ø ØÙ Ð ÓÖ ØÑÓ× º º º º º º º º º º º º º º º º º º º º º º º º º º º º ¾¼ ¿º º½ ÈÐ ÒØ Ñ ÒØÓ ÙÒ ÑÓ×ØÖ ÓÒ ÓÖÖ Ø ØÙ º º º º º º º º º º ¾¼
  • 17. xvi CONTENIDO ¿º º¾ Ì ÔÓ× ÖÖÓÖ × º º º º º º º º º º º º º º º º º º º º º º º º º º º º º ¾¼ ¿º º¿ ÈÖ Ú Ò ÓÒ Ý Ø ÓÒ ÖÖÓÖ × º º º º º º º º º º º º º º º º º º º º ¾¼ ¿º º¿º½ × ÔÐ Ò ÔÖÓ Ö Ñ ÓÒ º º º º º º º º º º º º º º º º º º ¾¼ ¿º º¿º¾ Ò Ð × × ×Ø Ø Ó º º º º º º º º º º º º º º º º º º º º º º º º ¾½¿ ¿º º¿º¿ Ò Ð × × Ò Ñ Ó º º º º º º º º º º º º º º º º º º º º º º º ¾½ ¿º ¬ Ý ¬ Ò ºººººººººººººº º º º º º º º º º º º º º º º º º º ¾¾¿ ¿º º½ Ä Ö Ð Ð ¼¹¾¼ º º º º º º º º º º º º º º º º º º º º º º º º º º º º ¾¾ ¿º º¾ Ù Ò Ó Ø ÖÐ ¬ Ò ºººº º º º º º º º º º º º º º º º º º º ¾¾ ¿º º¿ Å Ò Ö × Ñ ÓÖ Ö Ð ¬ Ò º º º º º º º º º º º º º º º º º º º º ¾¾ ¿º º È Ö¬Ð ´ÔÖÓ¬Ð Ò µ º º º º º º º º º º º º º º º º º º º º º º º º º º º º ¾¾ ¿º º ÄÓ Ð Ö ÖÒ ººººººº º º º º º º º º º º º º º º º º º º ¾¿¼ ¿º º Ì ÑÔÓ × ÖÖÓÐÐÓ º º º º º º º º º º º º º º º º º º º º º º º º º º º ¾¿¼ ¿º ÆÓØ × Ð Ó Ö ¬ × º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º ¾¿½ ¿º Ö Ó× º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º ¾¿¾ ÐÓ Ö ººººººººººººººººººººº º º º º º º º º º º º º º º º º º º ¾¿ ´4 Arboles 241 º½ ÓÒ ÔØÓ× × Ó× º º º º º º º º º º º º º º º º º º º º º º ººº º º º º º º º ¾ º¾ Ê ÔÖ × ÒØ ÓÒ × ÙÒ Ö ÓÐ º º º º º º º º º º º º º º º º ººº º º º º º º º ¾ º¾º½ ÓÒ ÙÒØÓ× Ò Ó× º º º º º º º º º º º º º º º º º ººº º º º º º º º ¾ º¾º¾ Ë Ù Ò × Ô Ö ÒØ Þ × º º º º º º º º º º º º º º º ººº º º º º º º º ¾ º¾º¿ ÁÒ ÒØ ÓÒ º º º º º º º º º º º º º º º º º º º º º º ººº º º º º º º º ¾ º¾º ÆÓØ ÓÒ Ûݺ º º º º º º º º º º º º º º º º º ººº º º º º º º º ¾ º¿ Ê ÔÖ × ÒØ ÓÒ × Ö ÓÐ × Ò Ñ ÑÓÖ º º º º º º º º º º ººº º º º º º º º ¾ ¼ º¿º½ Ä ×Ø × ÒÐ Þ × º º º º º º º º º º º º º º º º º º º ººº º º º º º º º ¾ ¼ º¿º¾ ÖÖ ÐÓ× º º º º º º º º º º º º º º º º º º º º º º º º ººº º º º º º º º ¾ ½ º Ö ÓÐ × Ò Ö Ó× º º º º º º º º º º º º º º º º º º º º º º º ººº º º º º º º º ¾ ¾ º º½ Ê ÔÖ × ÒØ ÓÒ Ò Ñ ÑÓÖ ÙÒ Ö ÓÐ Ò Ö Ó º º ººº º º º º º º º ¾ ¿ º º¾ Ê ÓÖÖ Ó× ×Ó Ö Ö ÓÐ × Ò Ö Ó× º º º º º º º º º º ººº º º º º º º º ¾ ¿ º º¿ ÍÒ Ì Ò Ö Ó Ô Ö Ö ÓÐ × Ò Ö Ó× º º º º º º ººº º º º º º º º ¾ ºº ÓÒØ Ò ÓÖ ÙÒ ÓÒ × ×Ó Ö Ö ÓÐ × Ò Ö Ó× º º ººº º º º º º º º ¾ ¾ º º Ê ÓÖÖ Ó× Ö ÙÖ× ÚÓ× º º º º º º º º º º º º º º º º º ººº º º º º º º º ¾ ¿ º º Ê ÓÖÖ Ó× ÒÓ Ö ÙÖ× ÚÓ× º º º º º º º º º º º º º º º ººº º º º º º º º ¾ ºº Ð ÙÐÓ Ð Ö Ò Ð ºººººººººººººº ººº º º º º º º º ¾ ºº Ð ÙÐÓ Ð ÐØÙÖ º º º º º º º º º º º º º º º º º ººº º º º º º º º ¾ ºº ÓÔ Ö ÓÐ × Ò Ö Ó× º º º º º º º º º º º º º º ººº º º º º º º º ¾ º º½¼ ×ØÖÙ ÓÒ Ö ÓÐ × Ò Ö Ó× º º º º º º º º º º º ººº º º º º º º º ¾ º º½½ ÓÑÔ Ö ÓÒ Ö ÓÐ × Ò Ö Ó× º º º º º º º º º º ººº º º º º º º º ¾ º º½½º½ Ë Ñ Ð Ö ººººººººººººººººº ººº º º º º º º º ¾ º º½½º¾ ÕÙ Ú Ð Ò º º º º º º º º º º º º º º º º ººº º º º º º º º ¾ º º½¾ Ê ÓÖÖ Ó ÔÓÖ Ò Ú Ð × º º º º º º º º º º º º º º º º º ººº º º º º º º º ¾ ¼ º º½¿ ÓÒ×ØÖÙ ÓÒ Ö ÓÐ × Ò Ö Ó× Ô ÖØ Ö Ö ÓÖÖ Ó× º º º º º º º º ¾ ½ º º½ ÓÒ ÙÒØÓ ÒÓ Ó× Ò ÙÒ Ò Ú Ð º º º º º º º º º º º ººº º º º º º º º ¾ ¿ º º½ À Ð Ó Ö ÓÐ × Ò Ö Ó× º º º º º º º º º º º º º º ººº º º º º º º º ¾ º º½ Ê ÓÖÖ Ó× Ô× Ù Ó¹ Ð Ó× º º º º º º º º º º º º º º ººº º º º º º º º ¾ º º½ ÓÖÖ ×ÔÓÒ Ò ÒØÖ Ö ÓÐ × Ò Ö Ó× Ý m¹Ö Ó× º ººº º º º º º º º ¾
  • 18. CONTENIDO xvii º ÍÒ Ì Ò Ö Ó Ô Ö Ö ÓÐ × º º º º º º º º º º º º º º º º º º º º º º º º º ¾¿ º º½ Ç × ÖÚ ÓÖ × Tree Node<T> º º º º º º º º º º º º º º º º º º º º ¾ º º¾ ÅÓ ¬ ÓÖ × Tree Node<T> º º º º º º º º º º º º º º º º º º º º ¾ º º¿ Ç × ÖÚ ÓÖ × Ö ÓÐ × º º º º º º º º º º º º º º º º º º º º º º º º º ¾ º º Ê ÓÖÖ Ó× ×Ó Ö Tree Node<T> º º º º º º º º º º º º º º º º º º º º ¾ ºº ×ØÖÙ ÓÒ Tree Node<T> º º º º º º º º º º º º º º º º º º º º º ¾ ºº Ù×ÕÙ ÔÓÖ ÒÙÑ ÖÓ ÛÝ ººººººººººººººººººº º ¾¼ ºº Ð ÙÐÓ Ð ÒÙÑ ÖÓ Ûݺºººººººººººººººººººº º ¾¼ ºº ÓÖÖ ×ÔÓÒ Ò ÒØÖ Tree Node<T> Ý Ö ÓÐ × Ò Ö Ó× º º º º º º º ¾¾ º Ð ÙÒÓ× ÓÒ ÔØÓ× Ñ Ø Ñ Ø Ó× ÐÓ× Ö ÓÐ × º º º º º º º º º º º º º º º º º ¾ º º½ ÐØÙÖ ÙÒ Ö ÓÐ º º º º º º º º º º º º º º º º º º º º º º º º º º º º ¾ º º¾ ÄÓÒ ØÙ Ð Ñ ÒÓ ÒØ ÖÒÓ» ÜØ ÖÒÓ º º º º º º º º º º º º º º º º º º ¾ º º¿ Ö ÓÐ × ÓÑÔÐ ØÓ× º º º º º º º º º º º º º º º º º º º º º º º º º º º º ¾ º À Ô× º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º ¿¼½ º º½ ÁÒ× Ö ÓÒ Ò ÙÒ Ô º º º º º º º º º º º º º º º º º º º º º º º º º º º ¿¼¿ º º¾ Ð Ñ Ò ÓÒ Ò ÙÒ Ô º º º º º º º º º º º º º º º º º º º º º º º º º ¿¼ º º¿ ÓÐ × ÔÖ ÓÖ ººººººººººººººººººººººººººº º ¿¼ º º¿º½ ÅÓ ¬ ÓÒ ÔÖ ÓÖ ºººººººººººººººººº º ¿¼ º º À Ô×ÓÖØ º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º ¿¼ ºº ÔÐ ÓÒ × ÐÓ× Ô× º º º º º º º º º º º º º º º º º º º º º º º º ¿½¼ ºº Ð Ì BinHeap<Key> º º º º º º º º º º º º º º º º º º º º º º º º º ¿½¾ º º º½ ÁÒØ Ö Ñ Ó ÒØÖ ÒÓ Ó× º º º º º º º º º º º º º º º º º º º º ¿½ º º º¾ ÁÒ× Ö ÓÒ Ò BinHeap<Key> º º º º º º º º º º º º º º º º º ¿½ º º º¿ Ð Ñ Ò ÓÒ Ð Ñ Ò ÑÓ Ð Ñ ÒØÓ ÙÒ BinHeap<Key> º º ¿½ ººº ØÙ Ð Þ ÓÒ Ò ÙÒ Ô º º º º º º º º º º º º º º º º º º º ¿½ ººº Ð Ñ Ò ÓÒ Ù ÐÕÙ Ö Ð Ñ ÒØÓ Ò ÙÒ BinHeap<Key> º ¿½ ººº ×ØÖÙ ÓÒ BinHeap<Key> º º º º º º º º º º º º º º º º ¿½ º ÒÙÑ Ö ÓÒ Ý Ó Ó× Ö ÓÐ × º º º º º º º º º º º º º º º º º º º º º º º ¿¾¼ º º¼º Ó Ó× ÙÒ Ö ÓÐ Ò Ö Ó º º º º º º º º º º º º º º º º º ¿¾½ º º¼º Ó Ó× ººººººººººººººººººººººº º ¿¾ º º½ ÆÙÑ ÖÓ× ØÐÒ ºººººººººººººººººººººººººº º ¿¾ º Ö ÓÐ × Ò Ö Ó× Ù×ÕÙ º º º º º º º º º º º º º º º º º º º º º º º º º º ¿¿¼ º º½ Ù×ÕÙ Ò ÙÒ ººººººººººººººººººººººººº º ¿¿¾ º º½º½ Ù×ÕÙ Ð Ñ ÒÓÖ Ý Ð Ñ ÝÓÖ Ð Ñ ÒØÓ ÙÒ º º ¿¿¿ º º½º¾ Ù×ÕÙ Ð ÔÖ ×ÓÖ Ý ×Ù ×ÓÖ º º º º º º º º º º º º º º ¿¿ º º½º¿ Ù×ÕÙ × ×Ô Ð × ×Ó Ö ÙÒ ºººººººººººº º ¿¿ º º¾ Ð Ì BinTree<Key> º º º º º º º º º º º º º º º º º º º º º º º º º ¿¿ º º¿ ÁÒ× Ö ÓÒ Ò ÙÒ ºººººººººººººººººººººººººº º ¿¿ º º È ÖØ ÓÒ ÙÒ ÔÓÖ Ð Ú ´×ÔРص º º º º º º º º º º º º º º º º º ¿¿ º º ÍÒ ÓÒ Ü ÐÙ× Ú ´ Ó Ò Ü ÐÙ× ÚÓµ º º º º º º º º º º º º º º º º ¿½ ºº Ð Ñ Ò ÓÒ Ò ÙÒ ºººººººººººººººººººººººº º ¿¾ º º ÁÒ× Ö ÓÒ Ò Ö Þ ÙÒ ººººººººººººººººººººº º ¿¿ º º ÍÒ ÓÒ ´ Ó Òµ º º º º º º º º º º º º º º º º º º º º º º º º º º º ¿ ºº Ò Ð × × ÐÓ× Ö ÓÐ × Ò Ö Ó× Ù×ÕÙ º º º º º º º º º º º º º º ¿ º½¼ Ð Ì DynMapTree<Tree, Key, Range, Compare> º º º º º º º º º º º º ¿ º½½ ÜØ Ò× ÓÒ × ÐÓ× Ö ÓÐ × Ò Ö Ó× º º º º º º º º º º º º º º º º º º º º º º º º ¿¿
  • 19. xviii CONTENIDO º½½º½ Ë Ð ÓÒ ÔÓÖ ÔÓ× ÓÒ º º º º º º º º º º º º º º º º º º º º º º º º º º ¿ º½½º¾ Ð ÙÐÓ Ð ÔÓ× ÓÒ Ò¬ º º º º º º º º º º º º º º º º º º º º º º º ¿ º½½º¿ ÁÒ× Ö ÓÒ ÔÓÖ Ð Ú Ò Ö ÓÐ Ò Ö Ó ÜØ Ò Ó º º º º º º º º º º º º º ¿ º½½º È ÖØ ÓÒ ÔÓÖ Ð Ú º º º º º º º º º º º º º º º º º º º º º º º º º º º º ¿ º½½º ÁÒ× Ö ÓÒ Ò Ö Þ º º º º º º º º º º º º º º º º º º º º º º º º º º º º º ¿ º½½º È ÖØ ÓÒ ÔÓÖ ÔÓ× ÓÒ º º º º º º º º º º º º º º º º º º º º º º º º º º ¿ º½½º ÁÒ× Ö ÓÒ ÔÓÖ ÔÓ× ÓÒ º º º º º º º º º º º º º º º º º º º º º º º º º º ¿ º½½º ÍÒ ÓÒ Ü ÐÙ× Ú Ö ÓÐ × ÜØ Ò Ó× º º º º º º º º º º º º º º º º º ¿ º½½º Ð Ñ Ò ÓÒ ÔÓÖ Ð Ú Ò Ö ÓÐ × ÜØ Ò Ó× º º º º º º º º º º º º º º ¿ ¼ º½½º½¼ Ð Ñ Ò ÓÒ ÔÓÖ ÔÓ× ÓÒ Ò Ö ÓÐ × ÜØ Ò Ó× º º º º º º º º º º º º ¿ ¼ º½½º½½ × ÑÔ ÒÓ Ð × ÜØ Ò× ÓÒ × º º º º º º º º º º º º º º º º º º º º º º ¿ ½ º½¾ ÊÓØ ÓÒ Ö ÓÐ × Ò Ö Ó× º º º º º º º º º º º º º º º º º º º º º º º º º º º ¿ ½ º½¾º½ ÊÓØ ÓÒ × Ò Ö ÓÐ × Ò Ö Ó× ÜØ Ò Ó× º º º º º º º º º º º º º º º ¿ ¿ º½¿ Ó Ó× ÀÙ«Ñ Ò º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º ¿ ¿ º½¿º½ ÍÒ Ì Ô Ö Ö ÓÐ × Ó Ó º º º º º º º º º º º º º º º º º º º º º ¿ º½¿º¾ Ó ¬ ÓÒ º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º ¿ º½¿º¿ Ð ÓÖ ØÑÓ ÀÙ«Ñ Ò º º º º º º º º º º º º º º º º º º º º º º º º º º ¿ º½¿º ¬Ò ÓÒ × Ñ ÓÐÓ× Ý Ö Ù Ò × º º º º º º º º º º º º º º º º º º ¿ ¼ º½¿º Ó ¬ ÓÒ Ø ÜØÓ º º º º º º º º º º º º º º º º º º º º º º º º º º º ¿ ½ º½¿º ÇÔØ Ñ ÓÒ ÀÙ«Ñ Ò º º º º º º º º º º º º º º º º º º º º º º º º º ¿ ¿ º½¿º º½ ÓÒ ÐÙ× ÓÒ º º º º º º º º º º º º º º º º º º º º º º º º º º º ¿ º½ Ö ÓÐ × ×Ø Ø Ó× ÓÔØ ÑÓ× º º º º º º º º º º º º º º º º º º º º º º º º º º º º ¿ º½ º½ Ç Ø ÚÓ Ð ÔÖÓ Ð Ñ º º º º º º º º º º º º º º º º º º º º º º º º º º ¿ º½ º¾ ÁÑÔÐ ÒØ ÓÒ Ð ÔÖÓ Ð Ñ º º º º º º º º º º º º º º º º º º º º º º º ¿ º½ ÆÓØ × Ð Ó Ö ¬ × º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º ¿ ¾ º½ Ö Ó× º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º ¿ ÐÓ Ö ººººººººººººººººººººººººººº º º º º º º º º º º º º ¿5 Tablas hash 399 º½ Å Ò Ó ÓÐ × ÓÒ × º º º º º º º º º º º º º º º º º º º º º º º º º º º ºº º º ¼½ º½º½ Ä Ô Ö Ó Ð ÙÑÔÐ ÒÓ× º º º º º º º º º º º º º º º º º º º ºº º º ¼½ º½º¾ ×ØÖ Ø × Ñ Ò Ó ÓÐ × ÓÒ × º º º º º º º º º º º º º º º ºº º º ¼¿ º½º¿ Ò Ò Ñ ÒØÓ º º º º º º º º º º º º º º º º º º º º º º º º º ºº º º ¼¿ º½º¿º½ Ò Ò Ñ ÒØÓ × Ô Ö Ó º º º º º º º º º º º º º º º ºº º º ¼¿ º½º¿º¾ Ò Ð × × Ð Ò Ò Ñ ÒØÓ × Ô Ö Ó º º º º º º º º ºº º º ¼ º½º¿º¿ Ò Ò Ñ ÒØÓ ÖÖ Ó º º º º º º º º º º º º º º º ºº º º ½½ º½º¿º Ò Ð × × Ò ÓÖÑ Ð Ð Ò Ò Ñ ÒØÓ ÖÖ Ó º º º º ºº º º ½¾ º½º Ö ÓÒ Ñ ÒØÓ ÖØÓ º º º º º º º º º º º º º º º º º º º º ºº º º ½ º½º º½ ËÓÒ Ó Ð ´×ÓÒ Ó ÙÒ ÓÖÑ µ º º º º º º º º º º º ºº º º ½ º½º º¾ ËÓÒ Ó Ð Ò Ð º º º º º º º º º º º º º º º º º º º º º º ºº º º ½ º½º º¿ Ò Ð × × Ò ÓÖÑ Ð Ð ×ÓÒ Ó Ð Ò Ð º º º º º º º º º º ºº º º ¾¼ º½º º ËÓÒ Ó Ù Ö Ø Ó º º º º º º º º º º º º º º º º º º º ºº º º ¾¿ º½º º ÓÐ × ººººººººººººººººººººº º º ºº º º ¾ º½º º Ò Ð × × Ò ÓÖÑ Ð Ð Ó Ð × º º º º º º º º º º º ºº º º ¾ º½º Ê Ù×Ø Ñ Ò× ÓÒ Ò ÙÒ Ø Ð × º º º º º º º º º º º ºº º º ¿¼ º½º Å Ò Ó Ò Ñ Ó Ù Ø × ´Ì DynLhashTable<Key, Record>µ ¿¾
  • 20. CONTENIDO xix º½º Ì Ð × × ÐÒ Ð × º º º º º º º º º º º º º º º º º º º ºº º º º º º º ¿¿ º½º º½ ÜÔ Ò× ÓÒ» ÓÒØÖ ÓÒ ÙÒ Ø Ð × Ð Ò Ð º º º º º º ¿ º½º º¾ Ù×ÕÙ Ò LinearHashTable<Key> º º º ºº º º º º º º ¿ º½º º¿ ÁÒ× Ö ÓÒ Ò LinearHashTable<Key> º º º º ºº º º º º º º ¼ º½º º Ð Ñ Ò ÓÒ Ò LinearHashTable<Key> º º ºº º º º º º º ¼ º½º º Ò Ð × × Ð ×Ô Ö× ÓÒ Ð Ò Ð º º º º º º º º ºº º º º º º º ¼ º¾ ÙÒ ÓÒ × × º º º º º º º º º º º º º º º º º º º º º º º º º º ºº º º º º º º º¾º½ ÁÒØ Ö Þ Ð ÙÒ ÓÒ × º º º º º º º º º º º º º º º º ºº º º º º º º º¾º¾ ÀÓÐ ÙÖ ×Ô Ö× ÓÒ º º º º º º º º º º º º º º º º º º ºº º º º º º º º¾º¿ ÈÐ Ó Ó Ó Ð Ó Ð Ú º º º º º º º º º º º º º º º ºº º º º º º º º¾º À ÙÖ ×Ø × ×Ô Ö× ÓÒ º º º º º º º º º º º º º º º º ºº º º º º º º º¾º º½ ×Ô Ö× ÓÒ ÔÓÖ Ú × ÓÒ º º º º º º º º º º º º ºº º º º º º º º¾º º¾ ×Ô Ö× ÓÒ ÔÓÖ ÑÙÐØ ÔÐ ÓÒ º º º º º º º º º ºº º º º º º º º¾º ×Ô Ö× ÓÒ Ò× Ö ØÖ× ºººººººººº ºº º º º º º º ½ º¾º ×Ô Ö× ÓÒ ÙÒ Ú Ö× Ð º º º º º º º º º º º º º º º º º º º ºº º º º º º º ½ º¾º ×Ô Ö× ÓÒ Ô Ö Ø º º º º º º º º º º º º º º º º º º º º ºº º º º º º º ¾ º¿ ÇØÖÓ× Ù×Ó× Ð × Ø Ð × × Ý Ð ×Ô Ö× ÓÒ º º º º º º º º ºº º º º º º º ¿ º¿º½ Á ÒØ ¬ ÓÒ Ò× ºººººººººººººººº ºº º º º º º º ¿ º¿º¾ ËÙÔ ÖØÖ Þ º º º º º º º º º º º º º º º º º º º º º º º º ºº º º º º º º º¿º¿ ´ Ð Ì Hash Cache<Key,Data> µ º º º º º º º ºº º º º º º º º ÆÓØ × Ð Ó Ö ¬ × º º º º º º º º º º º º º º º º º º º º º º º º ºº º º º º º º º Ö Ó× º º º º º º º º º º º º º º º º º º º º º º º º º º º º º ºº º º º º º º ÐÓ Ö ººººººººººººººººººººººººººººººº ºº º º º º º º ¼ ´6 Arboles de b´squeda equilibrados u 473 º½ ÕÙ Ð Ö Ó Ö ÓÐ × º º º º º º º º º º º º º º º º º ºº º º º º º º º º º º º º º¾ Ö ÓÐ × Ð ØÓÖ Þ Ó× º º º º º º º º º º º º º º º º º ºº º º º º º º º º º º º º º¾º½ Ð Ì Rand Tree<Key> º º º º º º º º º º ºº º º º º º º º º º º º º º¾º½º½ ÁÒ× Ö ÓÒ Ò ÙÒ ºººººº ºº º º º º º º º º º º º º º¾º½º¾ Ð Ñ Ò ÓÒ Ò ÙÒ ººººº ºº º º º º º º º º º º º º ¼ º¾º¾ Ò Ð × × ÐÓ× Ö ÓÐ × Ð ØÓÖ Þ Ó× º º º º ºº º º º º º º º º º º º º ¾ º¿ ÌÖ Ô× º º º º º º º º º º º º º º º º º º º º º º º º º ºº º º º º º º º º º º º º º¿º½ Ð Ì Treap<Key> º º º º º º º º º º º º ºº º º º º º º º º º º º º º¿º¾ ÁÒ× Ö ÓÒ Ò ÙÒ ØÖ Ô º º º º º º º º º º º º ºº º º º º º º º º º º º º º¿º¿ Ð Ñ Ò ÓÒ Ò ØÖ Ô º º º º º º º º º º º º º ºº º º º º º º º º º º º º ¼ º¿º Ò Ð × × ÐÓ× ØÖ Ô× º º º º º º º º º º º º º ºº º º º º º º º º º º º º ¾ º¿º ÈÖ ÓÖ × ÑÔÐ Ø × º º º º º º º º º º º º ºº º º º º º º º º º º º º º Ö ÓÐ × ÎÄ º º º º º º º º º º º º º º º º º º º º º ºº º º º º º º º º º º º º º º½ Ð Ì Avl Tree<Key> º º º º º º º º º º ºº º º º º º º º º º º º º º º½º½ ÁÒ× Ö ÓÒ Ò ÙÒ Ö ÓÐ ÎÄ º º º º ºº º º º º º º º º º º º º º º½º¾ Ð Ñ Ò ÓÒ Ò ÙÒ Ö ÓÐ ÎÄ º º º ºº º º º º º º º º º º º º ¼½ º º¾ Ò Ð × × ÐÓ× Ö ÓÐ × ÎÄ º º º º º º º º º ºº º º º º º º º º º º º º ¼ º º¾º½ Ö ÓÐ × ÓÒ ººººººº ºº º º º º º º º º º º º º ¼ º º¾º¾ ÑÓ×ØÖ ÓÒ Ð ÔÖÓÔÓ× ÓÒ º º º º º º º º º º º º º º ½½ º Ö ÓÐ × ÖÓ Ó¹Ò ÖÓ º º º º º º º º º º º º º º º º º º ºº º º º º º º º º º º º º ½¿ º º½ Ð Ì Rb Tree<Key> º º º º º º º º º º º ºº º º º º º º º º º º º º ½
  • 21. xx CONTENIDO º º½º½ ÁÒ× Ö ÓÒ Ò ÙÒ Ö ÓÐ ÖÓ Ó¹Ò ÖÓ º º º º º º º º º º º º º º º ½ º º½º¾ Ð Ñ Ò ÓÒ Ò ÙÒ Ö ÓÐ ÖÓ Ó¹Ò ÖÓ º º º º º º º º º º º º º ¾¼ º º¾ Ò Ð × × ÐÓ× Ö ÓÐ × ÖÓ Ó¹Ò ÖÓ º º º º º º º º º º º º º º º º º º º º ¾ º Ö ÓÐ × ×ÔÐ Ý º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º ¿¼ º º½ Ð Ì Splay Tree<Key> º º º º º º º º º º º º º º º º º º º º º º º ¿¾ º º¾ Ò Ð × × ÐÓ× Ö ÓÐ × ×ÔÐ Ý º º º º º º º º º º º º º º º º º º º º º º º ¿ º ÓÒ ÐÙ× ÓÒ º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º ¾ º ÆÓØ × Ð Ó Ö ¬ × º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º Ö Ó× º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º ÐÓ Ö ºººººººººººººººººººººººººº º º º º º º º º º º º º º7 Grafos 559 º½ ÙÒ Ñ ÒØÓ× º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º ½ º¾ ×ØÖÙ ØÙÖ × ØÓ× Ô Ö Ö ÔÖ × ÒØ Ö Ö Ó× º º º º º º º º º º º º º º º º º º º¾º½ Å ØÖ × Ý Ò ººººººººººººººººººº º º º º º º º¾º¾ Ä ×Ø × Ý Ò ººººººººººººººººººººº º º º º º º º¿ ÍÒ Ì Ô Ö Ö Ó× ´List Graph<Node, Arc>µ º º º º º º º º º º º º º º º º¿º½ Ö Ó× º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º ¼ º¿º¾ Ö Ó× ´List Digraph<Node, Arc>µ º º º º º º º º º º º º º º º º ½ º¿º¿ ÆÓ Ó× º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º ½ º¿º¿º½ ÁÒ× Ö ÓÒ ÒÓ Ó× º º º º º º º º º º º º º º º º º º º º º º º ¾ º¿º¿º¾ Ð Ñ Ò ÓÒ ÒÓ Ó× º º º º º º º º º º º º º º º º º º º º º ¾ º¿º¿º¿ ×Ó ÐÓ× ÒÓ Ó× ÙÒ Ö Ó º º º º º º º º º º º º º º º º ¿ º¿º Ö Ó× º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º¿º º½ ÁÒ× Ö ÓÒ Ö Ó× º º º º º º º º º º º º º º º º º º º º º º º º¿º º¾ Ð Ñ Ò ÓÒ Ö Ó× º º º º º º º º º º º º º º º º º º º º º º º¿º º¿ ×Ó ÐÓ× Ö Ó× ÙÒ Ö Ó º º º º º º º º º º º º º º º º º¿º ØÖ ÙØÓ× ÓÒØÖÓÐ ÒÓ Ó× Ý Ö Ó× º º º º º º º º º º º º º º º º º ¼ º¿º º½ Ø× ÓÒØÖÓÐ º º º º º º º º º º º º º º º º º º º º º º º º º ¼ º¿º º¾ ÓÒØ ÓÖ × º º º º º º º º º º º º º º º º º º º º º º º º º º º ¿ º¿º º¿ ÓÓ × º º º º º º º º º º º º º º º º º º º º º º º º º º º º º ¿ º¿º º Ê Ò Ó ÒÓ Ó× Ý Ö Ó× º º º º º º º º º º º º º º º º º º º º¿º Å ÖÓ× ×Ó ÒÓ Ó× Ý Ö Ó× º º º º º º º º º º º º º º º º º º º º º¿º ÓÒ×ØÖÙ ÓÒ Ý ×ØÖÙ ÓÒ List Graph<Node, Arc> º º º º º º º¿º ÇÔ Ö ÓÒ × Ò Ö × ×Ó Ö ÒÓ Ó× º º º º º º º º º º º º º º º º º º º º¿º ÇÔ Ö ÓÒ × Ò Ö × ×Ó Ö Ö Ó× º º º º º º º º º º º º º º º º º º º º¿º½¼ ÁÑÔÐ ÒØ ÓÒ List Graph<Node, Arc> º º º º º º º º º º º º º º º¿º½¼º½ ×Ó ÒÓ Ó× Ý Ö Ó× º º º º º º º º º º º º º º º º º º º º º¿º½¼º¾ Ö Ó× º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º ½ º¿º½¼º¿ ÁÒ× Ö ÓÒ ÒÓ Ó× º º º º º º º º º º º º º º º º º º º º º º º º¿º½¼º ÁÒ× Ö ÓÒ Ö Ó× º º º º º º º º º º º º º º º º º º º º º º º º¿º½¼º Ð Ñ Ò ÓÒ Ö Ó× º º º º º º º º º º º º º º º º º º º º º º º¿º½¼º Ð Ñ Ò ÓÒ ÒÓ Ó× º º º º º º º º º º º º º º º º º º º º º º¿º½¼º Ä ÑÔ Þ Ö Ó× º º º º º º º º º º º º º º º º º º º º º º º º¿º½¼º Å Ô Ó ÒÓ Ó× Ý Ö Ó× º º º º º º º º º º º º º º º º º º º º º¿º½¼º ÓÔ Ö Ó× º º º º º º º º º º º º º º º º º º º º º º º º ¼¼
  • 22. CONTENIDO xxi º¿º½¼º½¼ ÇÖ Ò Ñ ÒØÓ Ö Ó× º º º º º º º º º º º º º º º º º º º º ¼½ º Ì Ñ ÒÓ ×Ó Ö ÙÒ Ö Ó ´Path<GT>µ º º º º º º º º º º º º º º º º º º º º ¼¾ º Ê ÓÖÖ Ó× ×Ó Ö Ö Ó× º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º ¼ º º½ ÁØ Ö ÓÖ × ¬ÐØÖÓ º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º ¼ º º½º½ ÁØ Ö ÓÖ ¬ÐØÖÓ Ö Ó× ÙÒ ÒÓ Ó º º º º º º º º º º º º º º ¼ º º½º¾ ÁØ Ö ÓÖ ¬ÐØÖÓ Ö Ó× º º º º º º º º º º º º º º º º º º º º º ½¼ º º½º¿ ÁØ Ö ÓÖ ¬ÐØÖÓ ÒÓ Ó× º º º º º º º º º º º º º º º º º º º º ½¼ º º¾ Ê ÓÖÖ Ó Ò ÔÖÓ ÙÒ ººººººººººººººººº º º º º º º º ½¼ º º¿ ÓÒ Ø Ú ÒØÖ Ö Ó× º º º º º º º º º º º º º º º º º º º º º º º º ½ º º Ê ÓÖÖ Ó Ò ÑÔÐ ØÙ º º º º º º º º º º º º º º º º º º º º º º º º º º ½ º º ÈÖÙ ÐÓ× º º º º º º º º º º º º º º º º º º º º º º º º º º º º º ½ º º ÈÖÙ Ð ººººººººººººººººººº º º º º º º º ½ ºº Ù×ÕÙ Ñ ÒÓ× ÔÓÖ ÔÖÓ ÙÒ ºººººººººº º º º º º º º ¾½ º º º½ ÈÖÙ Ü ×Ø Ò º º º º º º º º º º º º º º º º º º º º º º ¾½ º º º¾ Ù×ÕÙ Ñ ÒÓ ÒØÖ Ó× ÒÓ Ó× º º º º º º º º º º º º ¾¿ ºº Ù×ÕÙ Ñ ÒÓ× ÔÓÖ ÑÔÐ ØÙ º º º º º º º º º º º º º º º º º º º ¾ ºº Ö ÓÐ × Ö ÓÖ × ÔÖÓ ÙÒ ººººººººººº º º º º º º º ¾ º º½¼ Ö ÓÐ × Ö ÓÖ × ÑÔÐ ØÙ º º º º º º º º º º º º º º º º º º º º ¿¼ º º½½ Ö ÓÐ × Ö ÓÖ × Ò ÖÖ ÐÓ× º º º º º º º º º º º º º º º º º º º º º ¿½ º º½¾ ÓÒÚ Ö× ÓÒ ÙÒ Ö ÓÐ Ö ÓÖ ÙÒ Tree Node<T> º º º º º º º º ¿¿ º º½¿ ÓÑÔÓÒ ÒØ × Ò ÓÒ ÜÓ× ÙÒ Ö Ó º º º º º º º º º º º º º º º º º º ¿ º º½ ÈÙÒØÓ× ÖØ ÙÐ ÓÒ ÙÒ Ö Ó º º º º º º º º º º º º º º º º º º º ¿ º º½ ÓÑÔÓÒ ÒØ × ÓÒ ÜÓ× ÐÓ× ÔÙÒØÓ× ÓÖØ º º º º º º º º º º º º º ¼ º º½ º½ È ÒØ Ó ÓÑÔÓÒ ÒØ × ÓÒ ÜÓ× º º º º º º º º º º º º º º º ¾ º º½ º¾ ÓÔ Ñ Ô ÓÑÔÓÒ ÒØ × ÓÒ ÜÓ× º º º º º º º º º º º Å ØÖ × Ý Ò ººººººººººººººººººººººº º º º º º º º º º½ Ð Ì Map Matrix Graph<GT> º º º º º º º º º º º º º º º º º º º º º º¾ Ð Ì Matrix Graph<GT> º º º º º º º º º º º º º º º º º º º º º º ¿ º º¿ Ð Ì Ady Mat<GT, Entry> º º º º º º º º º º º º º º º º º º º º º ºº Ð Ì Bit Mat Graph<GT> º º º º º º º º º º º º º º º º º º º º º º ºº Ð ÓÖ ØÑÓ Ï Ö× ÐÐ º º º º º º º º º º º º º º º º º º º º º º º º º º ½ º ÌÓÔ Ó× ×Ó Ö Ö Ó× Ö Ó× º º º º º º º º º º º º º º º º º º º º º º º º º º º º½ ÓÒ Ø Ú ÒØÖ Ö Ó× º º º º º º º º º º º º º º º º º º º º º º º º º¾ ÁÒÚ Ö× ÓÒ ÙÒ Ö Ó º º º º º º º º º º º º º º º º º º º º º º º º º º º¿ ÓÑÔÓÒ ÒØ × Ù ÖØ Ñ ÒØ ÓÒ ÜÓ× ÙÒ Ö Ó º º º º º º º º º º º º º¿º½ Ð ÓÖ ØÑÓ ÃÓ× Ö Ù º º º º º º º º º º º º º º º º º º º º º º¿º¾ Ð ÓÖ ØÑÓ Ì Ö Ò º º º º º º º º º º º º º º º º º º º º º º º º ÈÖÙ Ð ººººººººººººººººººº º º º º º º º ºº Ð ÙÐÓ ÐÓ× Ò ÙÒ Ö Ó º º º º º º º º º º º º º º º º º º º º º ºº Ö Ó× Ð Ó× ´ µº º º º º º º º º º º º º º º º º º º º º º º º º º º ÈÐ Ò ¬ ÓÒ Ø Ö × º º º º º º º º º º º º º º º º º º º º º º º º º º º º ÇÖ Ò Ñ ÒØÓ ØÓÔÓÐÓ Ó º º º º º º º º º º º º º º º º º º º º º º º º ¼ º Ö ÓÐ × Ö ÓÖ × Ñ Ò ÑÓ× º º º º º º º º º º º º º º º º º º º º º º º º º º º º½ ×Ó ÐÓ× Ô ×Ó× Ð Ö Ó º º º º º º º º º º º º º º º º º º º º º º º º º¾ Ð ÓÖ ØÑÓ ÃÖÙ× Ð º º º º º º º º º º º º º º º º º º º º º º º º º º º º¾º½ Ò Ð × × Ð Ð ÓÖ ØÑÓ ÃÖÙ× Ð º º º º º º º º º º º º º º ¼½
  • 23. xxii CONTENIDO º º¾º¾ ÓÖÖ Ø ØÙ Ð Ð ÓÖ ØÑÓ ÃÖÙ× Ð º º º º º º º º º º º º ¼½ º º¿ Ð ÓÖ ØÑÓ ÈÖ Ñ º º º º º º º º º º º º º º º º º º º º º º º º º º º º ¼¾ º º¿º½ ÁÒØ Ö Þ Ð Ð ÓÖ ØÑÓ ÈÖ Ñ º º º º º º º º º º º º º º º º ¼¾ º º¿º¾ À Ô Ü ÐÙ× ÚÓ Ö Ó× Ñ Ò ÑÓ× º º º º º º º º º º º º º º º ¼¾ º º¿º¿ ÁÒ Ð Þ ÓÒ Ð Ð ÓÖ ØÑÓ ÈÖ Ñ º º º º º º º º º º º º º ¼ º º¿º Ð Ð ÓÖ ØÑÓ ÈÖ Ñ º º º º º º º º º º º º º º º º º º º º º ¼ º º¿º Ò Ð × × Ð Ð ÓÖ ØÑÓ ÈÖ Ñ º º º º º º º º º º º º º º º º ¼ º º¿º ÓÖÖ Ø ØÙ Ð Ð ÓÖ ØÑÓ ÈÖ Ñ º º º º º º º º º º º º º º ¼ º Ñ ÒÓ× Ñ Ò ÑÓ× º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º ½¼ º º½ Ð ÓÖ ØÑÓ ×ØÖ º º º º º º º º º º º º º º º º º º º º º º º º º º ½½ º º½º½ ×Ø Ò ÙÑÙÐ Ò ÐÓ× ÒÓ Ó× º º º º º º º º º º º º º º ½¾ º º½º¾ ÈÓØ Ò Ð Ò ÐÓ× Ö Ó× º º º º º º º º º º º º º º º º º º º º º ½ º º½º¿ Ð Ð ÓÖ ØÑÓ ×ØÖ º º º º º º º º º º º º º º º º º º º ½ º º½º Ð ÙÐÓ ÙÒ Ñ ÒÓ Ñ Ò ÑÓ º º º º º º º º º º º º º º º º ½ º º½º ÓÖÖ Ø ØÙ Ð Ð ÓÖ ØÑÓ ×ØÖ º º º º º º º º º º º º ½ º º½º Ò Ð × × Ð Ð ÓÖ ØÑÓ ×ØÖ º º º º º º º º º º º º º º ¾¼ º º¾ Ð ÓÖ ØÑÓ ÐÓÝ ¹Ï Ö× ÐÐ º º º º º º º º º º º º º º º º º º º º º º ¾¼ º º¾º½ ÁÒØ Ö × º º º º º º º º º º º º º º º º º º º º º º º º º º º º ¾½ º º¾º¾ Ð Ð ÓÖ ØÑÓ ÐÓÝ ¹Ï Ö× ÐÐ º º º º º º º º º º º º º º º ¾¾ º º¾º¿ Ò Ð × × Ð Ð ÓÖ ØÑÓ ÐÓÝ ¹Ï Ö× ÐÐ º º º º º º º º º º ¾ º º¾º ÓÖÖ Ø ØÙ Ð Ð ÓÖ ØÑÓ ÐÓÝ ¹Ï Ö× ÐÐ º º º º º º º º ¾ º º¾º Ê ÙÔ Ö ÓÒ Ñ ÒÓ× º º º º º º º º º º º º º º º º º º º ¾ º º¿ Ð ÓÖ ØÑÓ ÐÐÑ Ò¹ ÓÖ º º º º º º º º º º º º º º º º º º º º º º º ¾ º º¿º½ ÁÒ Ð Þ ÓÒ Ð Ð ÓÖ ØÑÓ ÐÐÑ Ò¹ ÓÖ º º º º º º º º ¾ º º¿º¾ Å Ò Ó Ð Ö ÓÐ Ö ÓÖ º º º º º º º º º º º º º º º º º º ¿¼ º º¿º¿ Ð Ð ÓÖ ØÑÓ Ò Ö Ó ÐÐÑ Ò¹ ÓÖ º º º º º º º º º º º º º ¿¼ º º¿º Ð ÓÖ ØÑÓ Ñ ÓÖ Ó ÐÐÑ Ò¹ ÓÖ º º º º º º º º º º º º ¿½ º º¿º Ø ÓÒ ÐÓ× Ò Ø ÚÓ× º º º º º º º º º º º º º º º º º ¿ º º¿º ÓÒ×ØÖÙ ÓÒ Ð Ö ÓÐ Ö ÓÖ º º º º º º º º º º º º º º ¿ º º¿º Ò Ð × × Ð Ð ÓÖ ØÑÓ ÐÐÑ Ò¹ ÓÖ º º º º º º º º º º º ¿ º º¿º ÓÖÖ Ø ØÙ Ð Ð ÓÖ ØÑÓ ÐÐÑ Ò¹ ÓÖ º º º º º º º º º ¿ º º¿º Ù×ÕÙ ÐÓ× Ò Ø ÚÓ× º º º º º º º º º º º º º º º º º ¿ º º¿º½¼ Ð ÙÐÓ ÐÓ× Ò Ø ÚÓ× Ò ÙÒ Ö Ó º º º º º º º º º º ½ ºº × Ù× ÓÒ ×Ó Ö ÐÓ× Ð ÓÖ ØÑÓ× Ñ ÒÓ× Ñ Ò ÑÓ× º º º º º º º º º º ¾ º½¼ Ê × ­Ù Ó º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º ¿ º½¼º½ ¬Ò ÓÒ × Ý ÔÖÓÔ × ÙÒ Ñ ÒØ Ð × º º º º º º º º º º º º º º º ¿ º½¼º¾ Ð Ì Net Graph<TNode,TArc,T> º º º º º º º º º º º º º º º º º º º½¼º¿ Å Ò Ó× Ú Ö Ó× Ù ÒØ × Ó ×ÙÑ ÖÓ× º º º º º º º º º º º º º º º º º º½¼º ÇÔ Ö ÓÒ × ØÓÔÓÐÓ × ×Ó Ö ÙÒ Ö Ô Ø ºº º º º º º º º º º½¼º ÓÖØ × Ö º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º ¾ º½¼º ÐÙ Ó Ñ Ü ÑÓ» ÓÖØ Ñ Ò ÑÓ º º º º º º º º º º º º º º º º º º º º º º º º½¼º Ñ ÒÓ× ÙÑ ÒØÓ º º º º º º º º º º º º º º º º º º º º º º º º º º º º½¼º Ð ÙÐÓ Ð Ö Ö × Ù Ð º º º º º º º º º º º º º º º º º º º º º º º º º½¼º Ð ÙÐÓ Ñ ÒÓ× ÙÑ ÒØÓ º º º º º º º º º º º º º º º º º º º º º ½ º½¼º½¼ ÁÒ Ö Ñ ÒØÓ Ð ­Ù Ó ÔÓÖ ÙÒ Ñ ÒÓ ÙÑ ÒØÓ º º º º º º º º º º º º ¾ º½¼º½½ Ð Ð ÓÖ ØÑÓ ÓÖ ¹ ÙÐ Ö×ÓÒ º º º º º º º º º º º º º º º º º º º º º ¿
  • 24. CONTENIDO xxiii º½¼º½½º½ Ò Ð × × Ð Ð ÓÖ ØÑÓ ÓÖ ¹ ÙÐ Ö×ÓÒ º º º º º º º º º º º½¼º½¾ Ð Ð ÓÖ ØÑÓ ÑÓÒ ×¹Ã ÖÔ º º º º º º º º º º º º º º º º º º º º º º½¼º½¾º½ Ò Ð × × Ð Ð ÓÖ ØÑÓ ÑÓÒ ×¹Ã ÖÔ º º º º º º º º º º ¼ º½¼º½¿ Ð ÓÖ ØÑÓ× ÑÔÙ Ý ÔÖ ¹­Ù Ó º º º º º º º º º º º º º º º º º º º º ¾ º½¼º½¿º½ ÐØÙÖ ÙÒ ÒÓ Ó º º º º º º º º º º º º º º º º º º º º º º º ¿ º½¼º½¿º¾ Ð ÓÖ ØÑÓ Ò Ö Ó ÔÖ ¹­Ù Ó º º º º º º º º º º º º º º º º ¿ º½¼º½¿º¿ Î ÐÓÖ × Ò Ð × Ð ÙÒ ÓÒ ÐØÙÖ º º º º º º º º º º º º½¼º½¿º Å Ò Ó Ð ÓÒ ÙÒØÓ Ah º º º º º º º º º º º º º º º º º º º º º½¼º½¿º ÁÑÔÐ ÒØ ÓÒ Ð Ð ÓÖ ØÑÓ Ò Ö Ó º º º º º º º º º º º º º ¼ º½¼º½¿º Ò Ð × × Ð Ð ÓÖ ØÑÓ ÔÖ ¹­Ù Ó º º º º º º º º º º º º º º ¾ º½¼º½¿º ÑÔÙ ÔÖ ¹­Ù Ó Á Ç º º º º º º º º º º º º º º º º º º º º½¼º½¿º ÑÔÙ ÔÖ ¹­Ù Ó ÓÒ Ñ ÝÓÖ ×Ø Ò º º º º º º º º º º º½¼º½¿º ÑÔÙ ÔÖ ¹­Ù Ó ÓÒ ÓÐ Ð ØÓÖ º º º º º º º º º º º º ¾ º½¼º½¿º½¼ Ð ÓÖ ØÑÓ Ò Ö Ó ÑÔÙ ÔÖ ¹­Ù Ó ÔÓÖ Ö Ó× º º º º º½¼º½¿º½½ ÓÒ ÐÙ× ÓÒ ×Ó Ö Ð ÓÖ ØÑÓ× ÔÖ ¹­Ù Ó º º º º º º º º º º º ¼½ º½¼º½ Ð ÙÐÓ Ð ÓÖØ Ñ Ò ÑÓ º º º º º º º º º º º º º º º º º º º º º º º º ¼½ º½¼º½ ÙÑ ÒØÓ Ó ×Ñ ÒÙ ÓÒ ­Ù Ó ÙÒ Ö º º º º º º º º º º º º º º ¼ º½½ Ê Ù ÓÒ × Ð ÔÖÓ Ð Ñ Ð ­Ù Ó Ñ Ü ÑÓ º º º º º º º º º º º º º º º º º º º ¼ º½½º½ ÐÙ Ó Ñ Ü ÑÓ Ò Ö × ÒÓ¹ Ö × º º º º º º º º º º º º º º º º º º º ¼ º½½º¾ Ô × Ò ÒÓ Ó× º º º º º º º º º º º º º º º º º º º º º º º º º º ¼ º½½º¿ ÐÙ Ó Ö Ð Þ Ð º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º ½¼ º½½º Å Ü ÑÓ ÑÔ Ö Ñ ÒØÓ Ô ÖØ Ó º º º º º º º º º º º º º º º º º º º ½½ º½½º º½ ÐÙ Ó Ñ Ü ÑÓ Ý ÑÔ Ö Ñ ÒØÓ Ô ÖØ Ó º º º º º º º º º ½¿ º½½º º¾ Ò Ð × × Ð ÑÔ Ö Ñ ÒØÓ Ô ÖØ Ó ÔÓÖ ­Ù Ó Ñ Ü ÑÓ º º ½ º½½º º¿ Ð ÙÐÓ Ð ¹Ô ÖØ ÓÒ º º º º º º º º º º º º º º º º º º º ½ º½½º º ÓÒ×ØÖÙ ÓÒ Ð Ö Ô ÖØ Ø º º º º º º º º º º º º º º º ½ º½½º º ÜØÖ ÓÒ Ð ÑÔ Ö Ñ ÒØÓ Ð Ö Ñ Ü Ñ Þ ººº ½ º½½º º ÁÑÔÐ ÒØ ÓÒ ¬Ò Ð Ð ÑÔ Ö Ñ ÒØÓ Ö ÒÐ Ñ ÜÑ º º º º º º º º º º º º º º º º º º º º º º º º º º º º º ½ º½½º Ö ÙÐ ÓÒ × º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º ½ º½½º ÓÒ Ø Ú Ö Ó× º º º º º º º º º º º º º º º º º º º º º º º º º º ¾¼ º½½º º½ Ð Ø ÓÖ Ñ Å Ò Ö º º º º º º º º º º º º º º º º º º º º º ¾½ º½½º º¾ Ð ÙÐÓ Ke(G) º º º º º º º º º º º º º º º º º º º º º º º ¾½ º½½º º¿ ÁÑÔÐ ÒØ ÓÒ Ð Ð ÓÖ ØÑÓ Ð ÙÐÓ Ke(G) º º º º º º ¾¾ º½½º º Ò Ð × × Ð Ð ÓÖ ØÑÓ º½¼ º º º º º º º º º º º º º º º º º º ¾ º½½º Ð ÙÐÓ Kv(e) º º º º º º º º º º º º º º º º º º º º º º º º º º º º º ¾ º½¾ ÐÙ Ó× Ó×Ø Ñ Ò ÑÓ º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º ¾ º½¾º½ Ð Ì Net Max Flow Min Cost<TNode,TArc,T> º º º º º º º º º º ¿½ º½¾º½º½ ×Ó Ð Ó×Ø ÙÒ Ö Ó º º º º º º º º º º º º º º º º º º ¿¾ º½¾º¾ Ð ÓÖ ØÑÓ× Ñ Ü ÑÓ ­Ù Ó ÓÒ Ó×Ø Ñ Ò ÑÓ Ñ ÒØ Ð Ñ Ò ÓÒ ÐÓ× º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º ¿¿ º½¾º¾º½ Ð Ñ Ò ÓÒ ÐÓ× ÓÒ ­Ù Ó Ñ Ü ÑÓ Ò Ð º º º º º º º ¿¿ º½¾º¾º¾ Ð Ñ Ò ÓÒ ÐÓ× Ñ ÒØ ×ÙÔÖ ¹ Ö Ó Ò Ø ÚÓ º º º º ¿¿ º½¾º¿ Ò Ð × × ÐÓ× Ð ÓÖ ØÑÓ× × Ó× Ò Ð Ñ Ò ÓÒ ÐÓ× Ò Ø ÚÓ× ¿ º½¾º ÈÖÓ Ð Ñ × ÕÙ × Ö Ù Ò ÒÙÒ Ó× ­Ù Ó Ñ Ü ÑÓ Ó×Ø Ñ Ò ÑÓ º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º ¿
  • 25. xxiv CONTENIDO º½¾º º½ ÌÖ Ò×ÔÓÖØ º º º º º º º º º º º º º º º º º º º º º º º º º º º ¿ º½¾º º¾ ÌÖ × ÓÖ Ó º º º º º º º º º º º º º º º º º º º º º º º º º º º ¿ º½¾º º¿ × Ò ÓÒ ØÖ Ó× º º º º º º º º º º º º º º º º º º º º º½¾º º Ñ ÒÓ Ñ Ò ÑÓ º º º º º º º º º º º º º º º º º º º º º º º º º½¾º º ÈÐ Ò ¬ ÓÒ º º º º º º º º º º º º º º º º º º º º º º º º º º º½¿ ÈÖÓ Ö Ñ ÓÒ Ð Ò Ð º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º ¼ º½¿º½ ÓÖÑ ×Ø Ò Ö ÙÒ ÔÖÓ Ö Ñ Ð Ò Ð º º º º º º º º º º º º º º º º º ¾ º½¿º¾ Å Ò Ñ Þ ÓÒ¸ ÒÓ Ñ Ü Ñ Þ ÓÒ¸ Ð ÙÒ ÓÒ Ó Ø ÚÓ º º º º º º º º ¾ º½¿º¿ Î Ö Ð × ÓÒ Ö ×ØÖ ÓÒ × Ò Ø Ú × º º º º º º º º º º º º º º º º º º ¿ º½¿º¿º½ Ê ×ØÖ ÓÒ × ÙÐ ºººººººººººººººº º º º ¿ º½¿º Ê ×ØÖ ÓÒ × Ñ ÝÓÖ Ó Ù Ð º º º º º º º º º º º º º º º º º º º º º º º ¿ º½¿º ÍÒ ÑÔÐÓ º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º ¿ º½¿º ÓÖÑ ÓÐ ÙÒ ÔÖÓ Ö Ñ Ð Ò Ð º º º º º º º º º º º º º º º º º½¿º Ð Ñ ØÓ Ó × ÑÔÐ Ü º º º º º º º º º º º º º º º º º º º º º º º º º º º º º½¿º º½ ×ÕÙ Ñ Ò Ö Ð º º º º º º º º º º º º º º º º º º º º º º º º º½¿º º¾ ¬Ò ÓÒ Ð ÙÒ ÓÒ Ó Ø ÚÓ º º º º º º º º º º º º º º º º½¿º º¿ ¬Ò ÓÒ Ð × Ö ×ØÖ ÓÒ × º º º º º º º º º º º º º º º º º º½¿º º Ä ×ØÖÙ ØÙÖ ØÓ× º º º º º º º º º º º º º º º º º º º º º½¿º º Ë Ð ÓÒ Ð Ô ÚÓØ º º º º º º º º º º º º º º º º º º º º º º º½¿º º È ÚÓØ Ó º º º º º º º º º º º º º º º º º º º º º º º º º º º º º ¼ º½¿º ÓÒ ÐÙ× ÓÒ ×Ó Ö Ð ÔÖÓ Ö Ñ ÓÒ Ð Ò Ð º º º º º º º º º º º º º º º º ¾ º½ Ê × ­Ù Ó Ý ÔÖÓ Ö Ñ ÓÒ Ð Ò Ð º º º º º º º º º º º º º º º º º º º º º º ¾ º½ º½ ÓÒÚ Ö× ÓÒ ÙÒ Ö Ô Ø Ó×Ø × ÙÒ ÔÖÓ Ö Ñ Ð Ò Ð º º ¾ º½ º¾ Ê × Ò Ö Ð Þ × º º º º º º º º º º º º º º º º º º º º º º º º º º º ¿ º½ º¿ Ô × ÓØ × º º º º º º º º º º º º º º º º º º º º º º º º º º º½ º Ê × ÓÒ Ö ×ØÖ ÓÒ × Ð Ø Ö Ð × º º º º º º º º º º º º º º º º º º º º º½ º Ê × ÑÙÐØ ¹­Ù Ó º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º½ º Ê × ÔÖÓ × Ñ ÒØÓ º º º º º º º º º º º º º º º º º º º º º º º º º º½ º º½ Ò × ÔÖÓ Ù ÓÒ º º º º º º º º º º º º º º º º º º º º º½ Ð × ÑÔÐ Ü Ô Ö Ö × ­Ù Ó º º º º º º º º º º º º º º º º º º º º º º º º º º º½ º½ ÓÒ ÐÙ× ÓÒ ×Ó Ö Ð ÔÖÓ Ð Ñ Ð ­Ù Ó Ñ Ü ÑÓ Ó×Ø Ñ Ò ÑÓ º º º º½ ÆÓØ × Ð Ó Ö ¬ × º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º½ Ö Ó× º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º ½ ÐÓ Ö ºººººººººººººººººººººººººººººººººººº º º º´Indice de identificadores 893
  • 26. Cap´ ıtulo 1Abstracci´n de datos o ×Ø Ø ÜØÓ ÓÒ ÖÒ Ð × ÒÓ ÑÔÐ ÒØ ÓÒ ×ØÖÙ ØÙÖ × ØÓ× Ý Ð ÓÖ ØÑÓ× ÕÙ Ò×ØÖÙÑ ÒØ Ò ×ÓÐÙ ÓÒ × ÔÖÓ Ð Ñ × Ñ ÒØ ÔÖÓ Ö Ñ × ÓÑÔÙØ ÓÖº ÍÒ Ð ÓÖ ØÑÓ × ÙÒ × Ù Ò ¬Ò Ø Ò×ØÖÙ ÓÒ × ÕÙ ÓÑ Ø Ð ÓÒ× Ù ÓÒ ÙÒ¬Òº Í× ÑÓ× Ð ÓÖ ØÑÓ× Ò Ú Ö×Ó× ÓÒØ ÜØÓ× Ð Ú ÔÓÖ ÑÔÐÓ¸ Ù Ò Ó ÔÖ Ô Ö ÑÓ×ÙÒ ÔÐ ØÓ ÓÑ × ÙÒ Ð ÙÒ Ö Ø º Ä ÙÐØÙÖ ÒÓ× Ò ÙÐ Ó Ð ÙÒÓ× Ð ÓÖ ØÑÓ× ¸ ÙÐØÙÖ Ð ×¸ ÒÓ Ò ØÙÖ Ð ×½ ¸ Ô Ö × ÒÚÓÐÚ ÖÒÓ× ×Ó ÐÑ ÒØ ÔÓÖ ÑÔÐÓ׸ Ð Ð ÓÖ ØÑÓ ÓÒ Ù Ö ÙÒ ÙØÓÑÓÚ Ð Ó Ð Ð ÓÖ ØÑÓ Ô Ö ÖÙÞ Ö ÙÒ ÐÐ º Ò Ñ Ó× ÑÔÐÓ׸ Ð ¬Ò ÕÙ× ÔÐ ÒØ × ÖÖ Ö ÙÒ × Ø Óº Ë ÙÒ ÃÒÙØ ¸ Ð Ø ÖÑ ÒÓ Ð ÓÖ ØÑÓ ÔÖÓÚ Ò Ð ÒÓÑ Ö Ð Ò ×ØÖ ÐÑ Ø Ñ Ø Ó Ð¹Ã Û Ö ÞÑ ¸ Ð È Ö× ¸ Ô ÖØ Ð ØÙ Ð ÁÖ Ò¸ Ö ÓÒ Ð ÔÐ Ò Ø ÑÙÝ ÑÒÞ × Ö ÓÖÖ ÐÑÔº Ð¹Ã Û Ö ÞÑ Ø Ñ Ò ÔÖÓÚ Ò Ð Ô Ð Ö Ð Ö ¸ ÓÑ Ò Ó × Ù ÖØÓ ÔÓÖ Ú Þ ÔÖ Ñ Ö Ò Ð ØÙ Ð ÒÚ Ó Ý × ×Ø Ó ÁÖ Õº È Ö Ð ÓÒ× Ù ÓÒ ÙÒ ¬Ò × ÑÔÐ Ò Ñ Ó× º Ò Ð ×Ó ÙÒ ÔÐ ØÓ¸ ÐÓ× Ñ Ó×ÕÙ × ÙØ Ð Þ Ò ×ÓÒ ÐÓ× Ò×ØÖÙÑ ÒØÓ× Ó Ò Ò Ö ÒØ × Ð Ó Ò ÖÓ¸ ÕÙ Ò ÔÙ ÒØ ÖÔÖ Ø Ö× Ø Ñ Ò ÓÑÓ ÙÒ Ñ Ó¸ ÓÒ Ù ¸ Ò ÙÒ ÓÖ Ò ×Ô ¬ Ó¸ ÐÓ× Ò Ö ÒØ ×mediante ÐÓ× Ò×ØÖÙÑ ÒØÓ׺ Ä × Ù Ò Ù ÓÒ¸ Ó × ¸ Ð Ð ÓÖ ØÑÓ¸ × ÙÒ Ñ ÒØ ÐÔ Ö ÓÒ× Ù Ö Ð ÔÐ ØÓ Ò Ù ×Ø ÓÒº ÍÒ ÐØ Ö ÓÒ Ð ÓÖ Ò ÔÓ× Ð Ñ ÒØ ÖÖ Ö ÙÒ ÐØ Ö ÓÒ ×Ó Ö Ð × ÓÖ Ð ÔÐ ØÓº ÙÖ ÒØ Ð ÔÖ Ô Ö ÓÒ ÙÒ ÔÐ ØÓ¸ Ð Ó Ò ÖÓ Ö ÕÙ Ö Ô Ö Ö Ý Ö ÓÖ Ö Ð × Ù Ò Ù ÓÒº Ð Ö ÕÙ Ö ¸ ÔÓÖ ÑÔÐÓ¸ ×Ó Ö Ö Ð ÙÒÓ× Ð ÒÓ× ÒØ × Ñ Þ Ð ÖÐÓ× ÓÒ Ð ÖÒ º Ë ÙÒ Ð ÜÔ Ö Ò Ý Ð ÓÑÔÐ ¸ × ÔÓ× Ð ÕÙ Ð Ó Ò ÖÓ ÐÐ Ú ÒÓØ × ÕÙÑ ÑÓÖ Ò Ð ×Ø Ó ÔÖ Ô Ö ÓÒ ÔÓÖ ÑÔÐÓ¸ ÒÓØ Ö Ð ÓÖ Ò ÕÙ ÓÑ ÒÞÓ ÓÖÒ Öº Ò ØÓ Ó ÑÓÑ ÒØÓ¸ ÓÒ ÒÓØ × Ó × Ò ÐР׸ Ð Ó Ò ÖÓ Ö ÕÙ Ö Ø Ò Ö ÓÒ× Ò Ð ×Ø Ó Ò Ð Ù Ð × Ù Ð ÔÖ Ô Ö ÓÒ Ö ×Ô ØÓ ×Ù Ö Ø º È Ö ÐÐÓ¸ Ð × × ÖÚ ×Ù Ñ ÑÓÖ º Ò Ð ×Ó ÙÒ ÔÖÓ Ö Ñ ¸ Ð ÓÑÔÙØ ÓÖ ÙÒ Ó Ò ÖÓ¸ Ð Ù Ð ÙØ ¬ ÐÑ ÒØÐ × Ö Ø × ÕÙ × Ð ÔÖÓÔÓÖ ÓÒ Òº Ð ÓÑÔÙØ ÓÖ ×¸ ÒØÓÒ ×¸ ÙÒ ÙØÓÖ ÕÙ ÓÖ Ò ÞÝ Ù× Ð ÙÒÓ× Ñ Ó× Ô Ö Ð ÒÞ Ö Ð ×ÓÐÙ ÓÒ Ð ÙÒ ÔÖÓ Ð Ñ ¸ × ÙÒ Ð ÙÒ Ö ØÐÐ Ñ ÔÖÓ Ö Ñ Ý ÕÙ Ö Ù Ö ×Ø Ó× Ð ÙÐÓ× Ñ ÒØ ÙÒ Ñ ÑÓÖ º Ô ÖØ Ð È͸ ÕÙ Ò ÙÒ Ó Ò ÖÓ¸ Ð ÓÑÔÙØ ÓÖ × Ú Ð ÙÒ Ñ Ó ÙÒ ¹Ñ ÒØ Ð Ð Ñ ÑÓÖ º ÔÓÖ × ¸ Ð Ñ ÑÓÖ Ò ÖÙØÓ × ÙÒ × Ù Ò ÖÓ× Ý ÙÒÓ× ÙÝÓ× ÒØ Ó ÐÓ ÑÔ ÖØ Ð ÔÖÓ Ö Ñ ÓÖ Ò ÓÖÑ ØÓ× º ½ Ò ×ØÓ× Ø ÑÔÓ× ×ØÓ ÒÓ × Ø Ò Ó Ú Óº ÁÒ Ö Ð Ñ ÒØ ¸ Ö Ò Ô ÖØ Ð ÙÐØÙÖ × ÓÒ ÙÒ ÓÒ ÐÒ ØÙÖ º ½
  • 27. 2 Cap´ ıtulo 1. Abstracci´n de datos o Ù ÐÕÙ Ö ÔÖÓ Ö Ñ ÕÙ ÓÔ Ö Ò ÙÒ ÓÑÔÙØ ÓÖ ÔÙ Ú Ö× Ò Ó× Ô ÖØ × Ð × ÙÒ Ò×ØÖÙ ÓÒ × Ù ÓÒ Ý ÐÓ× ØÓ׺ Ä × Ò×ØÖÙ ÓÒ × ×ÓÒ Ö ×ÙÐØ Ó ÕÙ ÐÐÓ ÕÙ × Ö ÑÓ× ÓÑÓ Ó Ó Ù ÒØ º Ò Ó × ÓÒ ×¸ Ð × Ò×ØÖÙ ÓÒ × ÔÙ Ò Ò Ö¹ Ö× ÙÖ ÒØ Ð Ù ÓÒ Ð ÔÖÓ Ö Ñ º ÄÓ× ØÓ× Ö ÔÖ × ÒØ Ò Ð ×Ø Ó Ð ÙÐÓ Ò Ð ÙÒ ÑÓÑ ÒØÓ Ð Ø ÑÔÓ Ù ÓÒº Ä ÔÐ Ö ØÓ ÔÖÓÚ Ò Ð Ð Ø Ò “datum”¸ ÕÙ × Ð Ô ÖØ Ô Ó Ô × Ó Ó ´ Öµº ØÓ ÓÒÒÓØ ¸ Ô٠׸ Ð Ó ÕÙ Ù Ó Ò Ð Ô × Ó Ý ÕÙ ÒÓ× ÒØ Ö × Ö ÓÖ Ö × × Ð × ÒØ Ó ÕÙ × Ñ ÑÓÖ Þ Óº Ò Ð ×Ó Ð ÔÖÓ Ö Ñ ÓÒ¸ ÙÒ ØÓ Ö Ù Ö ÙÒ Ô ÖØ Ð ×Ø Ó Ù ÓÒ Ð ÔÖÓ Ö Ñ º Ð Ñ Ò ÑÓ Ò Ú Ð ÓÖ Ò Þ ÓÒ ÙÒ ØÓ × ×Ù “tipo”º ÍÒ Ø ÔÓ ØÓ ¬Ò ÙÒ ÓÒ ÙÒØÓ ÓÑÔÙ ×ØÓ ÔÓÖ ØÓ Ó× ÐÓ× Ú ÐÓÖ × ÕÙ ÔÙ ÕÙ Ö Ö ÙÒ Ò×Ø Ò Ð ØÓº ÍÒ Ø ÔÓ ØÓ ÔÙ ÓÒ ÓÖÑ Ö× ÔÓÖ Ú Ö Ó× Ø ÔÓ× ØÓ׺ Ò ×Ø ×Ó¸ ÐÓ Ð × ¬¹ ÑÓ× Ò ØÓ ×ØÖÙ ØÙÖ Ó Ó ×ØÖÙ ØÙÖ ØÓ× º Ò Ð ÙÒÓ× ×Ó׸ ÐÓ× ØÓ× ÔÙ Ò × Ö Ö ÙÖ× ÚÓ× ´Ö ÙÖÖ ÒØ ×¾ µ × Ö¸ × ÙÒ Ð Ø ÔÓ ØÓ¸ × Ö ÙÖÖ Ò × Ñ ×ÑÓ× Ó ÒØÖ ÐÐÓ׺ Ð ÙÒÓ× ÑÔÐÓ× Ò C++ ÔÓ Ö Ò Ö ÐÙÞ ×Ø ×ÙÒØÓº È Ö Ö ÔÖ × ÒØ Ö ÒÙÑ ÖÓ× ÒØ ÖÓ׸ × ÙØ Ð Þ Ð Ø ÔÓ ØÓ int¸ Ð Ù Ð Ò ÕÙ ×Ù Ú ÐÓÖ Ô ÖØ Ò Ð ÓÒ ÙÒØÓ Zº Ò ×Ø ×Ó ÒÓ × Ò Ö ÓÑÓ × Ö ÔÖ × ÒØ Ð Ø ÔÓ int Ò Ð Ñ ÑÓÖ ÙÒ ÓÑÔÙØ ÓÖ Ò ÔÙ Ö ØÖ Ø Ö× 19¸ 937 Ó 2535301200456458802993406410049¸ ÒØÖ Ò¬Ò ØÓ× Ú ÐÓÖ × ÔÓ× Ð ×º È Ö Ö ÔÖ × ÒØ Ö ÒÙÑ ÖÓ× Ö Ð ×¸ ÕÙ Ô ÖØ Ò Ò R¸ Ù× ÑÓ× Ð Ø ÔÓ floatº Ì ÔÓ Ñ × ÒØ Ö × ÒØ ÕÙ Ð ÒØ Ö ÓÖ ÔÓÖÕÙ ØÖ ×ÐÙ Ô ÖØ ×Ù ÑÔÐ ÒØ ÓÒ Ò Ð Ñ ÑÓÖ ÙÒ ÓÑÔÙØ ÓÖ Ù Ò Ó ÜÔÖ × ¸ Ñ ÒØ Ð ÒÓÑ Ö float¸ ÕÙ Ð Ö ÔÖ × ÒØ ÓÒ Ð ÒÙÑ ÖÓ × Ò ÔÙÒØÓ ­ÓØ ÒØ × Ö¸ ×Ø ×ØÖÙ ØÙÖ Ò ØÖ × ÑÔÓ× ÓÖÑ × Ñ Ð Ö Ð × Ù ÒØ 0 00001000 001011110010110001001010 Ë ÒÓ ÜÔÓÒ ÒØ È ÖØ Ö ÓÒ Ð Ð × ÒØ Ó ×Ø ×ØÖÙ ØÙÖ × ØÙ Ö Ö Ô Ñ ÒØ ×ÙÑ × Ñ ÒØ Ù×Ø Ð ÜÔÓÒ ÒØ Ý Ð Ô ÖØ Ö ÓÒ Ðº ÙÒÕÙ ÒÓ ÓÒÓ ÑÓ× Ð Ø Ñ ÒÓ ÐÓ× ÑÔÓ× ÒØ Ö ÓÖ ×¸ Ð ÓÒÓ Ñ ÒØÓ Ð ×ØÖÙ ØÙÖ Ý Ð Ñ Ò Ö Ñ Ò ÔÙÐ ÖÐ ÒÓ× Ð ÖØ ×Ó Ö Ð Ð Ö Ò Ú Ø Ð ÖÖÓÖ Ö ÓÒ Ó ÕÙ Ó ÙÖÖ Ù Ò Ó ØÖ ÑÓ× ÓÒ Ö ØÑ Ø ­ÓØ ÒØ º È Ö ÐÙ×ØÖ Ö ÙÒ ØÓ Ö ÙÖÖ ÒØ ÒÓ× Ú Ð Ö ÑÓ× Ð Ø ÔÓ Ð Ñ ÒØÓ × Ù Ò ¾ ¸ ÙÝ ×Ô ¬ ÓÒ Ò C++ ÔÙ ÔÐ ÒØ Ö× ÓÑÓ × Ù¾ Ð Ñ ÒØÓ × Ù Ò ¾ ≡ struct Elemento { int dato; Elemento * siguiente_elemento; }; Ð Ñ ÒØÓ × Ù Ò ¾ ÑÓ Ð Þ ÙÒ Ð Ñ ÒØÓ ÒØ ÖÓ Ô ÖØ Ò ÒØ ÙÒ × Ù Ò º ÆÓØ ÑÓ× ÕÙ Ð ØÖ ÙØÓ siguiente elemento × Ö ¬ Ö ÙÒ struct Elemento Ò Ð Ö ÓÒ Ò Ñ ÑÓÖ Ð × Ù ÒØ Ð Ñ ÒØÓ Ò Ð × Ù Ò º Ò ×Ô ÒÓи × ÓÑÓ Ò Ð Ñ ÝÓÖ ¾ Ð × Ð Ò Ù × ÖÓÑ Ò ×¸ Ü ×Ø Ð Ø ÖÑ ÒÓ Ö ÙÖÖ Ö ¸ Р٠и × ÙÒ ×Ù Ö Þ Ð Ø Ò Ö ÙÖÖÓ¸ ÓÒÒÓØ ¸ ÚÓÐÚ Ö ¸ Ö Ö × Ö º Ò Ò Ð × Ð Ö Þ × Ð Ñ ×Ñ ¸ Ô ÖÓ × Ò Ö ÙÖ×Ù׸ ÕÙ × Ò ¬ ÚÙ ÐØ ¸ Ö ØÓÖÒÓ º Ò ×Ø Ø ÜØÓ × ÔÖ Ö Ò Ö ÙÖ× ÓÒ Ò ÐÙ Ö Ö ÙÖÖ Ò º
  • 28. 1.1. Especificaciones de datos 3 Ú Ö×Ó× ÒØ Ö × × Ò Ò Ò Ð × ÒÓ ÙÒ ×ØÖÙ ØÙÖ ØÓ׺ ÒØÖ ÐÓ× Ñ ×Ø Ô Ó× ÔÓ ÑÓ× ×Ø Ö Ð ÓÑÔÖ Ò× ÓÒ Ý Ñ Ò ÔÙÐ ÓÒ Ð ÔÖÓ Ö Ñ ÔÓÖ Ô ÖØ ÐÔÖÓ Ö Ñ ÓÖ¸ Ð × ÑÔ ÒÓ Ý Ð ÔØ ÓÒ ÙÒ Ð ÓÖ ØÑÓ Ó ÓÒ ÔØÓ Ô ÖØ ÙÐ Öº Ò Ð ÑÔÐÓ Ð Ø ÔÓ float¸ Ý Ó× Ö Ø Ö ×Ø × × Ú ×º Ä ÔÖ Ñ Ö × ÕÙ Ð × ÓÔ Ö ÓÒ × Ö ØÑ Ø × ×ÓÒ ÑÙÝ Ö Ô ×º Ó¸ × ÑÔÖ ØÓÑ Ò Ø ÑÔÓ ÓÒ×Ø ÒØ Ò Ô Ò ÒØ Ð Ú ÐÓÖ Ô ÖØ ÙÐ Ö Ð ØÓº Ä × ÙÒ Ö Ø Ö ×Ø ÓÒ ÖÒ Ð ×Ô Ó × Ö¸ ØÓ Ò ÔÙÒØÓ ­ÓØ ÒØ × ÑÔÖ Ó ÙÔ Ð Ñ ×Ñ ÒØ ×Ô Ó¸ Ù ×Ø ÓÒ ÕÙ ÒÓ×Ù Ö × Ù× Ö ÑÓ× Ö ØÑ Ø Ö ØÖ Ö º È Ö ÐÓ× Ø ÔÓ× ØÓ× ÕÙ ÑÓ× ÑÔÐ ¬ Ö ´int Ý floatµ¸ ×ÔÓÒ ÑÓ×ÙÒ ÓÒ Ó ÙÐØÙÖ Ð¸ Ñ Ø Ñ Ø Ó Ý ÔÖÓ Ö Ñ ÓÒ¸ ÕÙ ÒÓ× Ô ÖÑ Ø × Ò Ð ÖÐÓ× Ý ÓÑÔÖ Ò¹ ÖÐÓ× × Ò Ò × Ø ÐÐ Ö Ñ ÒÙ Ó× Ñ ÒØ Ò ÕÙ ÓÒ× ×Ø Òº Ë ÑÓ׸ × Ò Ø Ò Ö ÕÙ Ò ÖÐÓ ÜÔÐ Ø Ñ ÒØ ¸ ÕÙ Ü ×Ø Ò Ð × ÓÔ Ö ÓÒ × Ö ØÑ Ø × ØÖ ÓÒ Ð × ×ÙÑ ¸Ö ×Ø ¸ ÔÖÓ Ù ØÓ Ý Ú × ÓÒ¸ × ÓÑÓ ÕÙ Ò Ý Ù Ð × ×ÓÒ ×Ù× Ö ×ÙÐØ Ó׺1.1 Especificaciones de datosËÙÔÓÒ ÑÓ× ÕÙ ÙÒ Ó Ò ÖÓ ÓÒ×ÙÑ Ó × × Ö Ö ÙÒ ×Ù× Ö Ø × Ô Ö ÚÙй ÖÐ ÓØÖÓ× Ó Ò ÖÓ׺ Ò ×Ø × ØÙ ÓÒ¸ × ÙÒ Ð ÓÖÔÙ× Ó Ò Ø ÚÓ ×Ù ÜÔ Ö Ò ¸ Ð Ó Ò ÖÓ ×ÙÑ ÕÙ ×Ù× Ð ØÓÖ × ÔÓ× Ò ÙÒ Ð Ò Ù ÓÑÙÒ ÕÙ Ð × Ð Ø Ö ÒØ Ò Ö Ð × Ò×ØÖÙ ÓÒ × ×Ù Ö Ø º ÈÓÖ ÑÔÐÓ¸ × Ö ÕÙ Ö ÕÙ Ð Ó Ò ÖÓ Ý ×Ù× Ð ØÓÖ × Ø Ò Ò Ð Ñ ×ÑÓ ÓÒ ÔØÓ ÐÓ ÕÙ × ÙÒ ÓÐÐ º Ò ÐÑÖÓ × ÐÒÙ ÓÑÙÒ¸ Ð Ö Ø × Ö ÔÖ × ÒÓ ÓÒØ Ò Ö Ñ Ù × ÕÙ ÐÓÕÙ Ò Ð ÙØ ÒØ º Ñ ×¸ × Ö ÓÑÔÐ Ø Ò Ð × ÒØ ÓÕÙ Ð ÙØ ÒØ ÔÖ Ô Ö ÔÐ Ò Ñ ÒØ Ð ÔÐ ØÓ Ò Ù ×Ø ÓÒº Ò Ð Ô Ö Ô ÓÒ Ð ÔÖ Ò Þ ÔÖÓ Ö Ñ ÓÒ Ü ×Ø ÙÒ Ö Ò × Ò Ð ÒØÖ Ð ¹ÓÖ Ö ÙÒ ÔÐ ØÓ Ó Ò Ý ÙØ Ö ÙÒ ÔÖÓ Ö Ñ º Ò Ó Ò × ÓÔ Ö ×Ó Ö Ó× × ÓÒ Ö Ø ×Ô Ö Ð Ô Ö Ô ÓÒ ÙÑ Ò º Ò ÔÖÓ Ö Ñ ÓÒ Ð ÓÑÔÙØ ÓÖ ÓÔ Ö ×Ó Ö ØÓ× ÓÒ Ö ¹ØÓ× Ò ×Ù Ñ ÑÓÖ ¸ Ô ÖÓ ×ØÖ ØÓ× Ô Ö ÒÙ ×ØÖ Ô Ö Ô ÓÒº ÈÖ ÙÒØ ÑÓ×ÒÓ׸ Ü ×Ø ÙÒÒÙÑ ÖÓ Ü ×Ø ÙÒ ÖÖ ÐÓ º Ò ÒÙ ×ØÖ Ñ ÒØ ¸ ÙÒ ÖÖ ÐÓ ÓÒ×Ø ØÙÝ ÙÒ ×ØÖ ÓÒÕÙ ÒÓ × ÔØ ÓÒ ÒÙ ×ØÖ Ô Ö Ô ÓÒ × Ò×ÓÖ Ðº Ò Ð ÓÑÔÙØ ÓÖ ÒÓ Ø Ò × ÒØ Ó Ð ×ØÖ ÓÒ ÖÖ ÐÓ¸ ÔÙ × ×Ø ÒÓ ÒØ Ò ÐÓ ÕÙ × ÙÒ ÒÙÑ ÖÓ Ó ÖÖ ÐÓº Ò Ð ×Ó ÐÔÖÓ Ö Ñ ÓÒ¸ × ÓÑÓ Ò ÓØÖÓ× ÓÑ Ò Ó× Ö Ú Ó× Ð Ñ Ø Ñ Ø ¸ ÙÒ ÒÙÑ ÖÓ Ó ÙÒ ÖÖ ÐÓ ×ÓÒ ÓÒ ÔØÓ× ×ØÖ ØÓ× ÕÙ ÓÒ ÓÖÑ Ò ÙÒ Ð Ò Ù ÓÑÙÒ Ô Ö ÓÑÙÒ ÖÐÓ×Ý Ô ÖÑ Ø Ö Ð ÓÒ×ØÖÙ ÓÒ Ñ × ÓÒ ÔØÓ׺ ÒØÖ ÔÖÓ Ö Ñ ÓÖ ×¸ × ÓÑÓ Ò Ð Ö ×ØÓ Ð × ÔÖ Ø ×¸ × ÑÙÝ ÑÔÓÖØ ÒØ ×ÔÓÒ Ö ÙÒ ÓÖÔÙ× ÓÑÙÒ¸ ×Ó Ö Ð Ñ Ò Ö ×ØÖ Ö¸ ÕÙ Ô ÖÑ Ø Ð ÓÑÙÒ ÓÒ Ñ Ò Ö ÓÑÓ Ò º ÓÒ× Ö ÑÓ× ÙÒ × ØÙ ÓÒ Ò Ð ÕÙ × ÑÓ× ×ÔÓÒ Ö ÙÒ ÒÙ ÚÓ Ø ÔÓ ØÓºÈÐ ÒØ ÑÓ×ÒÓ× Ó× Ð × × ÔÖ ÙÒØ × Ò Ð × Ù ÒØ ÓÖ Ò ½º Ƚ Ù Ð × ×Ù ¬Ò Ó¸ Ó ÓØÖ Ñ Ò Ö ¸ Ô Ö ÕÙ ÔÙ × ÖÚ Ö ¾º Ⱦ ÓÑÓ × ÔÙ ¬Ò Ö ÕÙ Ö ÔÖ × ÒØ Ð ØÓÄ ÔÖ Ñ Ö ÔÖ ÙÒØ ÒÓ× Ò Ð Ð× ÔÖÓ Ð Ñ Ô Ö Ð Ù Ð Ð Ø ÔÓ ØÓ × Ö ÙÒ× Ö ÓÑÓ Ô ÖØ Ð ×ÓÐÙ ÓÒº Ë ×ØÓ ÒÓ ×Ø ¬Ò Ó¸ ÒØÓÒ × ÒÓ Ø Ò Ò Ò ÙÒ× ÒØ Ó ÓÒ× Ö Ö Ð Ø ÔÓ ØÓº Ä × ÙÒ ÔÖ ÙÒØ ÒÓ× ÜÔÖ × ÕÙ × Ð Ø ÔÓ
  • 29. 4 Cap´ ıtulo 1. Abstracci´n de datos o ØÓ¸ Ô ÖÓ × qu´-es Ô Ò e Ð Ô Ö ÕÙ ×Ø × Ù× º Ë Ø Ò ÑÓ× Ð ÖÓ Ð ¬Ò¸ ÒØÓÒ ×ÙÒ ØÓ × ¬Ò × ÙÒ Ð × ÓÔ Ö ÓÒ × Ô ÖÑ × Ð × Ý ×Ù× Ö ×ÙÐØ Ó׺ ÈÓÖ ÑÔÐÓ¸ × ÒÓ× Ò ÓÒØÖ ÑÓ× Ò ÙÒ × ØÙ ÓÒ Ò Ð Ù Ð Ö ÕÙ Ö ÑÓ× Ð ÙÐÓÚ Ö Ð ÓÑÔÐ ¸ ÒØÓÒ × × × Ò Ð Ø Ò Ö ÙÒ Ø ÔÓ ØÓ ÒÙÑ ÖÓ ÓÑÔÐ Ó º ÄÄ Ñ × ÓÑÔÐ Ó ×Ø Ø ÔÓ Ý ¬Ò ÑÓ×ÐÓ ÓÑÓ ÙÒ ×ÙÑ cr + ci i | cr, ci ∈ R¸ ÓÒ Ð Ó ¬ ÒØ cr × ÐÐ Ñ Ó Ô ÖØ Ö Ð √ ci Ô ÖØ Ñ Ò Ö Ý¸ ×Ø ÙÐØ ÑÓ Ö ÔÖ × ÒØÙÒ Ö ÓÒ Ð ÒÙÑ ÖÓ Ñ Ò Ó −1 ¿º Ð Ù Ð ÕÙ ÓÒ ÐÓ× Ø ÔÓ× ÒØ Ö ÓÖ ×¸ ×Ø ¬Ò ÓÒ ×ÙÑ ÕÙ Ð Ð ØÓÖ Ù ÒØ ÓÒ ÙÒ ÙÐØÙÖ Ñ Ø Ñ Ø Ò Ð Ù Ð Ø Ò Ò × ÒØ ÓÐÓ× ÒÙÑ ÖÓ× ÓÑÔÐ Ó׺ ÓÑÓ ÓÔ Ö ÓÒ × ×Ø Ð ÑÓ× Ð ÓÒ×ÙÐØ Ð Ô ÖØ Ö Ð Ñ Ò Ö ¸ Ö ×Ô Ø Ú ¹Ñ ÒØ º1.1.1 Tipo abstracto de datoÀ ÑÓ× Ó ÕÙ ÙÒ Ø ÔÓ ØÓ Ö ÔÖ × ÒØ ÙÒ ÓÒ ÙÒØÓº Ó Ð ÔÖ ×ÙÒ ÓÒ ÙÒ × ÙÐØÙÖ Ð Ñ Ø Ñ Ø ¸ Ð Ù Ð ÓÑÔÖ Ò Ð ÓÒ ÔØÓ ÓÒ ÙÒØÓ¸ Ð Ø ÔÓ ÓÑÔÐ Ó × ¬Ò Ò ØÓÖÒÓ Ð ÒÓ ÓÒ Ñ Ø Ñ Ø ÒÙÑ ÖÓ ÓÑÔÐ Ó ÕÙ Ð Ö Ò ×Ù ÓÑÔÖ Ò× ÓÒº Ó × Ð Ò Ù ¸ Ð ÑÔÐÓ ÒØ Ö ÓÖ × Ø × Ð × ÔÖ ÙÒØ × È½ Ý È¾¸ Ö ×Ô Ø Ú Ñ ÒØ ºË ÒÓ ×ÔÙ× Ö ÑÓ× Ð ÓÖÔÙ× Ñ Ø Ñ Ø Ó ÒÙÑ ÖÓ ÓÑÔÐ Ó¸ ÒØÓÒ × ÒÓ× × Ö ÑÙÝ Ð ÒØ ÖÔÖ Ø Ö Ð × ÒØ Ó Ð Ø ÔÓ ÓÑÔÐ Ó º Ä Ñ Ø Ñ Ø ¸ × ÑÔÖ Ý Ù Ò Ó × Ý Ô × Ó ÔÓÖ ×Ù ÒØÖ Ò Ñ ÒØÓ¸ ¬Ò ÙÒ ÓÖ¹ÔÙ× Ó Ò Ø ÚÓ¸ ×Ø ÒØ ×ØÖ ØÓ ÔÓÖ ÖØÓ¸ ÕÙ ÒÓ× Ô ÖÑ Ø ¬Ò Ö Ð ÒÙ ÚÓ Ø ÔÓ ØÓºË ÒÓ× Ö Ñ Ø ÑÓ× Ð ¬Ò ÓÒ Ø ÔÓ ØÓ¸ ÒØÓÒ ×¸ × ÙÒ Ð Ñ Ø Ñ Ø ¸ ¬Ò Ö ÙÒØ ÔÓ ØÓ ×ØÖ Ò ¬Ò Ö ÙÒ ÓÒ ÙÒØÓ Ð × Ó× Ñ Ò Ö × ÕÙ Ø Ò Ð Ñ Ø Ñ ØÔÓÖ ÜØ Ò× ÓÒ Ó ÔÓÖ ÓÑÔÖ Ò× ÓÒº ¬Ò Ö ÙÒ ÓÒ ÙÒØÓ ÔÓÖ ÜØ Ò× ÓÒ × ÑÙÝ Ó Ø ÚÓ¸Ô ÖÓ¸ Ø Ñ Ò¸ ÑÙÝ Ö ÙÓ Ý¸ Ò ÑÙ Ó× ×Ó׸ ÑÔÓ× Ð Ù Ò Ó Ð ÓÒ ÙÒØÓ × Ò¬Ò ØÓ¸ÔÓÖ ÑÔÐÓº Ò Ð ×Ó Ð ÔÖÓ Ö Ñ ÓÒ¸ ÙÒ Ø ÔÓ ØÓ × ¬Ò ¸ Ô Ö Ó Ñ ÒØ ¸ÔÓÖ ÓÑÔÖ Ò× ÓÒ Ñ ÒØ ÙÒ ÓÖÑ Ñ ØÓ ÓÐÓ ÒÓÑ Ò Ø ÔÓ ×ØÖ ØÓ ØÓÓ Ì ¸ Р٠и Ò Ð Ú Ö× ÓÒ ×Ø Ø ÜØÓ¸ ÓÒ×Ø Ð × × Ù ÒØ × Ô ÖØ × ½º ÍÒ × Ö Ô ÓÒ Ð ¬Ò Ô Ö Ð Ù Ð × ×Ø Ò Ð Ø ÔÓ ØÓº ¾º ÍÒ ÓÒ ÙÒØÓ Ü ÓÑ × Ý ÔÖ ÓÒ ÓÒ × ÕÙ ¬Ò Ò Ð ÓÑ Ò Ó Ð Ø ÔÓ º ¿º ÍÒ ÒØ Ö Þ ¬Ò ÔÓÖ ØÓ × Ð × ÓÔ Ö ÓÒ × ÔÓ× Ð × ×Ó Ö Ð Ì Ò Ð Ù Ð¸ ÔÓÖ ÓÔ Ö ÓÒ¸ × ×Ø Ð Þ Ò Ó× Ø ÔÓ× ×Ô ¬ ÓÒ × Especificaci´n sint´ctica: ÒÓÑ Ö o a Ð ÓÔ Ö ÓÒ¸ Ø ÔÓ Ö ×ÙÐØ Ó Ý ÒÓÑ Ö × Ý Ø ÔÓ× ÐÓ× Ô Ö Ñ ØÖÓ׺ Especificaci´n sem´ntica: o a × Ö Ô ÓÒ ÐÓ ÕÙ Ð ÓÔ Ö ÓÒ ×Ó Ö Ð ×Ø Ó ÐÌ º Ò ×Ø Ô ÖØ ÔÙ × Ö ÙØ Ð Ò Ö Ü ÓÑ ×¸ ÔÖ ÓÒ ÓÒ × Ý ÔÓ×Ø ÓÒ ÓÒ ×º × Ò Ð ×Ø Ö ÕÙ ¸ ÓÒÓ Ó¸ ÒØ Ò Ó Ý ÔØ Ó Ð ¬Ò¸ ÕÙ Ö Ò ÓÑÔÐ ØÓ × Ò¹Ø Ó Ð × ×Ô ¬ ÓÒ × × ÒØ Ø Ý × Ñ ÒØ ÙÒ Ì º Ò ×Ø Ø ÜØÓ¸ ÒÓ× Ú Ð Ö ÑÓ× Ð ÓÒ ÔØÓ Ð × Ó ØÓ Ô Ö Ö Ð Þ Ö Ô ÖØ Ð ×Ô ¬ ÓÒº √ ¿ Ó Ð Ô Ö×Ô Ø Ú Ñ Ø Ñ Ø ¸ ÒÓ Ü ×Ø ÒØ ÖÔÖ Ø ÓÒ × Ð ÒÙÑ ÖÓ −1º ÓÑ Ò Ó Ò Ð × ÒØ Ó ÙÒ ÙÒ ÓÒ Ñ Ø Ñ Ø º
  • 30. 1.1. Especificaciones de datos 51.1.2 Noci´n de clase de objeto oÄ Ô Ð Ö Ó ØÓ ÔÖÓÚ Ò Ð Ð Ø Ò Ó ØÙÑ ´Ó ¹ ØÙÑ Ù Ó ¹ ØÙѵ¸ ÓÑÔÓ× ÓÒ Ó ¸ ÕÙ × Ò ¬ ×Ó Ö Ð ´Ð µ¸ Ö ÒØ ¸ Ý ØÙѸ ÕÙ × Ð Ô ÖØ Ô Ó Ô × Ó Ö¸ Ø ÑÓ Ö ØÓ Ý Ö Ý ÕÙ × Ò ¬ Ø Ò Ö¸ Öº × Ô٠׸ Ó ØÙÑ ´Ó ØÙѵ × ÐÓÕÙ Ý Ð Ö ÒØ ¸ ÐÓ ÕÙ × Ú × Ð ÙÒ Ó× ¸ ×Ù Ö ÜØ ÖÒ º Ò × Ñ Ð Ö ÓÒØÖ ×Ø ¸ ÐÔ Ð Ö ×Ù ØÓ ¸ Ø Ñ Ò ÔÖÓÚ Ò ÒØ Ð Ð Ø Ò ×Ù ØÙѸ ÙÝÓ ÔÖ ¬ Ó Ð Ø ÒÓ ×Ù × Ò Ð Ó¸ × Ò ¬ ÐÓ ÕÙ ×Ø Ó Ð Ó× ¸ Ó ÙÐØÓ¸ ÕÙ Ð × ÒØ ÖÒÓ Ó ÓØÖÓÑÓ Ó¸ ÒÚ × Ð Ò Ô Ö Ò º Ò ÔÖÓ Ö Ñ ÓÒ¸ × ÓÑÓ Ò ÓØÖ × Ò Ò Ö ×¸ ÐÓ Ó Ø ÚÓ¸ Ó × ¸ Ð Ö Ú × Ð ¸ × ÒÓÑ Ò ÒØ Ö Þ ÒØ Ö¹ Þ × Ö¸ ÐÓ ÕÙ ×Ø ÒØÖ Ð Ö ÐÓ ÕÙ × Ó Ö Ð ÜØ Ö ÓÖº Ò Ð ÓÒØ ÜØÓ Ð ÔÖÓ Ö Ñ ÓÒ¸ ÙÒ Ð × Ó ØÓ ¸ Ó × ÑÔÐ Ñ ÒØ Ð × ¸ × ÙÒ Ö ÔÖ × ÒØ ÓÒ Ó Ø Ú ÙÒ Ø ÔÓ ×ØÖ ØÓ ØÓ ÕÙ ¬Ò ×Ù ×Ô ¬ ÓÒ× ÒØ Ø º ÈÓÖ Ó Ø Ú ÔÖ Ø Ò ÑÓ× Ö ÕÙ ×ÓÐÓ ÒÓ× Ö Ö ÑÓ× Ð × Ô ÖØ × ÜØ ÖÒ ×¸Ú × Ð ×¸ ÕÙ Ø Ò Ö ÙÒ Ó ØÓ Ô ÖØ Ò ÒØ ÙÒ Ð × º Ò Ð ×Ó ÙÒ Ø ÔÓ ØÓ¸ Ð × Ô ÖØ × Ú × Ð × Ð × ÓÒ ÓÖÑ Ò Ð ÒÓÑ Ö Ð Ø ÔÓ¸ ÐÓ× ÒÓÑ Ö × Ð × ÓÔ Ö ÓÒ ×¸ÐÓ× ÒÓÑ Ö × ÐÓ× Ô Ö Ñ ØÖÓ׸ ÐÓ× Ø ÔÓ× ØÓ ÐÓ× Ô Ö Ñ ØÖÓ× Ý ÐÓ× Ö ×ÙÐØ Ó× Ð ×ÓÔ Ö ÓÒ × × Ö¸ ×Ù ×Ô ¬ ÓÒ × ÒØ Ø º È Ö × Ø× Ö Ð Ó ØÚ Ð ×Ô ¬ ÓÒ × ÒØ Ø ¸ × Ò × Ö Ó ÓÖ Ö ÙÒÐ Ò Ù ÓÑÙÒ ÒØÖ ÐÓ× ÔÖÓ Ö Ñ ÓÖ ×¸ Ô٠׸ ÐÓ ÓÒØÖ Ö Ó¸ × Ö ÑÙÝ Ð ÒØ ÖÔÖ Ø ÖÐ ÒØ Ö Þº ÍÒ ÙØÓÑÓÚ Ð¸ ÔÓÖ ÑÔÐÓ¸ Ø Ò ÙÒ ÒØ Ö Þ Ù×Ó ÓÒ× ×Ø ÒØ ¸ ÒØÖ ÓØÖ × Ó× ×¸ ÐÓ× Ô Ð ×¸ Ð ÚÓÐ ÒØ Ý Ð Ø Ð ÖÓº È Ö ÔÓ Ö ÓÒ Ù ÖÐÓ¸ × Ö ÕÙ Ö ÕÙ Ð ÓÒ Ù ØÓÖ ×Ø ÒØÖ Ò Ó Ò Ð ÙØ Ð Þ ÓÒ × ÒØ Ö Þº Ð Ñ ×ÑÓ ÑÓ Ó¸ Ô Ö ÕÙ ÙÒÔÖÓ Ö Ñ ÓÖ ÓÑÔÖ Ò ÙÒ ×Ô ¬ ÓÒ × ÒØ Ø ¸ ×Ø ÒØ Ò Ö Ð Ð Ò Ù ÒÕÙ × ×Ô ¬ Ð Ð × Ó Ì º Ò Ð ×Ó ×Ø Ø ÜØÓ¸ Ö Ð Þ Ö ÑÓ× ×Ô ¬ ÓÒ ×× ÒØ Ø × Ì Ò Ð Ð Ò Ù C++ Ó Ò Ö Ñ × Ð × × ÍÅĺ Ò C++¸ Ð ÑÔÐÓ Ð Ì ÓÑÔÐ Ó ÔÓ Ö ÑÓ Ð Þ Ö× Ð × Ù ÒØ ÑÓ Ó ÓÑÔÐ Ó ≡ struct Complejo { Complejo(float r, float i); Complejo(const Complejo & c); float & obtenga_parte_real(); float & obtenga_parte_imag(); }; ¬Ò × Complejo¸ Ò Ú Ö Ù× º ×Ø ¬Ò ÓÒ ×Ø Ð Ó Ø Ú Ñ ÒØ Ð ×Ô ¬ ÓÒ × ÒØ Ø ÐÌ ÓÑÔÐ Ó ¸Ð ٠и ÙÒ Ð Ð Ò Ù Ý Ð ÓÖÔÙ× Ñ Ø Ñ Ø Ó ÙÐØÙÖ Ð Ð ÒÓ ÓÒ ÒÙÑ ÖÓ ÓѹÔÐ Ó¸ ÓÑÔÐ Ø Ð ×Ô ¬ ÓÒ × ÒØ Ø ÐÌ º ÉÙ ×Ù Ó ÓÒ Ð ×Ô ¬ ÓÒ × Ñ ÒØ ×Ø ÓÑÔÐ Ø Ð ×Ô ¬ ÓÒ Ë ×ÙÑ ÑÓ× ÕÙ Ð Ð ØÓÖ Ð ×Ô ¬ ÓÒ Ð Ì ÓÑÔÐ Ó ÓÒÓ ×Ù Ñ Ø Ñ Ø Ò Ö ÒØ ¸ ÒØÓÒ × ÐÓ× ÒÓÑ Ö × Ð × ÓÔ Ö ÓÒ × Ô ÖÑ Ø Ò ÓÑÔÖ Ò Ö Ö Ø Ñ ÒØ ÕÙ ÓÔ Ö ÓÒ × Ò Ò × ÜÔÐ Ø ÖÐÓº Ü ×Ø Ð ÙÒ Ù ×Ó Ö ÐÓ ÕÙ ÐÓÔ Ö ÓÒ obtenga parte real()) Ä Ö ×ÔÙ ×Ø Ô Ò ¸ ÒØÖ ÓØÖÓ× ØÓÖ ×¸ Ð Ö Ó ×Ø × Ð Ö ØÓÖ × Ø ÑÓÐÓ × Ù ÖÓÒ × Ù ÖØ × Ò ¿ º
  • 31. 6 Cap´ ıtulo 1. Abstracci´n de datos o ÒØ Ò Ñ ÒØÓ Ñ Ø Ñ Ø Ó ÕÙ Ø Ò Ð Ù ×Ø ÓÒ ÒØ º Ë Ð Ð ØÓÖ ÒÓ ÓÒÓ Ð ÒÓ ÓÒ ÒÙÑ ÖÓ ÓÑÔÐ Ó¸ ÒØÓÒ × × Ö ÕÙ Ö Ö ÙÒ ×Ô ¬ ÓÒ × Ñ ÒØ ÕÙ Ð ÑÔ ÖØ ÐÓÕÙ × ÙÒ ÓÑÔÐ Óº ÄÓ Ó Ø ÚÓ ÔÓ× Ð Ø ÙÒ Ù Ö Ó ÓÑÙÒ ÒØÖ Ö ÒØ × Ô Ö×ÓÒ × Ö Ð ÒØ Ö¹ÔÖ Ø ÓÒ ÙÒ Ø ÔÓ ØÓº È Ö ÕÙ ×Ø Ù Ö Ó Ó ÙÖÖ ¸ × Ò × Ö Ó ÕÙ Ð × Ô Ö×ÓÒ × Ò Ù ×Ø ÓÒ Ú Ò Ó ÒØ ÖÔÖ Ø Ò ÓÑÓ Ò Ñ ÒØ Ð Ó ØÓº ÓÒ× Ù ÒØ Ñ ÒØ ¸ Ð ÒØ Ö¹ÔÖ Ø ÓÒ ÙÒ Ì ÔÒ Ð Ö Ó Ò ÕÙ ×Ù× ÒØ Ö × Ó× ÓÑÔ ÖØ Ò Ð Ð Ò Ù ÓÒÕÙ × Ö Ð ×Ù ×Ô ¬ ÓÒº1.1.3 Lo subjetivo de un objetoË ØÖ Ø ÑÓ× ÙÒ ØÓ Ò Ø ÖÑ ÒÓ× Ó Ø ÚÓ׸ ÒØÓÒ ×¸ Ò ÕÙ ÓÒ× ×Ø ØÖ Ø ÖÐÓ Ò Ø ÖÑ ÒÓ××Ù Ø ÚÓ× ÖÓ××Ó ÑÓ Ó¸ Ð Ö ×ÔÙ ×Ø × ÕÙ Ð ×Ù Ø Ú ÙÒ Ì × ØÖ Ø ÙÖ ÒØ×Ù ×Ô ¬ ÓÒ × Ñ ÒØ º Ü ×Ø Ò¸ × Ñ ÒØ ¸ ØÖ × Ù ÒØ × ×Ù Ø Ú º Ä Ú × ÓÒ¸ ÒØ ÖÔÖ Ø ÓÒ Ý¸ Ò ÓÒ× Ù Ò ¸ Ð × ÒØ Ó ÙÒ Ì ¸ Ô Ò Ð ÜÔ ¹Ö Ò Ý ÓÒÓ Ñ ÒØÓ ÕÙ Ø Ò Ð Ô Ö×ÓÒ ÕÙ ÙØ Ð Ð Ì º È ÖÓ ×ØÓ × ÑÙÝ ×Ù Ø ÚÓ¸ÔÙ × ÕÙ Ò Ø Ò ×Ù ÔÖÓÔ ÜÔ Ö Ò ¸ Ð Ù Ð ÒÓ ØÖ Ø Ö× Ó Ø Ú Ñ ÒØ º ÄÔÖ Ñ Ö Ù ÒØ ×Ù Ø Ú ×¸ ÒØÓÒ ×¸ Ð ÒØ ÖÔÖ Ø ÓÒ Ð Ù×Ù Ö Ó Ð Ì Ö ×Ù × ÒØ Óº ÉÙ Ò × Ý Ò ×ØÙ Ó ÐÑ ÒØ ÐÓ× ÒÙÑ ÖÓ× ÓÑÔÐ Ó× Ø Ò Ö Ò ÙÒ ÓÑÔÖ × ÓÒ Ð Ì ÓÑÔÐ Ó Ñ × ÓÑÓ Ò ÕÙ ÕÙ Ò × ÒÓ ÐÓ Ý Ò ×ØÙ ÓºÈ Ö ×ØÓ× ÙÐØ ÑÓ× ÔÙ × Ö Ò × Ö Ó ÓÑÔÐ Ñ ÒØ Ö Ð ×Ô ¬ ÓÒº Ò Ð ×Ó Ð Ì ÓÑÔÐ Ó × ÑÙÝ ÓÒÚ Ò ÒØ Ø Ò Ö ÙÒ ØÖ Ý ØÓÖ ×ØÙ Ó×Ñ Ø Ñ Ø Ó׺ ÈÙ ÙÒ ÔÖÓ Ö Ñ ÓÖ × Ò ×Ø ØÖ Ý ØÓÖ Ñ Ò Ö Ð Ì ÓÑÔÐ Ó Ò Ö ÒØ Ö ×Ø ÔÖ ÙÒØ Ö Ú Ð Ô Ö×Ô Ø Ú × ÓÒØÖ ØÓÖ ×º Ò ÔÖ Ñ Ö ÐÙ Ö¸ × Ð Ù×Ù Ö Ó Ð Ì ÓÑÔÐ Ó ÔØ Ð ÒØ Ö Þ¸ ÒØÓÒ ×¸ Ð × ÖÖÓÐÐÓ ÔÖÓ Ö Ñ × ÕÙ Ù× Ò ÒÙÑ ÖÓ× ÓÑÔÐ Ó× Ô ÖÑ Ø Ò Ö ÓÑÔÖ Ò× ÓÒ Ö Ð Ñ Ø Ñ Ø ÓÑÔÐ º ÑÔ ÖÓ¸ ×Ø Ù×Ù Ö Ó¸ Ð ÒÓ ×ÔÓÒ Ö Ð ÓÖÔÙ× Ñ Ø Ñ Ø ÓÖ ÕÙ Ö Ó¸ × Ñ × ÔÖÓÔ Ò×Ó ÙØ Ð Þ Ö Ð ÒØ Ö Þ Ô Ö ÙÒ ¬Ò Ö ÒØ Ð ÕÙ Ù ÓÒ Ó ÐÌ ÓÑÔÐ Ó ÔÓÖ ÑÔÐÓ¸ Ô Ö Ö ÔÖ × ÒØ Ö ÔÙÒØÓ× Ò Ð ÔÐ ÒÓ ÖØ × ÒÓº Ë Ò ×ØÓ ÔÙ Ö ÔÖ × ÒØ Ö ÙÒ ÓÖÖÓ Ó Ó¸ Ø Ñ Ò ÔÙ ÖÖ Ö Ö Ò × ÓÒ Ù× ÓÒ × ÒØÖ ÐÓ× ÔÖÓ Ö Ñ ÓÖ × Ý Ñ ÒØ Ò ÓÖ ×º Ä × ÙÒ Ù ÒØ ×Ù Ø Ú ÔÖÓÚ Ò Ð Ñ ×ÑÓ × Ò ÓÖ Ð Ì º Ð Ó ØÓÖ ×ÙÐØ ÒØ Ô Ò Ø Ñ Ò Ð ÜÔ Ö Ò Ð × Ò ÓÖº È Ö×ÓÒ × Ö ÒØ × Ø Ò Ò ÔÖÓÔÓÒ Ö ÒØ Ö × Ö ÒØ ×º Ä ÙÐØ Ñ Ù ÒØ ×Ù Ø Ú × Ö ¬ Ö Ð ÑÔÐ ÒØ ÓÒ Ð Ì º ×Ø ÒØÓ× ÔÖÓ¹ Ö Ñ ÓÖ × Ö Ð Þ Ö Ò ÑÔÐ ÒØ ÓÒ × Ö ÒØ ×º Ë Ò ×Ø × ÔÖ Ñ Ö Ñ ÒØ Ð ×Ù ¹ØÚ ÕÙ ÔÖ Ø Ò × ÓÒ Ö ÙÒ Ì ¸ ÔÙ × Ö × Ò Ð ÓÒ× Ö ÖÐ ÔÓÖ Ó× Ö ÞÓÒ × Ð Ø ÑÔÓ ÑÔÐ ÒØ ÓÒ Ý Ð Ø ÑÔÓ Ù ÓÒº Ð Ø ÑÔÓ × ÖÖÓÐÐÓ ÙÒ Ì ÔÙ × Ö Ø Ò ÜØ Ò×Ó ÕÙ ÓÑÔÖÓÑ Ø ÙÒ ÔÖÓÝ ØÓº Ò ÐÓ Ñ ÒØ ¸ Ð Ø ÑÔÓ Ù ÓÒ Ð ÔÖÓ Ö Ñ Ö ×ÙÐØ ÒØ ÔÙ × Ö Ø Ò Ð ÒØÓ ÕÙÒ × Ö Ó Ö Ô Ø Ö Ð ÑÔÐ ÒØ ÓÒ Ð Ì º Ò Ù Ð ×ÕÙ Ö ×Ø × × ØÙ ÓÒ × ÔÙ × Ö ÓÒÚ Ò ÒØ Ò Ö ÐÓ× ×Ô ØÓ× Ò Ö Ð × Ð ÑÔÐ ÒØ ÓÒº Ò Ö ×ÙÑ Ò¸ Ð × Ù ÒØ × ×Ù Ø Ú × Ø Ô ¬ Ò ÓÑÓ × Ù ½º ËÙ Ø Ú ÒØ ÖÔÖ Ø ÓÒ Ð Ù×Ù Ö Óº ¾º ËÙ Ø Ú ÒØ ÖÔÖ Ø ÓÒ Ð × Ò ÓÖº
  • 32. 1.1. Especificaciones de datos 7 ¿º ËÙ Ø Ú ÑÔÐ ÒØ ÓÒº ÈÓÖ Ñ × Ò × × ÕÙ × Ð Ð ÓÖ ÒØ ÓÒ Ó ØÓ׸ ÐÓ× ÔÖÓ Ö Ñ ÓÖ × ÕÙ× Ö ÙÒ× Ö Ò Ò × ÖÖÓÐÐÓ× ÓÓÔ Ö Ø ÚÓ× Ò ×Ø Ö ÓÒ× ÒØ × ×Ø × ×Ù Ø Ú ¹ × Ð ÑÓÑ ÒØÓ Ö Ð Þ Ö Ð ×Ô ¬ ÓÒ × Ñ ÒØ ÙÒ Ì º Ä Ò Ð ×¹Ô ¬ ÓÒ × Ñ ÒØ ×¸ ÒØÓÒ ×¸ Ù Ö× Ð ÜÔ Ø Ø Ú Ó Ò Ø Ú Ð ÖÙÔÓÔ Ö×ÓÒ × ÒÚÓÐÙ Ö × Ò Ð × ÖÖÓÐÐÓ Ý Ù×Ó ÙÒ Ì º Ë ÕÙ Ð ÖÙÔÓ¸ ÔÓÖ Ò×Ø Ò ¸ ÓÑÔÖ Ò Ð Ñ Ø Ñ Ø ÓÑÔÐ ¸ ÒØÓÒ × ÒÓ ×ÓÐÓ × ÒÒ × Ö Ó ÓÒ Ö Ò ÙÒ ×Ô ¹¬ ÓÒ × Ñ ÒØ ÕÙ ÜÔÐ ÕÙ Ð ÒÓ ÓÒ ÒÙÑ ÖÓ ÓÑÔÐ Ó¸ × ÒÓ ÕÙ ¸ Ø Ñ Ò¸ ÔÙØÓÖÒ Ö× ÑÙÝ Ø Ó×Óº Ò ×Ø ×Ó¸ Ð Ù ÒØ ×Ù Ø Ú ×ÓÐÓ × ÑÔÐ ÒØ ÓÒ¸ Р٠Р׸ ÔÖ × Ñ ÒØ ¸ Ð ×Ù Ø Ú ÕÙ ÔÖ Ø Ò Ó ÙÐØ Ö ÙÒ Ì º ÈÓÖ Ð Ö ÞÓÒ ÒØ Ö ÓÖ¸ Ð ×Ô ¬ ÓÒ × Ñ ÒØ ÒÓ × Ó Ø Ú º ÓÖ Ò¸ ÓÑÓÖ Ð Þ Ö ÙÒ ×Ô ¬ ÓÒ × Ñ ÒØ Ø Ú × Ö¸ ÕÙ ÐÓ Ö Ð ØÓ ÔØ Ö× ÒØ Ò ÔÓÖ ÙÒ ÖÙÔÓ ÔÖÓ Ö Ñ ÓÖ ×º Ê ×ÔÙ ×Ø Ö ×ÙÑ Ñ ÒØ ÙÒ Ð Ò Ù Ù Óº È Ö × ÖØ Ö Ò ØÓÖÒÓ ×Ø Ù ×Ø ÓÒ¸ × ÔÖÓÔ Ó Ñ Ò Ö ÓÑÓ Ó× ÒØ Ö¹ÐÓ ÙØÓÖ × ØÖ Ø Ò Ð ÒÓ ÓÒ ÐÓ Ó Ø ÚÓ Ý ×Ù Ø ÚÓ Ö ÙÒ Ó× ÔÖÓ Ö Ñ ÓÒÝ ÙÒ Ì º Ò Ð × ÒØ Ó Ò ÕÙ ÐÓ ÑÓ× ØÖ Ø Ó¸ ÐÓ Ó Ø ÚÓ Ð Ó× ÔÖÓ Ö Ñ × Ô Ö Ô¹Ø Ð Ð Ú × ÓÒ ÓÑÙÒ ÐÓ× ÒØ ÖÐÓ ÙØÓÖ ×¸ Ñ ÒØÖ × ÕÙ ÐÓ ×Ù Ø ÚÓ Ð × ×Ø Ó ÙÐØÓ ÐÑ ÒÓ× Ð Ñ Ö ÙÒÓ ÐÐÓ× Ó Ñ Ó׺ ÈÓÖ Ú × ÓÒ ¸ Ð Ð ØÓÖ ÒÓ ×ÙÑ Ö ÐÑ ÖÓ × ÒØ Ó × Ò×ÓÖ Ð¸ × ÒÓ Ð Ô Ô Ö Ö ÙÒ Ó× Ó ÒÓÑ ÒÓ Ñ ÒØ Ð × ×ØÖ ÓÒ × Ý ÓÒ×ØÖÙ ÓÒ × ÒØ Ð ØÙ Ð × ÕÙ Ð ÜÔ Ö Ò ÐÓ× ÒØ ÖÐÓ ÙØÓÖ × Ð ×Ô ÖÑ Ø º ÓÑÓ Ô ÖØ Ð ÜÔ Ö Ò ¸ × Ö Ø Ó ÕÙ ÐÓ× ÒØ ÖÐÓ ÙØÓÖ × Ø Ò Ò ×ØÖ Þ × ÔÖÓ Ö Ñ ÓÒ ÕÙ Ô Ö Ð ×º ËÙÔÓÒ ÑÓ× ÕÙ ÙÒ ÒØ ÖÐÓ ÙØÓÖ Ð ÔÖ × ÒØ ÙÒ Ì ÓØÖÓ º Ó× × ØÙ ÓÒ × Ò Ð × ×ÓÒ ÔÓ× Ð × ´½µ Ú ÒØ ÖÔÖ Ø Ð Ì Ð Ñ ×Ñ Ñ Ò Ö ÕÙ Ý ´¾µ ÒÓ ÐÓ ÒØ ÖÔÖ Ø Ù Ðº Ò Ù ÐÕÙ Ö ÐÓ× Ó× ×Ó׸ × × Ò Ð ÕÙ ÓÒÓÞ ÐÓÔ Ò ÓÒ Ô Ö ÔÓ Ö Ø ÖÑ Ò Ö× Ù Ð Ð × Ó× × ØÙ ÓÒ × Ó ÙÖÖ º Ù Ò Ó Ó ÙÖÖ Ð ÔÖ Ñ Ö × ØÙ ÓÒ¸ ÒØÓÒ × ÐÓ× ÒØ ÖÐÓ ÙØÓÖ × Ø Ò Ò ÙÒ Ñ Ö ÓÑÓ Ò Ð Ì Ý Ð ×Ù Ø Ú ÕÙ Ö ×Ø × ÑÔÐ ÒØ ÓÒ¸ Р٠и Ò Ð ×Ø Ó × ÒÓ¸ × × ÑÔÖ × Ù ÒÓ Ó ÙÐØ ÖÐ º Ë Ó ÙÖÖ Ð × ÙÒ × ØÙ ÓÒ¸ ÒØÓÒ × Ý Ò ÓÑÓ Ò Þ Ö Ð Ú × ÓÒ ÒØ Ö¹ÔÖ Ø ÓÒ Ð Ì ÓÖÑ ÕÙ ×Ù× ×Ù Ø Ú × ÒØ ÖÔÖ Ø ÓÒ Ú Ò Ò Ó Ø Ú ×ºÄ ÙÒ Ñ Ò Ö ×Ø ÓÖ ÓÒÓ Ö ×ØÓ × ØÖ Ú × Ð ÐÓ Óº × ÔÓÖ ×ØÓÕÙ Ð Ð Ò Ù × ÙÒ Ñ ÒØ Ð Ò Ð ×Ô ¬ ÓÒ ÙÒ Ì º È ÖÓ Ð Ð Ò Ù ÒÓ × Ñ Ö¹ Ñ ÒØ ÙÒ Ö ÓÒ Ðº ÒÓ Ø Ò Ò Ò ÙÒ ÓÖÑ ÓÖÖÓ ÓÖ Ö × ÓÑÔ ÖØ ×Ù Ñ Ö× ÒÓ × Ù Ð ÒØ ÖÔÖ Ø ÓÒ ÕÙ Ø Ò Ö Ð Ì º ÈÓÖ Ø ÒØÓ¸ Ù Ò Ó × × ÒÙÒ ÒÙ ÚÓ Ì ¸ × × Ò Ð ÕÙ Ð × Ò ÓÖ ÐÓ ÜÔÓÒ ÒØ ÐÓ× ÒØ Ö × Ó× Ò ÙÒÔÖÓ ×Ó ÐÓ Ó ÕÙ ÙÖ ×Ø ÕÙ ÒÓ Ý Ò ×Ù Ø Ú × ÒØ ÖÔÖ Ø ÓÒ Ý ×ÓÐÓÖ ×Ø Ò Ð × ÑÔÐ ÒØ ÓÒº1.1.4 Un ejemplo de TAD ÜÔ Ö Ò × ÕÙ Ö × Ò Ð × ÖÖÓÐÐÓ ÔÖÓ Ö Ñ × Ù Ó Ô ÖÑ Ø Ò ÑÓ Ð Þ Ö ÙÒÌ ¸ ÐÐ Ñ Ó ÙÖ ¸ ÙÝÓ ¬Ò × Ò Ö Ð Þ Ö ÓÔ Ö ÓÒ × Ò Ö ÒØ × Ð Ù ÓÙÒ ¬ ÙÖ ×Ó Ö Ð ÙÒ ÓÒ Ó ÓÒØÖ ×Ø º Ì Ð Ì × ÙØ Ð Ô Ö Ö Ð Þ Ö ÔÖÓ Ö Ñ × ÕÙ
  • 33. 8 Cap´ ıtulo 1. Abstracci´n de datos o Ò Ù Ó× Ý ÙÒ ÔÖÓÔÙ ×Ø ¬Ò ÓÒ × ÓÑÓ × Ù ÙÖ ≡ struct Figure { ÓÒ×ØÖÙ ØÓÖ × ÙÖ Ç × ÖÚ ÓÖ × ÙÖ ÅÓ ¬ ÓÖ × ÙÖ }; ÙÖ × ÓÒ Ö Ø × ½¾ ¬Ò × Figure¸ Ù× Ò ÙÒ × ¸ ¸ ½¾¸ Ò ½ º ÐÌ ÙÖ ÑÓ Ð Þ ÙÒ ¬ ÙÖ Ò Ö Ð ÕÙ × Ù Ö Ò Ð ÙÒ Ñ Ó ÓÒØÖ ×Ø º × Ò Ö Ð Ò Ð × ÒØ Ó ÕÙ ×ÓÐÓ ×ØÖ ÑÓ× ÓÔ Ö ÓÒ × Ò Ö Ð × ×Ó ÖÙÒ ¬ ÙÖ ÓÑ ØÖ Ù ÐÕÙ Ö × Ö¸ Ð × ÓÔ Ö ÓÒ × ×ÓÒ Ò Ö Ð × ÔÓÖÕÙ ÓÔ Ö Ò×Ó Ö Ù ÐÕÙ Ö ¬ ÙÖ Ò Ô Ò ÒØ Ñ ÒØ ×Ù Ô ÖØ ÙÐ Ö º ÈÓÖ Ù ÐÕÙ Ö ¬ ÙÖÔÖ Ø Ò ÑÓ× ÜÔÖ × Ö ÕÙ ×Ù ÓÖÑ ¸ Ù Ö Ø ¸ ØÖ Ò ÙÐ Ö¸ Ø Ø Ö ¸ ÒÓ ÒÓ× ÑÔÓÖØ ×ÓÐÓÒÓ× ÒØ Ö × ÙÒ ¬ ÙÖ ÓÑÓ ×ØÖ ÓÒ Ò Ö Ð Ô Ö Ù ÖÝÐ ÑÒÖ ÒÖÐÓÔ Ö Ö ×Ó Ö ÐÐ ØÖ Ú × ÓÔ Ö ÓÒ × Ò Ö Ð × ÓÑÙÒ × ØÓ × Ð × ¬ ÙÖ × Ü ×Ø ÒØ ×º ÆÓ × ¸ ݸ × ÔÖ Ö Ð ×ÙÑ Ö ÕÙ ÒÓ × ÔÙ ¸ ¬Ò Ö ÙÒ ×ØÖ ÓÒ × Ò ÓÒÓ Ö Ð Ô Ö ÕÙ Ø Ð ¬Ò ÓÒº ÈÓÖ × Ö ÞÓÒ¸ Ù Ò Ó × Ò ÑÓ× ÙÒ Ì ¸ ÑÓ× × ¹ ÙÖ ÖÒÓ× Ø Ò Ö Ð ÖÓ Ð ¬Ò ÕÙ Ô Ö× Ù ÑÓ׺ Ò ×Ø × ÒØ Ó¸ Ò ÐÓ ÕÙ ÓÒ ÖÒ ÐÌ ÙÖ ¸ Ð ¬Ò × Ù Ö ¬ ÙÖ × Ò Ð ÙÒ Ñ Ó ÓÒØÖ ×Ø º Ë ×Ø ¬Ò ÒÓ ×Ø Ð ÖÓ¸ ÒÓ Ø Ò × ÒØ Ó Ð Ö ¬ ÙÖ × Ý ×Ù× ÓÔ Ö ÓÒ ×º Ä ×Ô ¬ ÓÒ × ÒØ Ø ÐÌ ÙÖ ×Ø ÔÓÖ ×Ù ¬Ò ÓÒ Ò C++º ÍÒ ÓÔ Ö ÓÒ ×Ó Ö ÙÒ Ð × × ÒÓÑ Ò Ñ ØÓ Ó ¸ Ø ÖÑ ÒÓ ÔÖÓÚ Ò ÒØ Ð Ð Ø ÒÑ Ø Ó Ù׸ Ð Ù Ð ÔÖÓÚ Ò Ð Ö Ó μ θοδος ´Ñ Ø ¹ Ó Ó×µº Ò ×Ø ×Ó Ñ Ø ÓÒÒÓØ Ù Ö ¸ Ñ × ÐÐ Ý Ó Ó× × Ò ¬ Ñ ÒÓº Å ØÓ Ó ÕÙ Ö Ö¸ Ô٠׸ ÙÒ Ñ ÒÓ Ð ¬Ò ÕÙ ×Ø Ù Ö × Ö¸ ÙÒ Ñ ÒÓ ÓÒ ×Ø ÒÓ¸ ÓÒ × ÒØ Óº È Ö ¬Ò Ö Ð × Ñ ÒØ ÓÔ Ö ÓÒ¸ ÑÓ× ÒÓØ Ö Ð Ì Point¸ÔÙ × ÐÓ Ö Ö Ò Ò Ð ÙÒ × ÓÔ Ö ÓÒ × Ð Ì ÙÖ º ËÙÔ Ø Ó Ð ¬Ò ÐÌ ÙÖ ¸ ÙÒ ÔÙÒØÓ ×Ø Ò Ð Ù ÓÒ Ð ¬ ÙÖ Ð ÑÓÑ ÒØÓ ×Ù Ù¹ Ó Ý ÒÓ ÒÓ× ÓÒÚ Ò ¸ ÔÓÖ ÓÖ ¸ ¬Ò ÖÐ Ñ ×¸ ÔÙ × ÒÓ Ø Ò ÑÓ× ¹Ý × ÔÓÖ ÓÖØ Ñ Ò ÔÖ Ö Ð ÒÓ Ø Ò ÖÐ ¹ Ð Ñ Ó Ò Ð Ù Ð × Ù Ö Ò Ð × ¬ ÙÖ × ÔÓÖ ÑÔÐÓ׸ÙÒ Ñ Ó ÔÐ Ò Ö Ô Ô Ð Ó Ô ÒØ ÐÐ Ó ÙÒ Ñ Ó ØÖ Ñ Ò× ÓÒ Ð ÔÖÓÝ ØÓÖ ØÖ Ñ Ò× ÓÒ Ð Ù ÓÐÓ Ö º È Ö Ð ÔÖ Ñ Ö Ø ÔÓ Ñ Ó Ð ÔÙÒØÓ Ö ÕÙ Ö Ó× ÓÓÖ Ò ×¸ Ñ ÒØÖ × ÕÙÔ Ö Ð × ÙÒ Ó ØÖ ×º À Ý Ó× ÓÖÑ × ÓÒ×ØÖÙ Ö ÙÒ ¬ ÙÖ ×ØÖ Ø ÜÔÖ × × ÔÓÖ ÐÓ× × Ù ÒØ × ÓÒ×¹ØÖÙ ØÓÖ × ÓÒ×ØÖÙ ØÓÖ × ÙÖ ≡ ´ µ Figure(const Point & point); Figure(const Figure & figure);Í× × Figure º Ð ÔÖ Ñ Ö ÓÒ×ØÖÙ ØÓÖ Ö ÕÙ Ö ÙÒ ÔÙÒØÓ Ð × ÙÒ Ó ÓÔ Ð ¬ ÙÖ Ô ÖØ Ö Ð ÔÙÒØÓ ÓÒ × Ò Ù ÒØÖ ÓØÖ ¬ ÙÖ º Ä Ö ÙÒ Ò × Ö º
  • 34. 1.1. Especificaciones de datos 9 Ð ×ØÖÙ ØÓÖ Ð Ì ÙÖ × Ö Ú ÖØÙ Ð ÓÒ×ØÖÙ ØÓÖ × ÙÖ +≡ ´ µ virtual ~Figure();Í× × Figure ºÔ٠׸ × Ñ Ò Ö ¸ × Ö ÒØ Þ Ð ÒÚÓ ÓÒ Ù ÐÕÙ Ö ×ØÖÙ ØÓÖ ×Ó Ó ÙÒ¬ ÙÖ Ô ÖØ ÙÐ Öº ÙÒ Ñ ØÓ Ó ÕÙ ÒÓ ÐØ Ö Ó ÑÓ ¬ÕÙ Ð ×Ø Ó Ð Ó ØÓ ×Ù Ð ÐÐ Ñ Ö× Ð Ó × Ö¹Ú ÓÖ º Ò ×Ø × ÒØ Ó¸ ÙÒ ¬ ÙÖ Ø Ò ÙÒ ×ÓÐÓ Ó × ÖÚ ÓÖ Ç × ÖÚ ÓÖ × ÙÖ ≡ ´ µ ½ const Point & get_point() const; Ð Ù Ð Ó × ÖÚ ×Ù ÔÙÒØÓ Ö Ö Ò Ò Ð ÔÐ ÒÓº Ò C++¸ Ð Ð ¬ ÓÖ const ×Ó ÖÙÒ Ñ ØÓ Ó Ð Ò Ð ÓÑÔ Ð ÓÖ ÕÙ Ð Ñ ØÓ Ó ÒÓ ÐØ Ö Ð ×Ø Ó Ð Ó ØÓº ÙÒ Ñ ØÓ Ó ÕÙ ÐØ Ö Ó ÑÓ ¬ Ð ×Ø Ó ÙÒ Ó ØÓ × Ð Ð × ¬ ÑÓ ¬ ÓÖÓ¸ Ú ×¸ ØÙ ÓÖ º ÄÓ× ØÙ ÓÖ × ÙÒ ¬ ÙÖ ×ÓÒ ÐÓ× × Ù ÒØ × ÅÓ ¬ ÓÖ × ÙÖ ≡ ´ µ virtual void draw() = 0; virtual void move(const Point & point) = 0; virtual void erase() = 0; virtual void scale(const Ratio & ratio) = 0; virtual void rotate(const Angle &angle) = 0; ÄÓ× ÒÓÑ Ö × Ñ ØÓ Ó× draw(), move() Ý erase() Ò Ò Ð Ö Ñ ÒØ ÕÙ × ÐÓ ÕÙÖ Ð Þ Ò º Ð Ñ ØÓ Ó scale() Ù×Ø Ð Ø Ñ ÒÓ ´ × Ð µ ÙÒ ¬ ÙÖ × ÙÒ ÙÒ Ö Ó Óº Ð Ø ÔÓ Ratio ×Ô ¬ ÙÒ Ñ Ò ØÙ × Ð ÕÙ × Ò ¬ Ð ÔÖÓÔÓÖ ÓÒ Ò ÕÙÐ × Ð × ÑÓ ¬ × ×Ø × Ñ ÒÓÖ ÕÙ ÙÒÓ¸ ÒØÓÒ × Ð ¬ ÙÖ × ¸ ÐÓ ÓÒØÖ Ö Ó× Ö Ò º Ò ÐÑ ÒØ ¸ Ð Ñ ØÓ Ó rotate() Ö Ó ÖÓØ Ð ¬ ÙÖ Ò Ð Ñ Ó × ÙÒ ÙÒ Ò ÙÐÓ Ø ÔÓ Angleº ÄÓ× ÅÓ ¬ ÓÖ × ÙÖ Ö ÔÖ × ÒØ Ò ÓÔ Ö ÓÒ × Ò Ö Ð × ×Ó Ö ÙÒ ¬ ÙÖ ºÈÓ ÑÓ× Ù ÖÐ ¸ ÑÓÚ ÖÐ ÓØÖÓ ÔÙÒØÓ¸ ÓÖÖ ÖÐ ¸ × Ð ÖÐ × ÙÒ Ð ÙÒ Ñ Ò ØÙ ¸Ó ÖÓØ ÖÐ × ÙÒ Ð ÙÒ Ò ÙÐÓ Ò Ö Ò × ÙÝÓ × ÒÓ Ò Ð × ÒØ Ó ÖÓØ ÓÒº ÒØÓ Ó× ÐÓ× ×Ó׸ ØÖ Ø ÑÓ× ÓÒ ¬ ÙÖ × ×ØÖ Ø ×¸ ÒÓ ÓÒ Ö Ø ×º Ð Ù Ð ÕÙ ÓÒ Ð Ø ÔÓ Point¸ Ò ×Ø ×Ø Ó ÒÓ × ÓÒÚ Ò ÒØ Ô Ò× Ö Ò Ð × Ñ¹ÔÐ ÒØ ÓÒ × ÐÓ× Ø ÔÓ× Ratio Ý Angleº ËÓÐÓ ×Ø ÓÒ ÓÒÓ Ö ×Ù ÙØ Ð Þ ÓÒ ÓÒ Ó ØÓ× Ø ÔÓ Figure Ö ÙÒ× Ö Ø Ð ¬Ò Ù ÖР׺ Å Ò ÓÒ Ô ÖØ ÙÐ Ö Ñ Ö Ò Ó× Ð ¬ ÓÖ × × ÒØ Ø Ó× Ð C++º Ð ÔÖ Ñ ÖÓ ÐÓ ÓÒ¹ ÓÖÑ Ð ÔÖ ¬ Ó Ö × ÖÚ Ó virtual ¸ Ð Ù Ð Ò ÕÙ Ð ÓÔ Ö ÓÒ ÔÙ ÑÔÐ ÒØ Ö×× ÙÒ Ð Ô ÖØ ÙÐ Ö Ð ¬ ÙÖ ÔÓÖ ÑÔÐÓ¸ ÙÒ Ù Ö Ó × Ù Ö ÒØ ÕÙ ÙÒ Ö ÙÐÓº Ð × ÙÒ Ó ×Ø Ó ÔÓÖ Ð Ó Ò Ð Þ Ö Ð ÓÔ Ö ÓÒ ÓÒ Ð Ú ÐÓÖ ÖÓº ×Ø × Ð × ÒØ Ü × C++ Ô Ö ¬Ò Ö ÙÒ Ñ ØÓ Ó Ú ÖØÙ Ð ÔÙÖÓ ¸ Р٠и ×Ù Ú Þ¸ ¬ÒÙÒ Ð × ×ØÖ Ø Ó × ¸ ×ØÖ ÓÒ ÔÙÖ ¸ × Ò Ò Ò ÙÒ Ö Ø Ö ÓÒ Ö ØÓ¸ ÔÙ × × ÒÓ Ð Ð × ÒÓ × Ö ×ØÖ Ø º È Ö ÔÖ Ò Ö ×Ø Ó × ÖÚ ÓÒ¸ ÓÑ Ò ÑÓ× ÔÓÖ ÔÖ ÙÒØ ÖÒÓ× Ù Ð ¬ ÙÖ × Ö ¬ Ö Ð Ì ÙÖ º Ä Ö ×ÔÙ ×Ø ÓÖÖ Ø × ÕÙ ÒÓ ÐÓ × ÑÓ׸ÔÙ × × ØÖ Ø ÙÒ Ð × ×ØÖ Ø ¸ ÒÓ ÙÒ ÓÒ Ö Ø º ÄÓ× Ñ ØÓ Ó× Ú ÖØÙ Ð × ÔÙÖÓ× Ø Ò Ò ÕÙ ÑÔÐ ÒØ Ö× Ò Ð × × Ö Ú × Ð Ð × Figure ÕÙ ÓÒ Ö Ø Ò ÑÔÐ ÒØ ÓÒ × Ô ÖØ ÙÐ Ö × ÙÒ ¬ ÙÖ ×ØÖ Ø º ÈÓÖ Ñ¹ ÓÒ ÓÒ ÕÙ × ÓÒÓÞ Ò ÐÓ× Ø ÖÑ ÒÓ× Ò Ð × ×º
  • 35. 10 Cap´ ıtulo 1. Abstracci´n de datos oÔÐÓ¸ Ð Ñ ØÓ Ó scale() ÙÒ ØÖ Ò ÙÐÓ × ÑÔÐ ÒØ Ò ÙÒ Ð × Triangle ÖÚFigureº Ð ÓÒ ÔØÓ Ö Ú ÓÒ × Ö ×ØÙ Ó ÓÒ Ñ × Ø ÐÐ Ò Ð × ÓÒ Ü ½º¾ ´Ô Ò ½½µº1.1.5 El lenguaje UMLÀ ×Ø ÓÖ ÒÓ× ÑÓ× × ÖÚ Ó Ð Ð Ò Ù C++ Ô Ö Ö ×ÓÐÚ Ö Ð ×Ô ¬ ÓÒ × ÒØ Ø º Ò ØÓ¸ Ò ×Ø Ð Ò Ù ¸ Ý Ò ÓØÖÓ× ÓÖ ÒØ Ó× Ó ØÓ׸ Ð × ÒØ Ü × Ð ÔÖÓÔ Ó Ð Ò Ù Ò ØÓ Ó× ÐÓ× ×Ô ØÓ× × ÒØ Ø Ó× ÒØ Ö × Ý¸ × × × Ó Ò ÒÓÑ Ö × Ù Ó׸ ÙÒ¹ Ñ ÒØ ÐÓ× × Ñ ÒØ Ó׺ ÀÓÝ Ò Ü ×Ø Ò ÑÙ Ó× Ð Ò Ù × ÓÖ ÒØ Ó× Ó ØÓ׸ ÙÝ ÔÖ × Ò ÒÓ× ¬¹ ÙÐØ ÙÒ ¬ Ö Ñ Ö × Ò ×Ô ¬ ÓÒ × Ý × ÒÓ׺ È Ö Ô Ð Ö ×Ø ÔÖÓ Ð Ñ ¸ × Ñ × ÙÒ ¸ ÙÒ ÓÒ×ÓÖ Ó ÐÐ Ñ Ó ÇÅ ´Ç Ø Å Ò Ñ ÒØ ÖÓÙÔµ Ò¹Ø ÒØ ÓÑÓ Ò Þ Ö Ð Ñ Ò Ö ×Ô ¬ Ö Ì º Ó Ð Ò Ù × ÒÓÑ Ò ÖÓÒ Ñ Ñ ÒØ ÍÅÄ ÍÒ ¬ ÅÓ Ð Ò Ä Ò Ù Ý × × ÖÚ ÙÒ Ñ Ó ÕÙ ÒÓØ Ò Ò ØÓ Ó× ÐÓ× Ð Ò Ù × Ý ÕÙ × ÓÒ×ÓÒ ÓÒ Ð ÐÓ Ó Ø ÚÓ Ð Ö ¬ Óº ÍÒ Ö¬Ó Ñ × ÕÙ Ñ Ð Ô Ð Ö × Ö Þ ÙÒ ÒØ ÙÓ ÔÖÓÚ Ö Ó¸ Ý ÍÅÄ ÐÓ ÓÒÖ Ù Ò Ó ×Ö ÕÙ Ö Ó × ÖÚ Ö Ö ÒØ × Ì Ý ×Ù× Ö Ð ÓÒ ×º ÐÌ ÙÖ ÔÙ ÑÓ Ð Þ Ö× Ô ØÓÖ Ñ ÒØ Ò ÍÅÄ ÓÑÓ Ò Ð ¬ ÙÖ ½º½ºÍÒ Ö Ø Ò ÙÐÓ Ö ÔÖ × ÒØ ÙÒ Ð × ÓÒ ØÖ × × ÓÒ ×º Ð ÒÓÑ Ö Ð Ð × × Ò Ù ÒØÖ Ò Ð × ÓÒ ×ÙÔ Ö ÓÖº Ð Ø ØÙÐÓ Ò Ð ØÖ ÙÖ× Ú Ò ÕÙ Ð Ð × × ×ØÖ Ø º Figure -point: Point +Figure(in point:Point) +Figure(in figure:Figure) +~Figure() +get_point(): Point +draw(): void +move(in p:Point): void +erase(): void +scale(in ratio:Ratio): void +rotate(in angle:Angle): void ÙÖ ½º½ Ö Ñ ÍÅÄ Ð Ð× Figure Ä × ÙÒ × ÓÒ Ò ÐÓ× ØÖ ÙØÓ× Ý Ð Ø Ö Ö ÐÓ× Ñ ØÓ Ó× Ù ÓÔ Ö ÓÒ ×º ÐÔÖ ¬ Ó ¹ Ò ÒÓÑ Ö ØÖ ÙØÓ Ù ÓÔ Ö ÓÒ Ò ÕÙ Ð Ñ Ñ ÖÓ × Ò × ÐÑ ÒØÖ × ÕÙ Ð × Ñ ÓÐÓ · Ò ÕÙ × ÓÑÔÐ Ø Ñ ÒØ × Ðº ÍÒ ÒÓÑ Ö ÓÔ Ö ÓÒ Ò Ð ØÖ ÙÖ× Ú Ò ÕÙ Ð ÓÔ Ö ÓÒ × Ú ÖØÙ Ð Ó ÔÓÐ ÑÓÖ ÓÒ ÔØÓ ÕÙ ×ØÙ Ö ÑÓ× ÔÖÓÒØ Ñ ÒØ º ÄÓ× ÒÓÑ Ö × Ø ÔÓ× Ö ØÓÖÒÓ Ý Ô Ö Ñ ØÖÓ× × × Ô Ö Ò ÐÓ× ÒÓÑ Ö × ÙÒ ÓÒÝ Ô Ö Ñ ØÖÓ× ÓÒ Ó× ÔÙÒØÓ× ´ Ð ÒØ Ù ¸ Ô ÖÓ Ð ÒØ ¸ Ù× ÒÞ Ð È × Ð Ý Ð ÓеºÄÓ× Ô Ö Ñ ØÖÓ× Ø Ò Ò ÙÒ ÔÖ ¬ Ó Ð ¬ ÓÖ ÕÙ ÔÙ Ò Ø Ò Ö Ú ÐÓÖ × in¸ out Ó inout Ô Ö ×Ô ¬ Ö Ô Ö Ñ ØÖÓ× ÒØÖ ¸ × Ð Ó ÒØÖ »× Ð Ö ×Ô Ø Ú Ñ ÒØ º ÍÒ ÔÖÓ Ö Ñ ÓÑÔÐ Ó ÓÒØ Ò ÑÙ Ó× Ø ÔÓ× ×ØÖ ØÓ׺ Ù Ò Ó ×Ø ÒØ × Ö Ò ¸ Ù ÐÕÙ Ö Ð Ò Ù Ú Ò ÓÑÔÐ Ó Ô Ö Ñ Ö Ö Ò ÙÒ Ð × ×Ø Ñ Ý ÒØÖÓ
  • 36. 1.2. Herencia 11 Ð Ó × ÖÚ Ö ×Ù× Ø ÔÓ× ØÓ× ÒØ ÖÖ Ð ÓÒ ×º Ä Ö Ò Ú ÒØ ÍÅÄ × ×Ù Ö Ø Ö Ö ¬ Ó¸ Ð Ù Ð Ð Ø Ó × ÖÚ Ö¸ ×ÓÐÓ Ú ×Ù Ð Ý Ó Ø Ú Ñ ÒØ ¸ ÐÓ× Ø ÔÓ× ×ØÖ ØÓ× Ò ÙÒ×ÓÐ Ñ Ö º Ò ×Ø Ø ÜØÓ Ù× Ö ÑÓ× ÍÅÄ ×ÓÐÓ Ô Ö ×Ô ¬ Ö Ö Ñ × Ð × × ÒØ ÖÖ Ð ÓÒ × ÒØÖ ÐР׺ ÍÅÄ × ÙÒ Ð Ò Ù ÑÓ Ð Ó ÑÙ Ó Ñ × Ö Ó Ý Ð ÜÔ Ö Ò ¹ÑÓ×ØÖ Ó ÕÙ ¸ Ô Ö Ò Ö ÓÑÓ Ò ÒØ ÖÔÖ Ø ÓÒ Ò ÙÒ ÔÖÓÝ ØÓ¸ ×Ø × Ñ ×× ÑÔÐ ÕÙ ÙÒ Ð Ò Ù ÔÖÓ Ö Ñ ÓÒº1.2 Herencia ÐÌ ÙÖ ÑÓ Ð Þ ÙÒ ¬ ÙÖ Ò Ö Ð ÕÙ ÒÓ Ò Ò Ö ×Ù ÓÖÑ ÓÒ Ö Ø º Ë Ò Ñ Ö Ó¸ Ð ÑÓÑ ÒØÓ Ù Ö ÙÒ ¬ ÙÖ ¸ × Ø Ò ÕÙ ÓÒ Ö Ø Ö Ý ÓÒÓ Ö Ù Ð ¬ ÙÖ × ØÖ Ø º Ò Ð Ö Ó ØÓ׸ ÓÒ Ö Ø Ö × Ð ×Ô Ð Þ Ö Ý ×Ö ÔÖ × ÒØ Ñ ÒØ ÙÒ Ö Ð ÓÒ ÐÐ Ñ ÖÒ Ð × º Ò ÍÅĸ ÓÒ Ö Ø Ö Ð ÙÒ × ¬ ÙÖ × Ó ÙÒ Ö Ñ ÍÅĸ Ö ×ÙÑ Ó¸ ÑÔÐ Ö Þ Ð ÓÒ ÔØÓ ÙÒ ÓÖÑ ÕÙ ÒÓ×Ô ÖÑ Ø Ú ×Ù Ð Þ Ö Ð × Ð × × Ý ×Ù× Ö Ð ÓÒ × Ò ÙÒ ×Ô Ò ÐÓ Ó Ø ÜÓÒÓÑ ¸Ø Ð ÓÑÓ × ÐÙ×ØÖ Ò Ð ¬ ÙÖ ½º¾º Figure -point: Point +Figure(in point:Point) +Figure(in figure:Figure) +~Figure() +get_point(): Point +draw(): void +move(in p:Point): void +erase(): void +scale(in ratio:Ratio): void +rotate(in angle:Angle): void Triangle Square Circle-hypotenuse: float -side_size: float -ratio: float-angle_hypotenuse: float +get_side_size(): float +get_ratio(): float+get_hypotenuse(): float +...() +...()+get_angle_hypotenuse(): float+...() ÙÖ ½º¾ Â Ö ÖÕÙ Ð × × ×Ô ÐÞ × Ð Ð× Figure Ä Ö Ð ÓÒ Ö Ò × ÜÔÖ × Ò ÍÅÄ Ñ ÒØ ÙÒ ­ ÓÒØ Ù ÕÙ Ô ÖØ × Ð Ð × ×Ô Ð Þ Ð Ð × Ò Ö Ðº Ò Ð ×Ó ÑÔÐÓ¸ Ð Ð × Ò Ö Ð Ð ÓÒ ÓÖÑ Ð Ì ÙÖ ¸ Ñ ÒØÖ × ÕÙ Ð × Ð × × ×Ô Ð Þ × ÓÒ Ö Ø Ò Ð × ¬ ÙÖ × ×Ô ¬ × Triangle¸ Square Ý Circle¸ ×Ô Ð Þ ÓÒ × ØÖ Ò ÙÐÓ¸ Ù Ö Ó Ý Ö ÙÐÓ¸Ö ×Ô Ø Ú Ñ ÒØ º
  • 37. 12 Cap´ ıtulo 1. Abstracci´n de datos o Ä Ö Ò × ¬Ò ¸ ÒØÓÒ ×¸ ÓÑÓ Ð ÔÖÓÔ ÕÙ Ø Ò ÙÒ Ð × Ö Ö Ð×Ö ÓØÖ Ð × º Ð Ð × Ò Ö Ð × Ð ÐÐ Ñ Ð × × Ó ÙÒ Ñ ÒØ Ð ¸ Ñ ÒØÖ × ÕÙ Ð ×Ô Ð¹ Þ × Ð ÒÓÑ Ò Ð × Ö Ú º Ò Ð ÑÔÐÓ Ð × ¬ ÙÖ ×¸ Ð Ì ÙÖ × Ð × × Ð × Ð × × Ö Ú × Triangle¸ Square Ý Circleº ÑÓ׸ Ø Ñ Ò¸ ÕÙ Ð Ð × Ö Ú Ö Ð Ð × × Ò Ð × ÒØ Ó ÕÙ Ö ØÓ ×Ù ÒØ Ö Þ ÔÙ Ð º ÍÒ ØÖ Ò ÙÐÓ¸ ÔÓÖ Ò×Ø Ò ¸ Ö Ð ÔÙÒØÓ Ö Ö Ò ØÖ Ù Ð ØÓ × Ð × ¬ ÙÖ × Ò Ö Ð × × Ö¸ ÙÒ Ó ØÓ Ø ÔÓ Triangle ÔÙ ÒÚÓ Ö Ð Ñ ØÓ Ó get point()¸ ÔÙ × ×Ø Ù Ö Ó Ð Ì ÙÖ º Ò Ð Ö Ñ ÍÅÄ Ð ¬ ÙÖ ½º¾ × ÔÖ ÕÙ Ð × Ð × × Ö Ú × ÔÓ× Ò ØÖ ÙØÓ× Ý Ñ ØÓ Ó× ÕÙ ÒÓ × Ò Ù ÒØÖ Ò Ò Ð Ð × × º ÈÓÖ ÑÔÐÓ¸ Ð Ð × Circle ÔÓ× ÙÒ Ñ ØÓ Ó ÐÐ Ñ Ó get ratio() ÙÝ ÙÒ ÓÒ × Ó × ÖÚ Ö Ð Ö Ó Ð Ö ÙÒ Ö Ò ÕÙ Ö ÔÖ × ÒØ ÙÒ Ò×Ø Ò Ó ØÓ Ø ÔÓ Circleº Ð ØÖ ÙØÓ ratio Ø Ò × ÒØ Ó¸ × ÙÒ Ð ÓÑ ØÖ ¸ Ô Ö Ð Ð × Circle¸ Ô ÖÓ ÒÓ ÐÓ Ø Ò Ô Ö Ð × Ð × × Triangle Ý Squareº ÓÖ Ò¸ Ð × ØÖ × Ð × × Ö Ú × ÙÖ ÓÑÔ ÖØ Ò Ð ÔÙÒØÓ Ö Ö Ò ¸ ÔÙ × ÐÐ × ×ÓÒ¸ ÔÓÖ Ö Ú ÓÒ¸ Ø ÔÓ ÙÖ º ÄÓ ÒØ Ö ÓÖ ×Ù Ö ÙÒ ÒØ ÖÔÖ Ø ÓÒ Ð Ö Ò ÕÙ Þ Ñ × Ö Ð Ö Ð ÓÒ × Ö × Ö¸ Ð Ð × Ö Ú es¸ Ø Ñ Ò¸ Ð× ×º ×Ø ÑÓ Ó¸ Ó ØÓ× Ø ÔÓ Triangle¸ Square Ý Circle son¸ Ø Ñ Ò¸ Ø ÔÓ Figureº Ä Ð Ö ÓÒ Ò C++ Ð Ö Ð ÓÒ Ö Ò ÒØ Ö ÓÖ × Ð × Ù Òؽ¾ ÙÖ × ÓÒ Ö Ø × ½¾ ≡ ´ µ struct Triangle : virtual public Figure { ... }; struct Square : public Figure { ... }; struct Circle : public Figure { ... }; Í× × Figure º Ä × Ù Ó ×Ô ¬ ÓÒ Ð Ð × Triangle Ò ÕÙ × ÙÒ Ð × ×ØÖ Ø º Ò ØÓ¸ ÒÓØ ÑÓ× ÕÙ ¸ Ò Ð ×Ó ÙÒ ØÖ Ò ÙÐÓ¸ × ÙÒ ÒÙ ×ØÖ ÙÐØÙÖ Ñ Ø Ñ Ø ¸ ÔÓ ¹ ÑÓ× ×Ô Ð Þ ÖÐÓ ÙÒ Ñ × × ÙÒ Ð × ÐÓÒ ØÙ × ×Ù× Ð Ó׺ ÄÓ Ö Ò Ó×Ó Ð Ö Ò × Ð ÔÓ× Ð ÜÔÖ × Ö ÓÒ ÔØÓ× Ý ×ØÖ ÓÒ × Ò Ö Ð × ØÖ Ú × Ð × × × × Ô Ö ÐÙ Ó Ô ÖØ ÙÐ Ö Þ ÖÐ × Ñ ÒØ Ö Ú ÓÒ ×º ×ØÓ Ó Ö Ð ÔÓ× Ð × Ò Ö Ò Ù Ø Ú Ñ ÒØ ¸ Ý Ò Ó × ÐÓ Ô ÖØ ÙÐ Ö ÐÓ Ò ¹ Ö Ð Ó¸ Ù Ø Ú Ñ ÒØ ¸ Ý Ò Ó × ÐÓ Ò Ö Ð ÐÓ Ô ÖØ ÙÐ Öº Ó ÓØÖÓ ÑÓ Ó¸ Ý Ò Ó × ÐÓ ÓÒ Ö ØÓ ÐÓ ×ØÖ ØÓ Ó¸ Ô Ö Ó Ñ ÒØ ¸ × ÐÓ ×ØÖ ØÓ ÐÓ ÓÒ Ö ØÓº 1.2.1 Tipos de herencia Ä ÖÒ Ð ÑÔÐÓ ÒØ Ö ÓÖ × ÒÓÑ Ò Ö Ò ÔÙ Ð ¸ ÔÙ × ÐÓ ÕÙ × ÔÙ Ð Ó Ð Ð × × Ø Ñ Ò Ú Ò ÔÙ Ð Ó Ò Ð Ð × Ö Ú º À Ý ÓØÖÓ ÑÓ Ó ÖÒ ÒÓÑ Ò Ó ÑÔÐ ÒØ ÓÒ Ó Ö Ò ÔÖ Ú º ×Ø ÑÓ Ó ÜÔÖ × Ð Ó ÕÙ Ð Ð × × × Ù× Ô Ö ÑÔÐ ÒØ Ö Ð ¸ Ó Ô ÖØ Ð¸ Ð × Ö Ú º Ò ÍÅÄ Ð Ö Ò ÔÖ Ú × Ö ÔÖ × ÒØ Ñ ÒØ ÙÒ ­ ÔÙÒ¹ Ø ¸ Ñ ÒØÖ × ÕÙ Ò C ++ Ñ ÒØ Ð Ð ¬ ÓÖ private ÓÑÓ ÔÖ ¬ Ó Ð ÒÓÑ Ö Ð Ð× ×º
  • 38. 1.2. Herencia 131.2.2 Multiherencia Ò Ó × ÓÒ ×¸ ÙÒ Ð × Ó ØÓ es¸ Ð Ú Þ¸ Ó× Ó Ñ × Ð × ×º Ò Ð ÑÙÒ Ó Ó ØÓ׸ ×ØÓ ÔÙ ÜÔÖ × Ö× Ñ ÒØ ÙÒ Ö Ð ÓÒ Ö Ò ÑÙÐØ ÔÐ º × Ö¸ ÙÒ Ó ØÓÔÙ Ö Ö Ó× Ó Ñ × Ð × × × º Ä ¬ ÙÖ ½º¿ ÑÙ ×ØÖ ÙÒ Ö Ð ÓÒ Ð × × ÕÙÑÓ Ð Þ ÐÓ× ØÓÖ × ÙÒ ÍÒ Ú Ö× º Ø Ò ÓÒ ×Ô Ð Ñ Ö Ð Ð × Preparadorº Ò Ð Ú Ö Ð¸ ÙÒ ÔÖ Ô Ö ÓÖ × ÙÒ ×ØÙ ÒØ Ü Ð×Ó¸ ÙÝ Ü Ð Ò ÔÖ Ð ÍÒ ¹Ú Ö× Ô Ö Ð × ×Ø Ò Ý Ñ ÓÖ ×Ù× ÙÖ×Ó׺ ÓÑÓ Ö ØÖ Ù ÓÒ¸ Ð ÍÒ Ú Ö×Ð ÓØÓÖ Ð ×ØÙ ÒØ ÙÒ ×Ø Ô Ò Óº Ò ÐÓ× Ø ÖÑ ÒÓ× Ð Ö Ñ ÍÅĸ Preparador Ö Ð × Ð × × Estudiante Ý Trabajador Universitario¸ Ö ×Ô Ø Ú Ñ ÒØ º ×ØÑÓ Ó ¬Ò ÑÓ× ÕÙ ÙÒ ÔÖ Ô Ö ÓÖ es¸ Ð Ú Þ¸ ×ØÙ ÒØ Ý ØÖ ÓÖ ÙÒ Ú Ö× Ø Ö Óº Persona +nombres(): Nombres +cédula(): Cédula +edad(): int Trabajador Universitario Estudiante +salario(): Salario +antiguedad(): int +expediente(): Expediente_Estudiante +...() +...() Profesor Obrero Empleado Preparador ÙÖ ½º¿ Ê Ð ÓÒ × Ð×× Ô Ö×ÓÒ × Ò ÙÒ ÍÒ Ú Ö× × ÔÓ× Ð Ø Ò Ö Ö Ð ÓÒ × ÑÙÐØ Ö Ò ÒØ Ö Þ ÔÓÖ ÙÒ Ô ÖØ ¸ Ý Ñ¹ÔÐ ÒØ ÓÒ ÔÓÖ Ð ÙÒ ÓØÖ º1.2.3 PolimorfismoÄ Ô Ð Ö “polimorfo” ÔÖÓÚ Ò Ð Ö Ó π λυ ´ ÔÓÐÝ µ¸ ÕÙ × Ò ¬ ÑÙ Ó Ñ Ò¹ØÖ × ÕÙ ÑÓÖ Ó ÔÖÓÚ Ò μορφ ´ ÑÓÖ µ¸ ÕÙ × Ò ¬ ¬ ÙÖ ¸ ÓÖÑ º ÈÓÐ ÑÓÖ Ó ÓÒÒÓØ ¸ Ô٠׸ ÑÙ × ¬ ÙÖ × ¸ ÑÙ × ÓÖÑ × º Ò Ð Ö Ó ØÓ׸ polimorfismoes la propiedad de expresar varias funciones o procedimientos diferentes osimilares bajo el mismo nombreº À Ý ØÖ × Ð × × ÔÓÐ ÑÓÖ¬×ÑÓ ×Ó Ö Ö ¸ ÖÒ Ý ÔÐ ÒØ ÐÐ º
  • 39. 14 Cap´ ıtulo 1. Abstracci´n de datos o1.2.3.1 Polimorfismo de sobrecargaËÓ Ö Ö × Ð Ô ÙÒ Ð Ò Ù Ó ØÓ× Ô Ö ¬Ò Ö ÒÓÑ Ö × Ù Ð × ÙÒ¹ ÓÒ ×¸ ÔÖÓ Ñ ÒØÓ× Ý Ñ ØÓ Ó׺ ÓÒ× Ö ÑÓ׸ ÔÓÖ ÑÔÐÓ¸ Ð ÙÒ ÓÒ × Ù ÒØ const int sumar(const int & x, const int & y); ÙÝÓ ¬Ò × ×ÙÑ Ö Ó× ÒØ ÖÓ׺ sumar() ÔÙ ×Ó Ö Ö Ö× Ô Ö ÕÙ ×ÙÑ Ñ ×ÒØ ÖÓ×const int sumar(const int & x, const int & y, const int & z);const int sumar(const int & w, const int & x, const int & y, const int & z); Ð ÓÑÔ Ð ÓÖ¸ ØÖ Ú × Ð ÒØ Ô Ö Ñ ØÖÓ׸ Ö Ð Þ Ð ×Ø Ò ÓÒ Ý ÙÐ Ð × ØÖ × ÙÒ ÓÒ × × Ð ÕÙ × ÒÚÓ Öº ÈÓÖ ÑÔÐÓ¸ × Ð ÓÑÔ Ð ÓÖ Ò Ù ÒØÖ sumar(1, 2, 3); ÒØÓÒ × ×Ø Ò Ö Ö Ð ÐÐ Ñ sumar() ÓÒ ØÖ × Ô Ö Ñ ØÖÓ׺ × ÔÓ× Ð ¸ Ø Ñ Ò¸ ¬Ò Ö sumar() Ô Ö ÕÙ ×ÙÑ ÓØÖ Ð × Ó ØÓ׺ ÈÓÖ ÑÔÐÓ const string sumar(const string & x, const string & y); Ä ×ÙÑ Ò × ÔÙ ÒØ ÖÔÖ Ø Ö× ÓÑÓ Ð ÓÒ Ø Ò ÓÒº Ð ÓÑÔ Ð ÓÖ Ö Ð ÞÐ ×Ø Ò ÓÒ Ö ×Ô ØÓ Ð × Ú Ö× ÓÒ × Ö ØÑ Ø × Ñ ÒØ ÐÓ× Ø ÔÓ× ÐÓ× Ô Ö Ñ ØÖÓ׺ Ò C++ × ÔÙ Ò ×Ó Ö Ö Ö ÐÓ× ÓÔ Ö ÓÖ ×º ÈÓÖ ÑÔÐÓ¸ ÔÓ Ö ÑÓ× ×Ô ¬ Ö Ð ÓÒ Ø Ò ÓÒ Ò × Ð × Ù ÒØ ÑÓ Ó const string operator + (const string & x, const string & y); Ò ×Ø ×Ó¸ ÔÙ × Ö Ö× Ð Ó × ÓÑÓ string s1, s2; ... string s3 = s1 + s2; Ä ×Ó Ö Ö ÓÔ Ö ÓÖ × ¸ Ò ÐÙ× Ú ¸ Ð ÙÒ ÓÒ ×¸ × ÙÒ ×ÙÒØÓ ÔÓÐ Ñ Ó ÔÓÖÕÙÓ ÙÐØ ÓÔ Ö ÓÒ × Ý ÔÙ ÓÒØÖ Ú Ò Ö Ð × ÒØ Ó ÙÐØÙÖ Ð Ð ÓÔ Ö ÓÖº ÈÓÖ ÑÔÐÓ¸ Ð Ó Ó ÒØ Ö ÓÖ Ø Ò Ô Ö ØÓ × ÒØ Ó ÙÐØÙÖ Ð Ô Ö Ð Ö ØÑ Ø ¸ Ô ÖÓ ÕÙ Þ ÒÓ Ô Ö Ð ÓÒ Ø Ò ÓÒº Ù Ò Ó Ò ÙÒ ÔÖ Ñ Ö Ò×Ô ÓÒ ÙÒ Ð ØÓÖ Ð Ð ×ÙÑ Ò ×¸ÔÓ× Ð Ñ ÒØ Ð Ô Ò× Ö ÕÙ ÐÓ× ÓÔ Ö Ò Ó× ×ÓÒ ÒÙÑ Ö Ó׸ ÐÓ Ù Ð Ò Ð ÙÐØ ÑÓ ÑÔÐÓ ÒÓ × Ð ×Óº ÈÓÖ × Ö ÞÓÒ¸ × ÔÓÖ ÐÓ Ò Ö Ð Ö ÓÑ Ò Ð Ú Ø Ö Ð ×Ó Ö Ö º1.2.3.2 Polimorfismo de herencia ÙÒ Ö Ð ÓÒ ÖÒ ÒØÖ ØÖ × Ð × × X¸ Y Ý Z¸ ÜÔÖ × Ö ¬ Ñ ÒØ Ð× Ù ÒØ Ñ Ò Ö X +método(...): T Y Z +método(...): T +método(...): T
  • 40. 1.2. Herencia 15 Ð ÔÓÐ ÑÓÖ¬×ÑÓ Ö Ò × ¬Ò ÓÑÓ Ð ÔÓ× Ð ¬Ò Ö ´ÒÓ ×Ó Ö Ö Öµ Ñ ØÓ Ó× Ú ÖØÙ Ð × Ð Ñ ×ÑÓ ÒÓÑ Ö Ò Ð × ØÖ × Ð × ×¸ ÒÚÓ Ö Ð Ñ ØÓ Ó × Ð Ð × X Ý Ø ÖÑ Ò Ö¸ Ò Ø ÑÔÓ Ù ÓÒ¸ Ù Ð × Ð Ñ ØÓ Ó ÓÒ Ö ØÓ × ÙÒ × Ð ÑÔÐ ÒØ ÓÒ Ö Ð Ð Ð × Xº ÐÓ× Ñ ØÓ Ó× Y::m´todo() Ý Z::m´todo() × Ð × ÓÒÒÓØ ÓÑÓ ×Ô Ð Þ ÓÒ × e e Ð Ñ ØÓ Ó Ò Ð Ð × × X::m´todo()º e ÈÓ Ö Ö× ÕÙ Ð ÔÓÐ ÑÓÖ¬×ÑÓ Ö Ò × Ð ×Ó Ö Ö Ñ ØÓ Ó× Ú ÖØÙ Ð × ÒØÖ Ð × Ð × ×º × ÑÔÓÖØ ÒØ Ö × ÐØ Ö ÕÙ ¸ Ò ×Ø ×Ó¸ ÐÓ× ÔÖÓØÓØ ÔÓ× ÐÓ× Ñ ØÓ Ó× Ú ÖØÙ Ð × Ø Ò Ò ÕÙ × Ö ÒØ Ó׺ Ê ÓÖ ÑÓ× ÕÙ Ð Ì ÙÖ ÓÒØ Ò Ñ ØÓ Ó× Ú ÖØ٠Р׸ ÔÙÖÓ׸ ÕÙ ÒÓ × ÔÙ Ò ÑÔÐ ÒØ Öº Ë ÔÖ Ø Ò × ÑÓ× Ù Ö ÙÒ Ó ØÓ Ø ÔÓ ÙÖ ¸ × ÒÓ× Ô Ö ¹ Ö Ð ÔÖ ÙÒØ Ù Ð ¬ ÙÖ ¸ ÔÙ × Ð Ì ÙÖ × ÙÒ ¬ ÙÖ ×ØÖ Ø ¸ ÒÓ ÓÒ Ö Ø º × Ù Ò Ó ÓÒÓ ÑÓ× Ù Ð × Ð ¬ ÙÖ ÕÙ Ø Ò × ÒØ Ó Ò Ö ÓÑÓ Ù ÖÐ º Ä ÑÔÐ ÒØ ÓÒ ÙÒ Ñ ØÓ Ó Ú ÖØÙ Ð ÔÙÖÓ × Ð Ð ÙÒ Ð × Ö Ú º È Ö Ð ×Ó Ð Ì ÙÖ ¸ ×Ù× ÙÖ × ÓÒ Ö Ø × ½¾ Ò ÑÔÐ ÒØ Ö ×Ù× Ñ ØÓ Ó× Ú ÖØÙ Ð × ÔÙÖÓ׺ ÈÓÖ ÑÔÐÓ¸ ÐÓ× Ñ ØÓ Ó× Square::draw() Ý Circle::draw() ÑÔÐ ÒØ Ò ÑÒÖ Ö ÒØ Ð Ù Ó ×Ù ÓÖÖ ×ÔÓÒ ÒØ ¬ ÙÖ º ×Ø ÑÓ Ó¸ Ù Ò Ó × ÓÔ Ö ×Ó Ö ÙÒ Ó ØÓ Ò Ö Ð Ø ÔÓ ÙÖ Ý × ÒÚÓ ÙÒ Ñ ØÓ Ó Ú ÖØ٠и × × Ð ÓÒ ¸ Ò Ø ÑÔÓ Ù ÓÒ¸ Ð Ñ ØÓ Ó ×Ô Ð Þ ÓÒ × ÙÒ Ð ¬ ÙÖ ÓÒ Ö Ø ×Ó Ö Ð Ù Ð × ×Ø ÓÔ Ö Ò Óº Ä Ú ÖØÙ Ð ÔÓÐ ÑÓÖ¬×ÑÓ Ö Ò × ÕÙ Ô ÖÑ Ø × Ö Ö ÔÖÓ Ö Ñ × Ò Ö Ð × ÕÙ Ñ Ò ÔÙÐ Ò ¬ ÙÖ × Ò Ö Ð × º ×ØÓ× ÔÖÓ Ö Ñ × ÒÓ Ö ÕÙ Ö Ò ÓÒÓ Ö Ð × ¬ ÙÖ × ÓÒ Ö Ø ×¸ ÔÙ × ÓÔ Ö Ò Ò ÙÒ ÓÒ Ñ ØÓ Ó× Ú ÖØÙ Ð × Ò Ö Ð × ÔÙÖÓ׺ ÈÓÖ ÑÔÐÓ¸ Ô ÖØ × ÔÖÓ Ö Ñ × Ô Ö Ù Ö ¬ ÙÖ × Ñ Ò ÔÙÐ Ò ¬ ÙÖ × Ò ×ØÖ ØÓ¸ Ð × Ù Ò¸ Ð × ÑÙ Ú Ò¸ Ð × ÖÓØ Ò¸ Ø Ø Ö º ØÓ× ÓÒÓÑ Þ Ö Ó Ó¸ Ö ×ÙÐØ ÙØ Ð Ð ÔÓ× Ð × Ö Ö ÔÖÓ Ö Ñ × Ò Ö Ð × ÓÑÓ Ð Ð ÑÔÐÓ × Ù Òؽ ÅÒ Ó ÒÖÐ ÙÖ ½ ≡ void release_left_button(const Action_Mode mode, Figure & fig) { switch (mode) { case Draw: case Move: fig.draw(); break; case Delete: fig.erase(); break; case Scale: fig.scale(dif_mag_with_previous_click()); break; case Rotate: fig.rotate(dif_angle_with_previous_click()); break; ... } } Í× × Figure º Ð Ù Ð × Ö ÒÚÓ Ò ×Ó ÕÙ × Ø Ø ÕÙ × ×Ù ÐØ Ð ÓØÓÒ ÞÕÙ Ö Ó Ð Ö ØÓÒ ÒØÖÓ ÙÒ Ð ÒÞÓ ×ØÖ ØÓ Ù Óº release left button() ÒÓ Ö ÕÙ Ö ÓÒÓ Ö Ð ¬ ÙÖ ÓÒ Ö Ø º ËÙ Ó Ó × ¹ Ò Ö Ð Ý ÒÓ × Ø ÔÓÖ Ð × ÑÓ ¬ ÓÒ × Ó Ò ÙÖ × Ð × ¬ ÙÖ ×º ÈÓÖ ÑÔÐÓ¸ × release left button() ÓÔ Ö ×Ó Ö ÙÒ Ù Ö Ó¸ ÒØÓÒ × × ÒÚÓ Ö Ò ÐÓ× Ñ ØÓ Ó× ÒÙ ÚÓ¸ Ð Ö ÙÒ Ò × Ö º
  • 41. 16 Cap´ ıtulo 1. Abstracci´n de datos o Ú ÖØÙ Ð × ÓÒ Ö ØÓ× Ð Ð× Square Ò ÐÓ Ñ ÒØ ¸ Ó ÙÖÖ ÓÒ ÙÒ Ö ÙÐÓ¸ ×Ó Ò Ð Ù Ð × ÒÚÓ Ö Ò ÐÓ× Ñ ØÓ Ó× Circleº 1.2.3.3 Polimorfismo de plantilla (tipos parametrizados) À Ý × ØÙ ÓÒ × Ò Ð × Ù Ð × ÙÒ ÔÖÓ Ð Ñ Ý ×Ù ×ÓÐÙ ÓÒ ÔÙ Ò ×Ô ¬ Ö× ÓÖÑ Ò¹ Ô Ò ÒØ Ð ´Ó ÐÓ×µ Ø ÔÓ´×µ ØÓ´×µº ÈÓÖ ÑÔÐÓ¸ Ð ÔÖÓ Ð Ñ Ù× Ö ÙÒ Ð Ñ ÒØÓ Ò ÙÒ ÓÒ ÙÒØÓ¸ Ý ×Ù ×ÓÐÙ ÓÒ¸ ×ÓÒ Ò Ô Ò ÒØ × Ð Ø ÔÓ Ð Ñ ÒØÓ׺ Ë ×ÙÔÓÒ ÑÓ× ÕÙ Ð ÓÒ ÙÒØÓ × Ö ÔÖ × ÒØ Ñ ÒØ ÙÒ ÖÖ ÐÓ¸ ÒØÓÒ ×¸ ÙÒ ÔÓ× Ð Ñ Ò Ö ¸ Ò Ö ¸ Ù× Ö ÙÒ Ð Ñ ÒØÓ × ÓÑÓ × Ù½ Ù×ÕÙ ÒØÖÓ ÙÒ ÖÖ ÐÓ ½ ≡ template <typename T, class Compare> int sequential_search(T * a, const T& x, int l, int r) { for (int i = l; i <= r; i++) if (are_equals<T, Compare> () (a[i], x)) return i; return No_Index; } Í× × sequential search ½ º ×Ø ÖÙØ Ò Ù× Ð Ð Ñ ÒØÓ x ÒØÖÓ Ð Ö Ò Ó ÓÑÔÖ Ò Ó ÒØÖ l Ý r Ð ÖÖ ÐÓ aº Ë Ö ØÓÖÒ ÙÒ Ò ÒØÖÓ Ð ÖÖ ÐÓ ÓÖÖ ×ÔÓÒ ÒØ ÙÒ ÒØÖ ÕÙ ÓÒØ Ò ÙÒ Ð Ñ ÒØÓ Ù Ð x¸ Ó Ð Ú ÐÓÖ No Index ´ÔÓÖ ÐÓ Ò Ö Ð −1µ¸ × Ð ÖÖ ÐÓ ÒÓ ÓÒØ Ò xº Ô ÖØ ÐÓ× Ô Ö Ñ ØÖÓ× Ô ÖØ Ò ÒØ × Ð ÓÒ ÙÒØÓ¸ Ð Ð ÓÖ ØÑÓ Ò Ö Ó sequential search<T, Compare>() Ö ÕÙ Ö Ó× Ø ÔÓ× Ô Ö Ñ ØÖ Þ Ó× Ð Ø ÔÓ ØÓ Ð ÓÒ ÙÒØÓ¸ ÒÓÑ Ò Ó Ò Ö Ñ ÒØ T¸ Ý ÙÒ Ø ÔÓ ÓÑÔ Ö ÓÖ Ù Ð¹ ÐÐ Ñ Ó are equals<T, Compare>() ÙÝÓ Ù×Ó × Ö ÓÖ Ó Ò Ü ½º¿º½ ´Ô Ò ½ µº ÙÒ ÓÒ × Ó Ñ ØÓ Ó× ÓÑÓ sequential search<T, Compare>() × ÒÓÑ Ò Ò ÔÐ Ò¹ Ø ÐÐ × º ÑÓ× ÕÙ sequential search<T, Compare>() × Ò Ö ÔÓÖÕÙ genera ÙÒ Ñ Ð ÙÒ ÓÒ × Ô Ö Ø ÔÓ Ü ×Ø ÒØ Ò Ð Ù Ð Ü ×Ø ÙÒ Ð × are equals()º Ò ÓØÖ × Ô Ð Ö ×¸ ÙÒ ÔÐ ÒØ ÐÐ ÙØÓÑ Ø Þ Ð ×Ó Ö Ö Ð ÙÒ ÓÒ Ó Ð × Ô Ö ÐÓ× Ø ÔÓ× ÒÚÓÐÙ Ö Ó× Ò Ð ÔÐ ÒØ ÐÐ º Ç × ÖÚ ÑÓ× ÕÙ ÙÒÕÙ Ð ÔÐ ÒØ ÐÐ × Ð Ñ ×Ñ ¸ Ó × ¸ × Ò Ö ¸ Ð Ó Ó Ò Ö Ó sequential search<int, are equals<int> >(...) × Ö ÒØ Ð Ð ÓÖ ØÑÓ sequential search<string, are equals<string> >(...)º Ð ÓÑÔ Ð ÓÖ Ò¹ Ö Ö Ó× Ó Ó× ×Ø ÒØÓ× ÙÒÓ Ô Ö ÖÖ ÐÓ× ÒØ ÖÓ× ´intµ Ý Ð ÓØÖÓ Ô Ö ÖÖ ÐÓ× Ò × ´stringµº Ù Ò Ó × ÑÔÐ ¬ Ó Ð Ð × ÙÖ ¸ × Ò Ó ÕÙ ×Ù ¬Ò × Ù ÖÐ Ò ÙÒ Ñ Ó ÓÒØÖ ×Ø º Ù ÐÑ Ó× Ð Ô Ô Ð¸ Ô ÒØ ÐÐ Ú Ó¸ Ø Ð Ú ×ÓÖ¸ ÓÐÓ Ö ¸ ººº Ð Ð ØÓÖ Ù Ó×Ó Ö× Ô Ö Ø Ó ÕÙ Ð × ÑÔÐ ÒØ ÓÒ × Ð Ð × ÙÖ ´Square¸ Triangle Ý Circleµ¸ Ø Ò Ò ÕÙ ×ÙÑ Ö ÙÒ Ñ Ó Ò ÓÒ Ö Ð Þ Ö Ð × ÓÔ Ö Ó¹ Ò ×º ÍÒ Ñ Ò Ö Ò Ô Ò Þ Ö× Ð Ñ Ó ÓÒØÖ ×Ø × Ö Ð Ð× ÙÖ ÙÒ ÔÐ ÒØ ÐÐ ÙÝÓ Ô Ö Ñ ØÖÓ × ¸ Ù×Ø Ñ ÒØ ¸ Ð Ñ Ó ÓÒØÖ ×Ø º Ä × ÐÙ×ØÖ Ò Ð Ö Ñ ÍÅÄ Ð ¬ ÙÖ ½º º Ò Ò Ð ×¸ Ø ÑÔÐ Ø º
  • 42. 1.2. Herencia 17 Medium_Type:Medium Figure -point: Point +medium: Medium_Type +Figure(in point:Point) +Figure(in figure:Figure) +~Figure() +get_point(): Point +draw(): void +move(in p:Point): void +erase(): void +scale(in ratio:Ratio): void +rotate(in angle:Angle): void ÙÖ ½º Ö Ñ ÍÅÄ Ð Ð× ÙÖ ÓÒ Ð Ñ Ó ÓÒØÖ ×Ø ÓÑÓ Ô Ö Ñ ØÖÓ Ò ÍÅĸ ÐÓ× Ô Ö Ñ ØÖÓ× ÔÐ ÒØ ÐÐ Ð Ð × × ×Ô ¬ Ò Ò ÙÒ Ö Ø Ò ÙÐÓ ÔÙÒØ Ó × ØÙ Ó Ò Ð ×ÕÙ Ò ×ÙÔ Ö ÓÖ Ö º ÍÒ Ó ØÓ Ø ÔÓ ÙÖ ÔÓ× ÓÑÓ Ø ÔÓ Ô Ö Ñ ØÖ Þ Ó Ð Ñ Ó Ò ÓÒ × Ñ Ò ÔÙÐ Ò Ð × ¬ ÙÖ ×º ÈÙ × Ö Ò × Ö Ó ÕÙ Ð × ×Ô Ð Þ ÓÒ × ÙÖ ÓÒÓÞ Ò Ð Ø ÔÓ ÓÒ Ö ØÓ Ð Ñ Ó ÓÒØÖ ×Ø º ÈÓÖ ×Ø Ö ÞÓÒ¸ Ð Ú Ö× ÓÒ ÔÐ ÒØ ÐÐ ÙÖ ÜÔÓÖØ Ð Ø ÔÓ Ô Ö Ñ ØÖ Þ Ó Ó Ð ÒÓÑ Ö Medium Typeº Ò C++ ×Ø ÓÒ × ÐÐ Ú Ó Ñ ÒØ Ð × Ù ÒØ Ð Ö ÓÒ½ Ç × ÖÚ ÓÖ × ÙÖ +≡ ´ µ typedef Medium Medium_Type; ×Ø Ñ Ò Ö ¸ ÙÒ ×Ô Ð Þ ÓÒ ÔÙ Ò×Ø Ò Ö ÙÒ Ó ØÓ Ø ÔÓ Medium Type ÓÑÓ × ÐÙ×ØÖ Ò Ð × Ù ÒØ ÑÔÐÓ void Square::draw() { /* .... */ Medium_Type m; // Instancia un objeto "medio de contraste" /* .... */ medium.put_line(...); } Ð ØÖ ÙØÓ Ø ÔÓ medium Ð Ð × Figure<Medium> Ð Ô ÖÑ Ø ×Ó Ð Ñ ×ÑÓº Ä ×Ô Ð Þ ÓÒ Square::draw() Ù Ö Ð Ò × Ò Ð Ñ Ó ÓÒØÖ ×Ø ÓÖÖ ×ÔÓÒ ÒØ × Ð Ö ×Ô Ø ÚÓ Ù Ö Óº Ä ÑÔÐ ÒØ ÓÒ Square::draw() Ú Ò Ò Ö Ö ×Ô ØÓ Ð Ñ Óº
  • 43. 18 Cap´ ıtulo 1. Abstracci´n de datos o1.2.3.4 Lo general y lo gen´rico eÄÓ× Ø ÖÑ ÒÓ× Ò Ö Ð Ý Ò Ö Ó ÒÓ ×ÓÐÓ × Ô Ö Ò ÑÙ Ó Ð Ü Ñ ÒØ ¸ × ÒÓ ÕÙ ¸ Ò ØÓ¸ Ø Ñ Ò ×ÓÒ ÑÙÝ × Ñ Ð Ö × × Ñ ÒØ Ý Ø ÑÓÐÓ Ñ ÒØ º Ä Ö Þ Ñ Ó× Ø ÖÑ ÒÓ× × Ð Ú Ö Ó Ð Ø ÒÓ Ò ÖÓ¸ ÕÙ × Ò ¬ Ò Ò Ö Ö¸ Ö Öº Ò ×Ø ÔÓ ¸ Ø ÒØÓ Ò Ö Ð ÓÑÓ Ò Ö Ó ÓÒÒÓØ Ò ÐÓ ÕÙ × ÓÑÙÒ ÙÒ ×Ô º Ò ÖÓ ÔÖÓÚ Ò Ð Ú Þ Ð Ö Ó γ νος ´ ÒÙ×µ ÕÙ Ò Ð Ð Ò Ù ÑÓ ÖÒÓ ÓÒÒÓØ Ö Þ Ý ÕÙ Ò Ö Ó × Ö Ö ÐÓ ÓÑÙÒº ÒÙ× ÔÖÓÚ Ò ÙÒ ÑÙÝ ÑÔÐ Ú Ö Ø ÖÑ ÒÓ× Ò ÖÓ¸ Ò¸ Ò Ø ¸ ÒØ Ð Ó¸ Ò ÖÓ×Ó¸ ÒØ ¸ Ò ÐÓ ¸ Ò Ó¸ Ò Ð¸ Ò Ò Ó¸ Ò Ò Ö ¸ Ø Ø Ö º Ò ×Ù Ð Ö × Ñ Ý ØÖ × Ò ÒØ Ð Å Ø × ¸ Ö ×ØÓØ Ð × ×Ø Ò Ù Ð Ò ÖÓ ÓÑÓÐÓ ÕÙ Ð × × Ò ÐÑ ÒØ ÓÑÙÒ ÙÒ ×Ô º ÈÓ ÑÓ× Ö¸ Ô٠׸ ÕÙ Ð Ö Ó ØÓ× ×Ø ¸ × Ñ × ¾ ¼¼ ÒÓ׸ ÑÔÖ Ò ÔÓÖ ×Ø º Ò Ð ×Ó Ð ÔÖÓ Ö Ñ ÓÒ Ó ØÓ׸ Ò Ö Ð ÒØ ¬ Ð × × Ó ØÓ× Ò Ö Ð × × Ö¸ × × ÓØÖ × Ð × × Ñ × Ô ÖØ ÙÐ Ö ×¸ Ò Ú Ù Ð ×¸ Ó Ð × × ÕÙ ÓÔ Ö Ò ×Ó Ö Ð Ò Ö Ð º ÈÓÖ ÑÔÐÓ׸ Ð Ð × ÙÖ × Ò Ö Ð ØÓ × Ð × ¬ ÙÖ ×¸ Ñ ÒØÖ × ÕÙÐ Ð × are equals() Ö ÔÖ × ÒØ Ð ÓÑÔ Ö ÓÒ Ò Ö Ð Ý Ò Ö ÒØÖ Ó ØÓ׺ Ò Ö Ó ÓÒÒÓØ ÐÓ ÕÙ Ò Ö Ó × ¸ Ò Ð ÓÖ ÒØ ÓÒ Ó ØÓ׸ Ð × ÔÐ ÒØ ÐР׸ ÓÒ ÔØÓ ÕÙ Ö Ò ÑÓ× ÔÖ × ÒØ Ö Ý ÑÔÐ ¬ Öº1.3 El problema fundamental de estructuras de datos Ü ×Ø ÙÒ Ð × ÔÖÓ Ð Ñ ÙÝ Ó ÙÖÖ Ò × Ø Ò Ù Ù Ò ÔÖ Ø Ñ ÒØ ØÓ Ó× ÐÓ× Ñ ØÓ× Ð ÔÖÓ Ö Ñ ÓÒ ÕÙ Ý × ÔÓ× Ð Ò Ö Þ ÖÐ Ò ÙÒ ×ÓÐ Ð × º Ë ØÖ Ø Ð ÓÒ ÙÒØÓº ÈÙ ×ØÓ ÕÙ Ò Ð Ñ ÝÓÖ ÐÓ× ×Ó× ÐÓ× Ð Ñ ÒØÓ× ×ÓÒ Ð Ñ ×ÑÓ Ø ÔÓ¸ × ÔÓ× ¹ Ð Ó Ø Þ ÖÐÓ Ò ÙÒ Ì Ò Ö Ó Ø Ð ÓÑÓ ÐÓ ÐÙ×ØÖ Ð Ö Ñ ÍÅÄ Ð ¬ ÙÖ ½º º Ð Ö Ñ Ò Ù ×Ø ÓÒ ÑÓ Ð Þ ÐÓ ÕÙ × ÓÒÓ ÓÑÓ Ð ÔÖÓ Ð Ñ ÙÒ Ñ ÒØ Ð ×¹ØÖÙ ØÙÖ × ØÓ× º Ä × Ö ÒØ × Ñ Ò Ö × ÑÔÐ ÒØ ÖÐÓ Ý ×Ù× Ú Ö× × Ö ÙÒ×Ø Ò × ÔÐ ÓÒ Ö Ò × ØÓ Ó Ð ÓÖÔÙ× ×Ø Ø ÜØÓº Key_Type:T Compare_Type:Compare Set +insert(in key:T): void +search(in key:T): T * +remove(in key:T): void +size(): size_t +swap(inout set:Set<T, Compare>): void +join(in set:Set<T, Compare>): Set<T> +split(in key:T,out l:Set<T, Compare>,out r:Set<T, Compare>): void +position(in key:T): int +select(in pos:int): T* +split_pos(in pos:int,out l:Set<T, Compare>, out r:Set<T, Compare>): void ÙÖ ½º Ö Ñ ÍÅÄ ÙÒ Ð × ÒÖ ÓÒ ÙÒØÓ ´Ë ص
  • 44. 1.3. El problema fundamental de estructuras de datos 19 Ä Ð × Set<T, Compare> ÑÓ Ð Þ ÙÒ ÓÒ ÙÒØÓ Ò Ö Ó ØÓ× Ø ÔÓ T¸ ÓÒ Ö Ø Ö Ó ÓÑÔ Ö ÓÒ Compare¸ ÙÝÓ ¬Ò × Ò Ö Ð Þ Ö ÓÔ Ö ÓÒ × ×Ó Ö ÓÒ ÙÒØÓ× × Ò ÕÙ ÒÓ× ÒØ Ö × ÓÑÓ ×ØÓ× × ÑÔÐ ÒØ Òº À Ý ÑÙ × ÓÖÑ × ÑÔÐ ÒØ Ö Ð Ø ÔÓ Set<T, Compare>º Ä × ÓÒ Ô Ò ×Ù× Ö ÙÒ×Ø Ò × Ù×Óº ÓÒ ÙÒØÓ× ØÓ× ÕÙ × ÓÖÖ ×ÔÓÒ Ò ÓÒ Ð ÔÖÓ Ð Ñ ÙÒ Ñ ÒØ Ð × ÒÓÑ Ò Ò ÓÒØ Ò ÓÖ × º ÍÒ ÓÒØ Ò ÓÖ ×¸ Ô٠׸ ÙÒ ÓÒ ÙÒØÓ Ð Ñ ÒØÓ× Ð Ñ ×ÑÓ Ø ÔÓº Set<T, Compare> ÔÙ ÑÓ Ð Þ Ö× Ò C++ ÓÑÓ × Ù½ ÓÒ ÙÒØÓ ÙÒ Ñ ÒØ Ð ½ ≡ template <typename T, class Compare> struct Set { void insert(const T & key); T * search(const T & key); void remove(const T & key); const size_t size() const; void swap(Set<T, Compare> & set); void join(Set<T, Compare> * set); void split(const T& key, Set<T, Compare> *& l, Set<T> *& r); const int position(const T& key) const; T * select(const int pos); void split_pos(const int & pos, Set<T, Compare> *& l, Set<T, Compare> *& r); }; Ò Ð Ò × Ò Ö Ð ×¸ Ð ÔÖÓ Ð Ñ ÙÒ Ñ ÒØ Ð × ¬Ò ÓÑÓ Ð Ñ ÒØ Ò Ñ ÒØÓ ÙÒ ÓÒ ÙÒØÓ Set<T, Compare> Ð Ñ ÒØÓ× Ø ÔÓ T ÓÒ Ð × ÓÔ Ö ÓÒ × × × Ò× Ö ÓÒ¸ Ù×ÕÙ ¸ ×ÙÔÖ × ÓÒ Ý Ö Ò Ð Ý ÙÝ × ÒØ Ö × ÙÒ Ñ ÒØ Ð × ×ÓÒ insert()¸ search()¸ remove() Ý size()¸ Ö ×Ô Ø Ú Ñ ÒØ º Ö Ù ÒØ Ñ ÒØ ¸ ÐÓ× Ð Ñ ÒØÓ× Ð ÓÒ ÙÒØÓ × ÒÓÑ Ò Ò Ð Ú × º ÐÐ Ð ÒÓÑ Ö Ô Ö Ñ ØÖÓ key Ò ÑÙ × Ð × ÒØ Ö × Set<T, Compare>º swap(set) ÒØ Ö Ñ ØÓ Ó× ÐÓ× Ð Ñ ÒØÓ× set ÓÒ ÐÓ× thisº Ë ÙÒ Ð ×ØÖÙ ¹ ØÙÖ ØÓ× ÓÒ ÕÙ × ÑÔÐ ÒØ Set<T, Compare>¸ Ð ÙÒ × Ú × ×Ø ÓÔ Ö ÓÒ × Ö ÑÙÝ Ö Ô º Ð Ñ ØÓ Ó join(set) ÙÒ this ÓÒ Ð ÓÒ ÙÒØÓ Ö Ö Ò Ó ÔÓÖ Ð Ô Ö Ñ ØÖÓ setº ×ÔÙ × Ð ÓÔ Ö ÓÒ¸ set Ú Ò Ú Óº join() ÔÙ Ø Ò Ö Ú Ö ÓÒ × × ÙÒ Ð Ø ÔÓ ÓÒ ÙÒØÓ Ý Ð ×ØÖÙ ØÙÖ ØÓ׺ Ä × Ñ × ÓÑÙÒ × ×ÓÒ Ð ÓÒ Ø Ò ÓÒ Ý Ð ÒØ Ö Ô ÓÒº 1.3.1 Comparaci´n general entre claves o ÅÙ × Ú × Ð Ø ÔÓ Ò Ö Ó T × ÓÖ Ò Ð × Ö¸ Ð × Ð Ú × ÔÙ Ò ×ÔÓÒ Ö× Ò ÙÒ × Ù Ò ÓÖ Ò × Ð Ñ ÒÓÖ ×Ø Ð Ñ ÝÓÖ Ó Ú Ú Ö× º Ò ×Ó× ×Ó׸ Ô Ö Ò Ð Ö ×ØÓ Ð × ÓÔ Ö ÓÒ × Ý Ð Ð × ÓÑÔ Ö ÓÒ Compareº Compare × ÙÒ Ð × ÕÙ ÑÔÐ ÒØ Ð ÓÑÔ Ö ÓÒ ÒØÖ Ó× Ð Ñ ÒØÓ× Ø ÔÓ Tº ÈÓÖ ÐÓ Ò Ö Ð¸ Compare ÑÔÐ ÒØ Ð ÓÔ Ö ÓÖ Ö Ð ÓÒ Ð <º ÓÒ ÙÒ Ð × ×Ø Ø ÔÓ¸ × ÔÓ× Ð Ö Ð Þ Ö Ð Ö ×ØÓ ÐÓ× ÓÔ Ö ÓÖ × Ö Ð ÓÒ Ð ×º ÈÓÖ ÑÔÐÓ¸ × Ø Ò ÑÓ× Ó× Ð Ú × k1 Ý k2 Ý ÙÒ Ð × Compare<T> ÙÝÓ ÓÔ Ö ÓÖ () ÑÔÐ ÒØ k1 < k2¸ ÒØÓÒ × Ð × Ù ÒØ × Ù Ó Ó Ó ÑÔÐ ¬ ØÓ × Ð × ÓÑÔ Ö ÓÒ × ÔÓ× Ð ×
  • 45. 20 Cap´ ıtulo 1. Abstracci´n de datos o if (Compare() (k1, k2)) // ¿k1 < k2? // acci´n a ejecutar si k1 < k2 o else if (Compare() (k2, k1)) // ¿k2 < k1? // acci´n a ejecutar si k2 < k1 o else // Tienen que ser iguales // acci´n a ejecutar si k1 == k2 o1.3.2 Operaciones para conjuntos ordenablesË Ð ÓÒ ÙÒØÓ × ÓÖ Ò Ð ¸ ÒØÓÒ × ×Ø ÔÙ ÒØ ÖÔÖ Ø Ö× ÓÑÓ ÙÒ × Ù Ò ÓÖ ÒS =< k0, k2, . . . , kn−1 >¸ ÓÒ n × Ð Ö ÒÐ Ð ÓÒ ÙÒØÓº Ò × ×Ó¸ ÔÙ ÒÖ Ð Þ Ö× Ú Ö × ÓÔ Ö ÓÒ × ×Ó Ö Ð × Ù Ò Sº Ð Ñ ØÓ Ó split(key, l, r) Ô ÖØ ÓÒ Ð ÓÒ ÙÒØÓ Ò Ó× ×Ù ÓÒ ÙÒØÓ×l =< k0, k1, . . . , ki > Ý r =< ki+1, ki+2, . . . , kn−1 > × ÙÒ Ð Ð Ú key Ø Ð ÕÙ l < Ý <rº × Ö¸ l ÓÒØ Ò Ð × Ð Ú × Ñ ÒÓÖ × ÕÙ key Ý r Ð × Ñ ÝÓÖ ×º ×ÔÙ × Ð ÓÔ Ö ÓÒthis Ú Ò Ú Óº Ð Ñ ØÓ Ó position(key) Ö ØÓÖÒ Ð ÔÓ× ÓÒ Ð Ð Ú ÒØÖÓ ÐÓ ÕÙ × Ö Ð× Ù Ò ÓÖ Ò º Ë key ÒÓ × Ò Ù ÒØÖ Ò Ð ÓÒ ÙÒØÓ¸ ÒØÓÒ × × Ö ØÓÖÒ ÙÒ Ú ÐÓÖ ÒÚ Ð Óº Ð Ñ ØÓ Ó select(pos) Ö ØÓÖÒ Ð Ð Ñ ÒØÓ × ØÙ Ó Ò Ð ÔÓ× ÓÒ pos × ÙÒ Ð ÓÖ ÒºË pos × Ñ ÝÓÖ Ó Ù Ð Ð Ö Ò Ð ¸ ÒØÓÒ × × Ò Ö ÙÒ Ü Ô ÓÒº Ò ÐÑ ÒØ ¸ Ð Ñ ØÓ Ó split pos(pos, l, r) Ô ÖØ ÓÒ Ð ÓÒ ÙÒØÓ Òl =< k0, k1, . . . , kpos−1 > Ý r =< kpos, . . . , kn−1 >º ÍÒ Ü Ô ÓÒ Ó ÙÖÖ Ö × pos ×Ø Ù Ö Ð Ö Ò Óº1.3.3 Circunstancias del problema fundamental Ù Ð ×ÕÙ Ö Ò × Ò Ð × × ØÙ ÓÒ × ÙØ Ð Þ ÓÒ¸ ÐÓ× Ð Ñ ÒØÓ× ÙÒ ÓÒ ÙÒØÓ Ø Ò Ò ÕÙ Ù Ö Ö× Ò Ð ÙÒ Ð × Ñ ÑÓÖ º Ä Ñ Ò Ö Ö ÔÖ × ÒØ Ö Ò Ñ ÑÓÖ Ø Ð ÓÒ ÙÒØÓÖ ÕÙ Ö ÙÒ ×ØÖÙ ØÙÖ ØÓ× ÙÝ ÓÖÑ Ô Ò ×Ù× Ö ÙÒ×Ø Ò × Ù×Óº À Ý Ú Ö Ó× ØÓÖ × ÕÙ Ò Ò Ò Ð × ÒÓ Ó × Ó Ò Ð ×ØÖÙ ØÙÖ ØÓ׸ ÒØÖÐÓ× ÕÙ ×Ø Ö ÐÓ× ÓÒÓ Ñ ÒØÓ× ÕÙ × Ø Ò Ò ×Ó Ö Ð Ö Ò Ð ¸ Ð ×ØÖ Ù ÓÒ Ö ÖÒ ÐÓ× Ð Ñ ÒØÓ׸ Ð × ÓÔ Ö ÓÒ × ÕÙ × Ù× Ö Ò Ý Ð Ö Ù Ò ÓÒ ÕÙ ×Ø ×× ÒÚÓ Ö Òº Ä Ö ÒÐ ÒØÖ Ð Ø ÔÓ Ñ ÑÓÖ º ÍÒ Ö Ò Ð ÑÙÝ Ö ÒÖ ÕÙ Ö Ö Ñ ÑÓÖ × ÙÒ Ö ´ × Óµ Ó Ø Ö Ö ´ÓØÖÓ× Ñ Ó× Ñ × Ð ÒØÓ×µ Ý ×Ø × ÓÒ Ø Ö ÐÑ ÒØ Ð Ø ÔÓ ×ØÖÙ ØÙÖ ØÓ׺ À Ý Ó × ÓÒ × Ò ÕÙ Ð ÙÒ × Ð Ú × ×ÓÒ Ñ × ÔÖÓÔ Ò× × ÖØ × ÓÔ Ö ÓÒ × ÕÙÓØÖ ×º ÈÓÖ ÑÔÐÓ¸ × Ð × Ð Ú × Ù × Ò Ô ÐÐ Ó׸ ÒØÓÒ × Ð × Ö ÕÙ Ð × Ð ØÖ × ÜÓ Ý ×ÓÒ ÔÓ Ó Ö Ù ÒØ ×¸ Ý ÕÙ Ð × ÚÓ Ð × ×ÓÒ Ñ × Ö Ù ÒØ ×¸ ÔÙ Ò Ö Ò ÙÒ ×ØÖÙ ØÙÖ ØÓ× ÕÙ Ø Ò Ö ÙÔ Ö Ö Ö Ô Ñ ÒØ Ð Ú × ÕÙ Ø Ò Ò¸ ÔÓÖ ÑÔÐÓ¸ ÓÑÓ × ÙÒ Ð ØÖ º Ë ÙÒ Ð ÔÖÓ Ð Ñ ¸ Ð ÙÒ × ÓÔ Ö ÓÒ × ×ÓÒ Ñ × ÔÖÓ Ð × ÕÙ ÓØÖ × Ò ÐÙ× Ú ¸ ÒÑÙ Ó× ×Ó׸ ÒÓ × ÙØ Ð Þ Ò ØÓ × Ð × ÓÔ Ö ÓÒ × Ó Ð Ñ ÝÓÖ Ð × ØÚ × ×Ó Ö Ð ÓÒ ÙÒØÓ × ÓÒ ÒØÖ Ò Ò ÙÒ Ó ÔÓ × ÓÔ Ö ÓÒ ×º Ò ×ØÓ× ×Ó׸ Ð ×ØÖÙ ØÙÖ ØÓ×ÔÙ × Ò Ö× Ô Ö ÓÔØ Ñ Þ Ö Ð ÓÔ Ö ÓÒ Ñ × Ö Ù ÒØ º
  • 46. 1.4. Dise˜ o de datos y abstracciones n 211.3.4 Presentaciones del problema fundamental Ò Ú Ð ÙÒ ÓÒ Ð Ü ×Ø Ò Ú Ö × ÒØ ÖÔÖ Ø ÓÒ × Ð Ø ÔÓ Ò Ö Ó ÓÒ ÙÒØÓ ÙÒ Ñ Ò¹Ø Ð ½ º À ݸ Ò × Ò ¸ Ó× ÓÒ× Ö ÓÒ × Ò × Ö × ÐØ Ö× º Ä ÔÖ Ñ Ö ÓÒ× Ö ÓÒ ÓÒ ÖÒ Ð Ö Ô Ø Ò Ó ÒÓ ÐÓ× Ð Ñ ÒØÓ׺ Ù Ò Ó× Ô ÖÑ Ø Ö Ô Ø Ö ÐÓ× Ð Ñ ÒØÓ× ÙÒ ÓÒ ÙÒØÓ¸ ÒØÓÒ × ×Ø × Ð ÒÓÑ Ò ÑÙÐØ ¹ ÓÒ ÙÒØÓ º ÒÐ Ð ÓØ ×Ø Ò Ö C++¸ Ò Ð ÒØ ÐÐ Ñ stdc++¸ Ð ÓÒ ÙÒØÓ × Ð ÓÒÓ ÓÑÓ set<T, compare> Ñ ÒØÖ × ÕÙ Ð ÑÙÐØ ÓÒ ÙÒØÓ ÓÑÓ multiset<T, compare>º Ä × ÙÒ ÓÒ× Ö ÓÒ × Ð ÐÑ Ò Ñ ÒØÓ Ô Ö × ÓÖ Ò Ó× Ø ÔÓ (à Ý, Ð Ñ)ºÄ × ÙÒ Ø Ð ×Ó Ø Ú ÕÙ Ö ÙÔ Ö ÙÒ Ò×Ø Ò ÐÑ ∈ ÐÑ ÙÒ Ð Ú Ý ∈ à ݺ ×Ø Ð × ÓÒ ÙÒØÓ × Ð ÓÒÓ ÓÑÓ Ñ Ô Ó ½¼ º ÙÒ ÓÐ× Ð Ú × ÔÙ Ò Ö Ô Ø Ö× ¸ ÒØÓÒ × Ð Ñ Ô Ó × Ð ÑÙÐØ Ñ Ô Ó º Ò Ð Ð ÓØ ×Ø Ò Ö C++ Ð Ñ Ô Ó × Ð ÓÒÓ ÓÑÓ map<Key, Elem, compare>Ñ ÒØÖ × ÕÙ Ð ÑÙÐØ Ñ Ô Ó ÓÑÓ multimap<Key, Elem, Compare>º Ò ÐÓ× Ñ Ô Ó× ×Ù Ð ÑÔÐ ÒØ Ö× Ð ÓÔ Ö ÓÖ [] × ÙÒ Ð Ð Ú º1.4 Dise˜o de datos y abstracciones n Ð × ÒÓ ×ØÖ ÓÒ × Ý ×Ù× ÓÒ× Ù ÒØ × Ì × ÙÒ ÖØ ÕÙ × ÔÖ Ò ÓÒ Ð ÜÔ ¹Ö Ò º ÕÙ Ö ÖÐ ÒÓ Ø Ò ÓØÖ ÐØ ÖÒ Ø Ú ÕÙ Ò Ö ÒØ Ö× Ö ×ÔÓÒ× Ð Ñ ÒØ ÔÖÓ Ð Ñ ×Ö Ð × ÔÖÓ Ö Ñ ÓÒº ÈÓÖ Ö ×ÔÓÒ× Ð × ÒØ Ò Ð Ø ØÙ ÓÒÓÖ Ð Ö ×ÔÓÒ ÖÔÓÖ ÐÓ× ÕÙ ÚÓ Ó׸ ÐÓ Ù Ð ÒÓ ×ÓÐÓ ×Ø ÓÒ ÓÒ Ó Ð ÓÒ× Ò ÕÙ Ð ÔÖ Ø ÒØØÒ Ö ×Ù ÓÒÓ Ñ ÒØÓ¸ × ÒÓ ×Ù ÓÒ ×Ø Ý Ù ÖÞ Ö Ø Öº Ò ÐÓ ÕÙ × Ù ×Ø × ÓÒ¸ × ÔÐ ÒØ Ò Ð ÙÒ × Ö ­ Ü ÓÒ × ÕÙ ÓÒ× Ö Ö Ð ÔÖ Ò Þ Ô Ö Ò Ö ÒØ Ö Ñ ÓÖ Ð ÔÖ Ò Þ Ð × ÒÓ ØÓ× Ý ÔÖÓ Ö Ñ ÓÒº1.4.1 Tipos de abstracci´n oË ÙÒ Ð ÒØ Ö × ÕÙ × Ø Ò Ð ÑÓÑ ÒØÓ × Ò Ö ÙÒ ×ØÖ ÓÒ Ó ×ØÖÙ ØÙÖ ØÓ׸ ×Ø ÔÙ Ð × ¬ Ö× Ò ÓÖ ÒØ ÐÓ× ØÓ× ¸ ÓÖ ÒØ Ð ­Ù Ó Ù ÓÖ Ò¹Ø Ð ÓÒ ÔØÓ Ó ×ØÖ ÓÒ º ÍÒ ×ØÖ ÓÒ ÓÖ ÒØ ÐÓ× ØÓ× × ÕÙ ÐÐ ÙÝÓ ¬Ò ×Ø Ò ÙÞ Ó ÔÓÖ ÐÓÖ Ò Þ ÓÒ ÐÓ× ØÓ× Ò Ð ÓÑÔÙØ ÓÖº Ð Ú Þ¸ Ø Ð ÓÖ Ò Þ ÓÒ Ó Ö¹ÕÙ Ö Ñ ÒØÓ× × ÑÔ ÒÓ¸ ÓÖÖÓ ×Ô Ó Ó Ð ÙÒ ÓØÖÓ ÕÙ Ø Ò Ð ÓÑÔÙØ ÓÖ¸× ×Ø Ñ ÓÔ Ö Ø ÚÓ Ù ÓØÖÓ× ÔÖÓ Ö Ñ × × ×Ø Ñ º ×Ø × Ð ×Ó ÑÙ × Ð × ×ØÖÙ ¹ØÙÖ × ØÓ× ÕÙ ×ØÙ Ö ÑÓ× Ò ×Ø Ø ÜØÓº ÑÔÐÓ× ×Ø × Ð × × ÓÖ ÒØ ÓÒ ÐÓ× ÓÒ×Ø ØÙÝ Ò ÐÓ× ÖÖ ÐÓ׸ Ð × Ð ×Ø × ÒÐ Þ × Ý Ð × Ú Ö× × ×ØÖÙ ØÙÖ × Ö ÓÐ ÕÙ × Ö Ò ×ØÙ × Ò ×Ø Ø ÜØÓº ÅÙ Ó× ÔÖÓ Ð Ñ × ÓÑÔÙØ ÓÒ Ð × Ü Ò ÙÒ Ô ØÖÓÒ ÔÖÓ × Ñ ÒØÓ ×Ø ÒØ ÚÓÝ ÙÒ ÓÖÑ º Ò Ø Ð × × ØÙ ÓÒ ×¸ ÔÙ × Ö ÑÙÝ ÓÒÚ Ò ÒØ ×ÔÓÒ Ö ÙÒ ×ØÖÙ ¹ØÙÖ ØÓ× ÕÙ Ö ÔÖ × ÒØ Ð ÓÖ Ò Ó ×ÕÙ Ñ ÔÖÓ × Ñ ÒØÓ ÐÓ× ØÓ׺ Ò ×Ø ×Ó ÑÓ× ÕÙ Ð ×ØÖÙ ØÙÖ ×Ø ÓÖ ÒØ Ð ­Ù Ó Ó Ð Ô ØÖÓÒº ÈÓÖ ÑÔÐÓ¸ × ÐÓ× ØÓ× Ò ÔÖÓ × Ö× × ÙÒ Ð ÓÖ Ò Ô Ö ÓÒ Ò Ð × ×Ø Ñ ¸ ÒØÓÒ × ÙÒ ×ÔÓ× ÓÒ ½¼ Ð Ò Ð × Ñ ÔÔ Ò ¸ ÙÝ ÓÒÒÓØ ÓÒ Ñ Ø Ñ Ø × Ò ¬ ÙÒ ÓÒ Ò Ð × ÒØ Ó Ð Ø ÓÖÓÒ ÙÒØÓ׺ ÈÓÖ ÓØÖ Ô ÖØ ¸ × ÑÔÓÖØ ÒØ ×Ø Ö ÕÙ Ð Ø ÖÑ ÒÓ Ù Ö ÒØ Ñ ÒØ ÔØ Ó ÔÓÖ Ð Ê º
  • 47. 22 Cap´ ıtulo 1. Abstracci´n de datos o ÐÓ× ØÓ× Ò ÙÒ × Ù Ò ÔÙ Ö ÔÖ × ÒØ Ö Ð ÓÖ Ò ÐÐ º Ì Ð ×ØÖÙ ØÙÖ × ¹ÒÓÑ Ò ÓÐ Ý × Ö ×ØÙ Ò Ü ¾º ´Ô Ò ½¿½µº ÆÓØ ÑÓ× ÕÙ Ò ×Ø ×Ó ÒÓ ×Ô Ò× Ò Ð ÓÖ Ò Þ ÓÒ ÕÙ ÐÓ× ØÓ× Ø Ò Ò Ò Ñ ÑÓÖ ¸ × ÒÓ Ò Ð ÓÖ Ò Ó Ô ØÖÓÒ ÒÕÙ ×ØÓ× × ÔÖÓ × Òº Ò ÐÑ ÒØ ¸ Ð × ÒÓ ÙÒ ×ØÖÙ ØÙÖ ØÓ× ÔÙ Ð Ø Ö Ð Ö ÔÖ × ÒØ ÓÒÙÒ ÓÒ ÔØÓ Ó ×ØÖ ÓÒ ÓÒÓ ÓÒ Ñ Ö × ÓÑÔÖ Ò Ö Ð ÔÖÓ Ð Ñ Ý¸ ÓÒ× Ù ÒØ ¹Ñ ÒØ ¸ × ÒÚÓÐÚ Ö× ÓÑÓ Ñ ÒØ Ò ×Ù ×ÓÐÙ ÓÒº Ò ×Ø ×Ó¸ ÑÓ× ÕÙ Ð ×ØÖÙ ¹ØÙÖ ØÓ× ×Ø ÓÖ ÒØ Ð ÓÒ ÔØÓº Ä × × ÑÔÐ ¬ Ö Ð ÔÖÓ Ö Ñ ÓÖ ÓÐÓ× Ù×Ù Ö Ó× Ð ÒØ Ò Ñ ÒØÓ Ð ÔÖÓ Ð Ñ Ý ×Ù ×ÓÐÙ ÓÒº À Ý ÑÙ Ó× Ñ ÒÓ× Ô Ö Ö ×ÓÐÚ Ö ÔÖÓ Ð Ñ ×º Ù ÒØ Ò ÕÙ Å Ð Ö Ý¸ ÔÖ ÙÖ×ÓÖ Ð Ø ÓÖ Ð ØÖÓÑ Ò Ø ¸ ÒÓ Ø Ò ×Ù¬ ÒØ ÓÖÑ ÓÒ Ñ Ø Ñ Ø Ô Ö ÜÔÐ Ö ÐÓ× ÒÓÑ ÒÓ× Ð ØÖÓÑ Ò Ø Ó× ×Ù× ÜÔ Ö Ñ ÒØÓ׺ Ä Ò Ð Ö Ý ÐÓ ÓÒ Ù Ó Ö Ö ×Ù× ÔÖÓÔ × ×ØÖ ÓÒ × Ö ¬ ׸ ÔÖÓÚ Ò ÒØ × ×Ù× Ó × ÖÚ ÓÒ × ÜÔ Ö Ñ ÒØ Ð ×¸ Ô ÖØ Ö Ð × Ù Ð × ÙÒ Ó Ý ÜÔÐ Ó Ð Ð ØÖÓÑ Ò Ø ×ÑÓº Ð Ù Ð ÕÙ Ö Ý¸ ÑÙ ×Ú × Ö ÑÓ× ×ØÖ ÓÒ × ÕÙ ÒÓ× Ô ÖÑ Ø Ò ÓÑÔÖ Ò Ö Ñ ÓÖ ÙÒ Ð ÓÖ ØÑÓº ×Ø × ×ØÖ ÓÒ × ÓÒ ÓÖÑ Ò ×ØÖÙ ØÙÖ × ØÓ׺ ÍÒ ÑÔÐÓ ÑÙÝ ÒÓØ Ð × Ð ÓÒ ÔØÓ Ö Óº Ø ÑÓÐÓ Ñ ÒØ ¸ Ð Ø ÖÑ ÒÓ Ö Ó ÔÖÓÚ Ò Ö ¬ Ó ¸ ÔÙ × ÐÓ× Ö Ó× ×ÓÒ ÜÔÖ × Ó× Ò Ø ÖÑ ÒÓ× Ö ¬ Ó׺ Ë Ò Ñ Ö Ó¸ Ò Ö Ð ¸ ÙÒ Ö Ó ÑÓ Ð Þ Ð ÓÒ ÔØÓ Ö Ð ÓÒ ×Ó Ö Ð Ù Ð Ü ×Ø ØÓ Ó ÙÒ ÓÖÔÙ× Ñ Ø Ñ Ø Óº Ô × Ö Ð ÓÖÔÙ× Ý¸ ÕÙ ÞÔÓÖÕÙ ×Ø × Ò ÓÑÔÐ ØÓ¸ ÐÓ× Ö Ó× Ó Ö Ò ÙÒ Ú × ÓÒ Ö ¬ Ð Ö Ð ÓÒ Ñ Ø Ñ Ø ÓÒ Ð ÕÙ × Ñ × ÓÑÓ ØÖ Öº ×Ø × ÓØÖ Ö ÞÓÒ ÕÙ Ù×Ø ¬ Ð × ÒÓ ÙÒ ×ØÖÙ ØÙÖ ØÓ ÙÒ Ñ Ò Ö Ö ÔÖ × ÒØ Ö Ð ÔÖÓ Ð Ñ Ò Ø ÖÑ ÒÓ× Ñ × × Ò ÐÐÓ׺ ×ØÓ× ØÖ × Ø ÔÓ× ÓÖ ÒØ ÓÒ Ð ÙÒ ÓÖÑ Ò Ð × ¬ Ò Ð ¬Ò Ó Ð Ô Ö ÕÙ × × Ò Ó × × Ð ÓÒ ÙÒ ×ØÖÙ ØÙÖ ØÓ׺ Ä Ð × ¬ ÓÒ ÒÓ × Ü Ø Ò Ü ÐÙÝ ÒØ ºÍÒ ×ØÖÙ ØÙÖ ØÓ× ÔÙ Ò Ö Ð Ú Þ¸ Ó Ò Ö ÒØ × ÑÓÑ ÒØÓ׸ Ó ØÓ Ó× Ó Ù ÐÕÙ Ö ÐÓ× Ø ÔÓ× ÓÖ ÒØ ÓÒº È ÖÓ Ø ÖÑ Ò Ö Ò ÙÒ ÓÒ Ð × Ö ÙÒ×Ø Ò × Ù Ð × Ð ÓÖ ÒØ ÓÒ ÙÒ ×ØÖÙ ØÙÖ ØÓ׸ ÔÙ Ù Ö Ð ÔÖÓ Ö Ñ ÓÖ Ò ×Ù × ÒÓÓ × Ð ÓÒº1.4.2 El principio fin-a-fin ÓÒ× Ö ÑÓ× Ð Ì ÙÖ Ý Ö Ô Ø ÑÓ× Ð ÔÖ ÙÒØ ÙÒ Ñ ÒØ Ð Ô Ö ÕÙ × ÖÚ Ù Ð × ×Ù ¬Ò Ð Ò Ð × ÓÒ Ü ½º½º ´Ô Ò µ × ÔÖ Ø Ò Ó Ò Ö Ð Þ Ö ÓÔ Ö ¹ ÓÒ × Ò Ö ÒØ × Ð Ù Ó ÙÒ ¬ ÙÖ ×Ó Ö Ð ÙÒ ÓÒ Ó ÓÒØÖ ×Ø º ÓÒ ×Ø¬Ò ¬Ò Ó¸ Ð × ÓÔ Ö ÓÒ × Ð Ì ÙÖ ¸ Ù Ö¸ ÑÓÚ Ö¸ Ø Ø Ö ¸ Ø Ò Ò × Ò¹Ø Ó×ÒÒ × ÓÒÓ Ö Ù Ð × Ð ¬ ÙÖ Ò Ù ×Ø ÓÒº È Ò× ÑÓ׸ ÕÙ ×Ù Ö × ÒÓØÙÚ × ÑÓ× Ð ÖÓ Ô Ö ÕÙ × Ù× Ö Ð Ì ÙÖ Ä Ö ×ÔÙ ×Ø ¸ ÒÓ Ø Ò Ó Ú Ò ×ØÓ×Ø ÑÔÓ׸ × ÕÙ ÒÓ× × Ö ÑÙÝ Ð ÓÑÔÖ Ò ÖÐÓº Ë ÒÙ ×ØÖÓ ÒØ Ò Ñ ÒØÓ ÒÓ ×ØÙÚ × Ð ÖÓ¸ ÒØÓÒ ×¸ ÕÙ Þ ¸ ÓÑ Ø Ö ÑÓ× Ð ÖÖÓÖ ÒØ ÒØ Ö ÑÔÐ ÒØ Ö Ð Ì ÙÖ ¸ Р٠и ÓÑÓ Ý × Ñ Ò ÓÒÓ¸ × ×ØÖ ØÓº ÓÖ Ô Ò× ÑÓ× Ò Ù Ð × Ö Ð ÓÖÑ ÙÒ Ì Figure × ×Ø ×ØÙÚ × ×Ø Ò Ó Ð ÙÐÓ× ÓÑ ØÖ Ó× Ò ÐÓ× Ù Ð ×¸ Ò ÐÙ Ö Ù Ö¸ × Ð ÙÐ × Ò Ö × ÒØ Ö× ÓÒ × ÒØÖ ¬ ÙÖ ×º È Ö ×Ø ¬Ò¸ Ð × ÓÔ Ö ÓÒ × Ð Ì ÙÖ ÒÓ Ø Ò Ö Ò ÑÙ Ó× ÒØ Óº ÍÒ ÔÖ Ò Ô Ó × ÒÓ × ×Ø Ñ × × ÓÒÓ ÓÑÓ Ð ÔÖ Ò Ô Ó ¬Ò¹ ¹¬Ò º ×Ø ÓÒ× ×Ø Ò ÒÓ ×Ô ¬ Ö¸ Ñ ÒÓ× × Ò Ö¸ ÑÙ Ó Ñ ÒÓ× ÑÔÐ ÒØ Ö¸ Ñ × ÐÐ Ð ¬Ò ÕÙ × ÓÒÓÞ
  • 48. 1.4. Dise˜ o de datos y abstracciones n 23Ý × Ù Ö Ô Ö Ð ÔÖÓ Ö Ñ º Î ÓÐ Ö ×Ø ÔÖ Ò Ô Ó ÔÙ Ó×Ø Ö × Ù ÖÞÓ Ú ÒÓ¸ ÔÙ × ×ÓÐÓ × Ò ÐÓ× ÔÙÒØÓ× ¬Ò Ð × Ð ÔÖÓ Ö Ñ ¸ Ó Ò ×Ù× Ù×Ù Ö Ó× ¬Ò Р׸ Ò ÕÙ × Ø Ò ØÓ Ó Ð ÓÒÓ Ñ ÒØÓ Ò × Ö Ó Ô Ö × Ò Ö ÙÒ ÔÖÓ Ö Ñ ÓÒ × ÒØ Ó ½ º Ò Ð ÑÔÐÓ Ð Ì ÓÑÔÐ Ó ¸ Ø Ð ÓÑÓ ÐÓ ÑÓ× ØÖ Ø Ó¸ ÕÙ ÓÒÓ ÑÓ× Ö ×Ù ¬Ò ÄÓ× ÒÙÑ ÖÓ× ÓÑÔÐ Ó× Ø Ò Ò ÑÔÐ ÔÐ ÓÒ Ò Ò × Ý Ò Ò ¹Ò Ö Ö ÞÓÒ ÔÓÖ Ð Ù Ð ÙÒ ÔÖÓ Ö Ñ ÓÖ ÔÙ Ö Ú Ö× Ø ÒØ Ó ÒÖ ÕÙ Ö Ð Ì ÓÒÑ ØÓ Ó× Ó Ð × × Ö Ú × ÕÙ Ð Ø Ò ×Ù ÙØÙÖ Ñ Ò ÔÙÐ ÓÒº Ë ÔÙ Ö ¸ ÔÓÖ ÑÔÐÓ¸Ñ Ò Ö ÓÓÖ Ò × ÔÓÐ Ö ×º Ë Ò Ñ Ö Ó¸ ÑÔÐ Ö Ð Ì ÓÑÔÐ Ó ÒÓ Ø Ò × Ò¹Ø Ó × ÒÓ × Ø Ò Ð ÖØ ØÙ ÕÙ Ð × ÓÓÖ Ò × ÔÓÐ Ö × × Ö Ò Ù× × ÔÓÖ ÐÓ× Ù×Ù Ö Ó× Ú ÒØÙ Ð × Ð Ì ÓÑÔÐ Ó º Ä Ó × ÖÚ ÓÒ ÒØ Ö ÓÖ ÒÓ × Ö Ð Þ Ô Ö ÓÒÓÑ Þ Ö ØÖ Ó ¹ÙÒ Ò Ò ÓÒ×ÙÒÓ ÓÒ Ð ÔÖ Ò Ô Ó ¬Ò¹ ¹¬Ò¹¸ × ÒÓ ÔÓÖÕÙ Ð ÒØ Ö × Ó Ò ÙÒ Ì ÓÑÔÐ Ó ÜØ Ò Ó ÓÒ ÓÓÖ Ò × ÔÓÐ Ö × ÔÙ Ö Ñ Ò Ö ÓØÖ ÒØ ÖÔÖ Ø ÓÒ¸ Ò ÙÝÓ ×Ó¸ Ð ÜØ Ò× ÓÒÔÙ Ö × Ö ÙÒ ×ØÓÖ Óº ÍÒ Ì × Ö Ñ Ò ÑÓ Ý ×Ù¬ ÒØ º ÈÓÖ Ñ Ò ÑÓ ÔÖ Ø Ò ÑÓ× Ò Ö ÕÙ ÒÓØ Ò Ñ × ÐÓ Ò × Ö Óº ÈÓÖ ×Ù¬ ÒØ ÕÙ Ö ÑÓ× Ö ÕÙ ÓÒØ Ò Ö ØÓ Ó ÐÓ Ò × Ö ÓÔ Ö ×Ø Ò ÖÐÓ Ð ¬Ò Ô Ö Ð Ù Ð Ù ¬Ò Óº ×Ø Ð Ö ×Ø × ÖÖ Ö × × Ö Ð Ø ÚÓ¸ ÔÙ × ÔÒ Ð ¬Ò Ý ×Ù ÒØ ÖÔÖ Ø ÓÒº ÐÐ ¸ ÒØÓÒ ×¸ Ð Ö Ø Ö × Ò Ð ÕÙ Ø Ò ¸Ô Ö Ð Ü ØÓ ÙÒ ÔÖÓÝ ØÓ¸ Ð ÕÙ Ð ¬Ò ×Ø Ð Ö Ñ ÒØ ¬Ò Ó Ý ÕÙ ÐÓ× Ô ÖØ Ô ÒØ ×ÒÓ ×ÓÐÓ ÐÓ Ø Ò Ò Ð ÖÓ¸ × ÒÓ ÕÙ ×Ø Ò ÓÑÔÖÓÑ Ø Ó× ÓÒ Ðº ÉÙ Þ ÙÒ ÓÖ ×ÑÓ Ë Òع ÜÙÔ ÖÝ ÜÔÖ × Ñ ÓÖ Ð × ÒØ Ó Ñ Ò Ñ Ð Ý ×Ù¬¹ Ò Ð ÔÖ Ò Ô Ó ¬Ò¹ ¹¬Ò È Ö ÕÙ Ð Ô Ö ÓÒ × Ð ÒÞ ÒÓ Ù Ò Ó ÒÓ ÝÑ × Ò ÕÙ Ò Ö¸ × ÒÓ Ù Ò Ó ÒÓ Ý Ñ × Ò ÕÙ ×ÙÔÖ Ñ Ö ½½º1.4.3 Inducci´n y deducci´n o oÁÒ Ù ÓÒ × Ò ¬ Ö × ÐÓ Ô ÖØ ÙÐ Ö ÐÓ Ò Ö Ð Ñ ÒØÖ × ÕÙ Ù ÓÒ × Ò Ð Ö × ÐÓ Ò Ö Ð ÐÓ Ô ÖØ ÙÐ Öº Ù Ò Ó × × Ò Ò ×ØÖ ÓÒ ×¸ ÔÓÖ ÓÒ ÓÑ ÒÞ Ö º × ÙÒ ÔÖ Ò Ô Ó ÓÒÓ Ó Ò Ù ÓÒ Ý × ÒÓ Ö × ÐÓ ÓÒ Ö ØÓ ÐÓ ×ØÖ ØÓº Ò ÓØÖ × Ô Ð Ö ×¸ ÓÖ Ö ×ØÖ ÓÒ × Ô ÖØ Ö Ð ÜÔ Ö Ò ÓÒ Ö Ø Ö Ðº Ò ×× ÒØ Ó¸ Ù Ò Ó ÒÓ × Ø Ò ÓÒÓ Ñ ÒØÓ Ò Ð Ö ÙÒ ÔÖÓ Ð Ñ Ó¸ Ð ÔÖÓ ×Ó Ò ÓÒ ÓÑ ÒÞ Ö Ô ÖØ Ö ÒÓÑ ÒÓ× ÓÒ Ö ØÓ× Ð ÔÖÓ Ð Ñ Ý¸ ÐÙ Ó¸Ô ÖØ Ö × × Ô ÖØ ÙÐ Ö ×¸ ÒØ ÒØ Ö ¬Ò Ö ×ØÖ ÓÒ ×º Ò Ð ÔÖÓ Ö Ñ ÓÒ Ó ØÓ׸ Ü ×Ø Ò Ó× Ñ Ò ×ÑÓ× Ò Ö Ð Þ ÓÒ Ð Ö Ò Ð × × Ý Ð × ÔÐ ÒØ ÐР׺ Ä Ö Ò ÓÒ ÖÒ ÐÓ× ØÓ׸ Ñ ÒØÖ × ÕÙ Ð × ÔÐ ÒØ ÐÐ × Ð Ó Óº Ä Ö Ò × ÔÐ Ô Ö Ð Ò Ö Ò Ö Ð × Ý ÓÑÔÓÖØ Ñ ÒØÓ× ÓÑÙÒ × ÙÒ ÖØ Ð × Ó ØÓº Ä × Ð × × Ö Ú × Ð × ¬ Ò Ý ÔÓÖØ Ò Ô ÖØ ÙÐ Ö × ÓѹÔÓÖØ Ñ ÒØÓ Ò Ö Ð Ý Ò Ú Ð × ×ØÖ ÓÒº Ù Ò Ó × ÒØ ¬ÕÙ Ò Ð × × Ó Ì ¸ Ù×ÕÙÕÙ × ÐÓ ÓÑÙÒ Ý ×Ó ÐÐ Ú ÐÓ ÐÓ Ò Ö Ð ØÖ Ú × Ð × × × × Ó ×ØÖ Ø ×º À Ý Ó× ×Ô ØÓ× Ò Ö Ð Þ Ö Ñ ÒØ Ð Ö Ò Ð × ×º Ð ÔÖ Ñ ÖÓ ÐÓ ÓÑÔÓÒ ÒÐÓ× ØÖ ÙØÓ× Ó × Ð × Ö Ø Ö ×Ø × ÙÒ Ó ØÓ Óº Ò Ð ×Ó Ð Ì ÙÖ ¸ÙÒ ØÖ ÙØÓ Ò Ö Ð ÐÓ ÓÒ ÓÖÑ Ð ÔÙÒØÓ Ö Ö Ò ÓÑÙÒ ØÓ × Ð × ¬ ÙÖ × Ô ÖØ ¹ ½½ ÌÖ Ù ÓÒ Ð ÙØÓÖ ÁÐ × Ñ Ð ÕÙ Ð Ô Ö Ø ÓÒ ×Ó Ø ØØ ÒØ ÒÓÒ ÕÙ Ò Ð Ò³Ý ÔÐÙ× Ö Ò ÓÙØ Ö¸ Ñ × ÕÙ Ò Ð Ò³Ý ÔÐÙ× Ö Ò Ö ØÖ Ò Ö º Ë Òع ÜÙÔ Öݺ Ì ÖÖ × ÓÑÑ × º
  • 49. 24 Cap´ ıtulo 1. Abstracci´n de datos oÙÐ Ö ×º Ð × ÙÒ Ó ×Ô ØÓ ÒÖÐ × ÙÒ ÓÒ Ð Ý Ø Ò Ð × ÓÔ Ö ÓÒ ×º Ò Ð ×Ó Ð Ì ÙÖ ¸ ÐÓ× Ñ ØÓ Ó× Ú ÖØÙ Ð × draw()¸ move()¸ Ø Ø Ö ¸ Ò Ö Ð Þ ÒÓÔ Ö ÓÒ × ÓÑÙÒ × ØÓ × Ð × ¬ ÙÖ ×º ÓÑÓ Ý ÐÓ Ò ÑÓ׸ Ð ÙÒÓ× Ð ÓÖ ØÑÓ× ×ÓÒ ×Ù× ÔØ Ð × × Ö Ò Ö Ó× Ó Ð ÓÖÑ ÔÐ ÒØ ÐÐ º ÓÒ× Ö ÑÓ× Ð ÔÖÓ Ð Ñ ÓÖ Ò Ö ÙÒ × Ù Ò Ð Ñ ÒØÓ× ÕÙ× Ö ØÖ Ø Ó Ò Ð Ô ØÙÐÓ Ü ¿º ÆÓØ ÑÓ× ÕÙ Ð ÒÙÒ Ó ÒÓ Ñ Ò ÓÒ Ð Ø ÔÓ Ð Ñ ÒØÓ× ÓÖ Ò Ö ×ÓÐÓ ×Ô ¬ ÕÙ × ØÖ Ø ÙÒ × Ù Ò º ÈÓ ÑÓ× ÓÖ Ò Ö Ô ÐÐ Ó׸ ÒØ ÖÓ×Ó Ð Ñ ÒØÓ× Ù ÐÕÙ Ö ÓØÖÓ Ø ÔÓ Ó Ð Ñ ×ÑÓ ×ÕÙ Ñ º ÇÖ Ò Ö × Ò Ô Ò ÒØ Ð ØÓº Ò ×Ø Ð × ÔÖÓ Ð Ñ × × ÔÙ Ò × Ò Ö ÙÒ ÓÖ Ò Ñ ÒØÓ Ò Ö Ó ÙÝÓÔ Ö Ñ ØÖÓ × Ö Ð Ø ÔÓ Ð Ñ ÒØÓ׺ × ÑÔÓÖØ ÒØ ×Ø Ö ÕÙ ÙÒ ÓÑÔÓÖØ Ñ ÒØÓ Ò Ö Ó Ô Ö ×ÔÙ × ÓÒÓ Ö ÓÑÔÓÖØ Ñ ÒØÓ× ÓÒ Ö ØÓ× Ý ÒÓ Ð ÓÒØÖ Ö Óº Æ × ÕÙ Ö Ù Ò Ó × ÔÓ× ÙÒ ÑÔÐ ÜÔ Ö Ò ¸ ÒÓ × ÔÖÓ Ö Ñ Ö Ó Ó Ò Ö Ó × Ò ÒØ × ÖÐÓ Ú Ö ¬ Ó Ü Ù×Ø ¹Ú Ñ ÒØ ÓÒ Ð Ñ ÒÓ× ÙÒ Ø ÔÓ ØÓ ÓÒÓ Ó Ý ÓÒ Ö ØÓº È Ö Ð × Ó× Ø Ò × Ò Ö Ð Þ ÓÒ¸ Ö Ò Ý Ø ÔÓ× Ô Ö Ñ ØÖ Þ Ó׸ Ð Ñ ÒÓ ÓÑ ÒÞ Ò ÐÓ ÓÒ Ö ØÓ Ý × Ö ÐÓ ×ØÖ ØÓ¸ ÒÓ Ð Ö Ú ×º ÈÓ ÑÓ× Ö ÕÙ ×Ø × Ð ×Ø ÐÓ Ù Ò Ó × × Ò Ý ÔÖÓ Ö Ñ ÓÒ × ÒØ Óº ÓÒ ÓÖÑ × Ò ÜÔ Ö Ò ÓÒ Ö Ø ¸ ÙÒ × Ò ÓÖ ÔÙ ÓÒ× Ö Ö Ð ÙÒ × Ò¹ Ö Ð Þ ÓÒ × ÔÖ ÓÖ ´ÒÓ ØÓ ×µ × Ò ÙÒ Ú Ö Ð × Ô ÖØ ÙÐ Ö ×º ×ØÓ × Ù ÓÒ Ý ×ÔÓ× Ð ×ÔÙ × ÔÖ Ò Ö Ó × Ò Ö Ô ÖØ × ÓÒ Ö Ø × Ð ×ÓÐÙ ÓÒº Ä Ò Ð ¸ Ù Ò Ó Ó ÙÖÖ ¸ × Ñ Ö Ö Ò ÐÓ ×ØÖ ØÓ ÐÓ ÕÙ ÔÙ Ú Ò Ö ÓÒ Ö ØÓºÁÒ Ò Ó × Ò ¬ Ø Ò Ö Ò Ó × ÒØÖÓ ´ Òµº Ò Ó ÕÙ Ò Ö ×¸ Ù Ò ×¸ ÔÓÖ×ÙÔÙ ×ØÓº × ×Ø Ô Ö×Ô Ø Ú ¸ Ò Ò Ö ×¸ ÒØÓÒ ×¸ Ð ÔÖ Ø Ð Ò¹ Ò Ó Ô ÖÓ¸ÒÓ × ÔÓ Ö Ø Ò Ö Ò Ò Ó × × ÑÔÖ × Ü × Ô ÖÑ Ò Ö Ò ÐÓ ÓÒ Ö ØÓ Ý × ×ÙÔ Ø ×Ø Ò × Ý Ñ ØÓ Ó× ¬ Ó׺ ×Ø × Ð Ö ÞÓÒ ÔÓÖ Ð Ù Ð Ð ÒØÙ ÓÒ ÒÙÒ × Ö × ÖØ º1.4.4 Ocultamiento de informaci´n oÍÒ Ì ×ÓÐÓ ×Ô ¬ Ð ¬Ò ÙÒ ØÓ Ý ×Ù ÒØ Ö Þº Ù Ò Ó × Ù Ö ÙÒ × ÒÓ Ò ØÓÖÒÓ ÙÒ Ì ¸ × Ù Ö ÙÒ ×Ô ¬ ÓÒ Ó Ø Ú ÕÙ ÒÓ Ò Ö×Ù ÑÔÐ ÒØ ÓÒº ×ØÓ × ÓÒÓ Ó ÓÑÓ Ð ÔÖ Ò Ô Ó Ó ÙÐØ Ñ ÒØÓ Ò ÓÖÑ ÓÒ¸ Ð Ù Ð ÓÒ× ×Ø Ò Ó ÙÐØ Ö Ð Ö Ñ ÒØ Ð ÑÔÐ ÒØ ÓÒ ÙÒ Ì ¸ Ô٠׸ ÓÑÓ Ý ÐÓ ÑÓ׸ ×Ø ÓÒ ÓÖÑ ÐÓ ×Ù Ø ÚÓ¸ ÕÙ ¸ ÒÓ ×ÓÐÓ × ÑÙ Ó Ñ × ÓÑÔÐ Ó¸ × ÒÓ ÕÙ ¬ ÙÐØÐ ÓÑÙÒ ÓÒº Ú × × Ù ÒÓ Ð Ö Ð ÑÔÐ ÒØ ÓÒ Ò Ú Ð ÒØ Ö Þº ÈÓÖ ÑÔÐÓ¸ ÖÕÙ ÓÒ ÙÒØÓ ÙÒ Ñ ÒØ Ð ½ ×Ø ÑÔÐ ÒØ Ó ÓÒ ÖÖ ÐÓ× ÓÖ Ò Ó× ÔÖÓÔÓÖ ÓÒ ÙÒ Ö Ð × ÑÔ ÒÓ × × Ö ¸ ÔÓÖ ÑÔÐÓ¸ ÕÙ Ð Ù×ÕÙ × Ö Ô ¸ Ô ÖÓ ÕÙ Ð Ò× Ö ÓÒ Ý ×ÙÔÖ × ÓÒ ×ÓÒ Ð ÒØ ×º ÆÓØ ÑÓ× ÕÙ Ò ×Ø ×Ó ÒÓ × ¬Ò Ü Ø Ñ ÒØ ÓÑÓ× ÑÔÐ ÒØ Ð Ì ¸ × ÒÓ × Ò ¸ ÓÑÓ Ô ÖØ Ð ×Ô ¬ ÓÒ¸ ÙÒ ×Ô ØÓ Ò Ö ÐÐ ÑÔÐ ÒØ ÓÒº ÈÓÖ Ø ÒØÓ¸ Ð Ö ÓÑ Ò ÓÒ Ò Ö Ð × ÒÓ × ÕÙ × Ó ÙÐØ ÐÓ Ñ × ÕÙ × ÔÙ Ð ÑÔÐ ÒØ ÓÒº È ÖÓ¸ × ÔÓÖ Ö ÞÓÒ × × ÑÔ ÒÓ Ó Ö ÕÙ Ö Ñ ÒØÓ× Ö ×ÙÐØ ÓÒÚ Ò ÒØ ×Ø Ð Ö ÙÒ Ø ÔÓ ÑÔÐ ÒØ ÓÒ¸ ÒØÓÒ × ØÖ Ø × ×Ø Ò ÐÓ× Ø ÖÑ ÒÓ× Ñ × Ò Ö Ó×ÔÓ× Ð ×º
  • 50. 1.5. Notas y recomendaciones bibliogr´ficas a 251.5 Notas y recomendaciones bibliogr´ficas aÄ ÔÖÓ Ö Ñ ÓÒ ÓÖ ÒØ Ó ØÓ× × Ö ÑÓÒØ ¬Ò Ð × Ð ½ ¼ Ò ÕÙ Ô Ö Ó Ð Ð Ò Ù Simula ¾ ¸ ÓÒ ÐÓ× ÓÒ ÔØÓ× Ð × ¸ Ö Ò Ý ÔÓÐ ÑÓÖ¬×ÑÓº À Ý Ó× Ó × ÖÚ ÓÒ × ×ØÓÖ × ÑÙÝ ÑÔÓÖØ ÒØ ×º Ä ÔÖ Ñ Ö × ÕÙ Simula × Ö ÙÒ× Ö Ó Ò Ð ÓÑ Ò Ó Ð × ÑÙÐ ÓÒ Ý ÒÓ Ð ÔÖÓ Ö Ñ ÓÒ ØÖ ÓÒ Ðº Ä × ÙÒ × ÕÙØÓ Ó× ÐÓ× ÓÒ ÔØÓ× ÑÓ ÖÒÓ× Ð ÓÖ ÒØ ÓÒ Ó ØÓ× Ô Ö ÖÓÒ ÔÖ Ñ ÖÓ ÕÙ Ð ÒÓ ÓÒÑØÑØ Ø ÔÓ ØÓ ×ØÖ ØÓº Simula ÒÓ Ö× Ø Ò Ó ÑÙÝ Ò Ù ÒØ Ò ×Ù ÔÓ ÔÓÖÕÙ ØÖ Ò× ÙÖÖ ÖÓÒ Ð ÙÒ × × ÒØ × ÕÙ × Ð × ÑÔÓÐÚ × Ý ÓÒ× Ö × Ò Ð Ô Ö Ñ ØÙ Ð ÐÓ× Ó ØÓ׺ ÈÓÖ Ð ÓÒØÖ Ö Ó¸ ÐÓ× ÓÑÔÙØ ×Ø ×¸ ÕÙ × Ö Ò ÑÙÝ Ð Ø × Ó׸ ÓÒÓ Ò ÐÓ×Ø ÔÓ× ×ØÖ ØÓ× ØÓ× × ÐÓ× ØÖ Ó× Ä × ÓÚ Ý ÐÐ × ½¼ Ý Ð Ó ÙÐØ Ñ ÒØÓ Ò ÓÖÑ ÓÒ × ÐÓ× ØÖ Ó× È ÖÒ × ½¿ º Ð Ð Ò Ù C++¸ Ú ÙÐÓ Ò× Ò ÒÞ Ð ÔÖ × ÒØ Ø ÜØÓ¸ Ò×Ô Ö Ó Ò ÐÓ× Ð Ò Ù ¹ × C Ý Smalltalk ¸ ½¸ ½ ¸ Ù Ö Ó ÔÓÖ ÖÒ ËØÖÓÙ×ØÖÙÔº Ä Ñ ÓÖ Ö Ö Ò Ô Ö×Ù ÔÖ Ò Þ × ×Ù ÔÖÓÔ Ó Ø ÜØÓ Ì C++ ÈÖÓ Ö ÑÑ Ò Ä Ò Ù ½ ¸ Р٠и Ô ÖØ ÕÙ × ÔÓ× Ð Ñ ÒØ Ð Ñ ÓÖ Ô Ö ÓÑÔÖ Ò Ö Ð Ð Ò Ù ¸ × ÙÒ Ü Ð ÒØ ØÖ Ø Ó Ò Ò Ö ÔÖÓ Ö Ñ ÓÒ¸ ÕÙ ÒÓ Ø Ò Ò ÕÙ Ú Ö ÓÒ Ð Ö Ò ÔÖÓÝ ØÓ××Ó ØÛ Ö ¸ Ø Ú ÓÖ Ò Ù×Ø Ý ÚÙÐ ÖÑ ÒØ ÓÒÓ Ó Ð ÖÓØÙÐÓ Ò Ò Ö Ð×Ó ØÛ Ö º ×Ø Ø ÜØÓ ÒÓ Ú Ö× ×Ó Ö Ð ÒØ Ö Þ Ð Ð ÓØ ×Ø Ò Ö C++¸ × ÒÓ¸ Ñ × Ò¸ Ö ×Ù ÑÔÐ ÒØ ÓÒº × ÙØ Ð¸ × Ò Ñ Ö Ó¸ ×ØÙ Ö Ð ÒØ Ö Þ ØÓ× ÒÓÖ Ô Ø Ö ØÖ Ó Ý ÓÑÓ Ò Þ Ö Ö Ø Ö Ó׺ ÍÒ Ü Ð ÒØ Ö Ö Ò ×Ó Ö Ð Ð Ó¹Ø ×Ø Ò Ö C++ Ð ÓÒ×Ø ØÙÝ Ð Ø ÜØÓ ÂÓ×ÙØØ × º ÍÒ Ö Ù ÒØÓ ×ØÓÖ Ó Ö Ð C++ Ý Ð ÔÖÓ Ö Ñ ÓÒ Ó ØÓ× ÔÙ Ò ÓÒØÖ Ö× Ò ½ º Ä Ð ØÙÖ × ÑÙÝ ÒØ Ö × ÒØ ÔÓÖÕÙ Ö Ú Ð ÕÙ Ð × ×ØÖ ÓÒ × Ý ÓÒ ÔØÓ× ×Ó × ÐÓ× Ó ØÓ× ×ÓÒ Ö ×ÙÐØ Ó Ð Ö ¬Ò Ñ ÒØÓ ØÖ Ú × ÖÖÓÖ × Ý Ö ×Ó׺ Ð ÔÖ Ò Ô Ó ¬Ò¹ ¹¬Ò × Ó Ó × ÖÚ Ó × ÔÓ × Ö ÑÓØ ×¸ Ô ÖÓ Ù Ù ÐÐ ÖÑÓ Ç ¹ Ѹ Ù Ò Ó ÒÙÒ Ó ×Ù Ð Ö Ò Ú ¸ Ð Ù Ð Ö Þ ÒÓ ÑÙÐØ ÔÐ ÕÙ ÐÓ× ÒØ × × ÒÒ × ¸ ÕÙ Ò ÔÖ Ñ ÖÓ × ÓÒÓ ×Ù ÑÔÓÖØ Ò Ô ×Ø ÑÓÐÓ º Ò Ð ÔÖÓ Ö ¹Ñ ÓÒ¸ Ð ÔÖ Ò Ô Ó × Ó Ó × ÖÚ Ó Ò Ö Ò × × ×Ø Ñ ×¸ × Ò Ó Ð Ö ×Ô ØÓ Ñ Ð Ñ Ø Ó Ð ÖØ ÙÐÓ Ë ÐØÞ Ö Ø Ð ½ º ËÓ Ö ×Ø ÖØ ÙÐÓ × Ñ Ò ×Ø Ö ÓÑ ÒØ Ö ÕÙ Ë ÐØÞ Ö Ø ÐÓÖ ÒØ Ò ×Ù ÖØ ÙÐÓ × ×Ø Ñ × ×ØÖ Ù Ó× Ý ÒÓ Ö Ø Ñ ÒØ Ð × ÒÓ ØÓ׺ ÈÓÖ ÓØÖÔ ÖØ ¸ Ð Ø ÖÑ ÒÓ ¬Ò Ñ ÒÙ Ó × ÒØ ÖÔÖ Ø ÓÑÓ ÜØÖ ÑÓ Ý ÒÓ ÓÑÓ ÙÒ ÔÖÓÔÓ× ØÓº ØÖ Ú × Ð ÜÔ Ö Ò × × Ù Ö Ò ØÓ× Ò Ö Ð × Ý Ò ÖÓ× Ó Óº ÙÒ Ø ÓÖ ÓÒ×ÓÐ Ð × Ó Ó Ó ×Ù Ð ÒÓÑ Ò Ö× Ð ÓÑÔÓÒ ÒØ Ó Ô ØÖÓÒ º ÍÒÖ Ô ÖØÓÖ Ó ×Ø ÒØ Ö Ó Ô ØÖÓÒ × Ò Ö Ó× × Ó× ÔÙ Ò ÓÒØÖ Ö× Ò º Ë Ò Ô Ö ÓÑ Ò Ö Ð ÔÖÓ Ö Ñ ÓÒ × Ö ÕÙ Ö Ò Ð ÙÒÓ× ÒÓ× ÜÔ Ö Ò ÓÑÓ ÙØÓÖ ÔÖÓ Ö Ñ ×¸ ÐÓ× Ø ÜØÓ× Ë ÓØØ Å Ý Ö× ½½¸ ½¾ ÓÒ×Ø ØÙÝ Ò Ð Ñ ÓÖ Ö Ö ÒÔ Ö ÓÑÔÖ Ò Ö¸ ÓÑ Ò Ö Ý × Ö Ù× Ö ÑÙ × Ð × Ó× Ò Ö × × Ð C++º Ä ×ØÓÖ ÍÅÄ × Ö ÑÓÒØ ÇÅÌ ½ ¸ ÙÒ Ð Ò Ù Ö ¬ Ó¸ ÔÖ ÙÖ×ÓÖ Ð ØÙ Ð ÍÅĸ ÔÖÓÔÙ ×ØÓ ÔÓÖ Â Ñ × ÊÙÑ Ù ¸ ÙÒ ÒØ ¬ Ó Ð Ö Ð ÔÖÓ Ö Ñ ÓÒÓ ØÓ׺ Ð ÓÒ×ÓÖ Ó ÇÅ ´Ç Ø Å Ò Ñ ÒØ ÖÓÙÔµ¸ Ò Ð Ñ ØÓ ÐÓ× × ×Ø Ñ × ×ØÖ Ù Ó× Ó ØÓ׸ ØÓÑÓ ÇÅÌ ÓÑÓ × Ô Ö × ÖÖÓÐÐ Ö Ð ØÙ Ð ÍÅĺ
  • 51. 26 Cap´ ıtulo 1. Abstracci´n de datos o1.6 Ejercicios ½º × Ò ÑÔÐ ÒØ ÙÒ Ì ÕÙ Ö ÔÖ × ÒØ ÒÙÑ ÖÓ× Ò ÔÙÒØÓ ­ÓØ ÒØ Ý Ò Ð Ù Ð × ×Ô ¬ÕÙ Ð ÔÖ × ÓÒ × Ö¸ Ð Ø Ñ ÒÓ Ð Ñ ÒØ × Ý Ð ÜÔÓÒ ÒØ º ¾º Ö Ø ÕÙ Ð Ì ÓÑÔÐ Ó º ÉÙ Ø Ò ÓÑÔÐ ØÓ × × ÓÖÖ Ø ×Ù ×Ô ¬ ÓÒ × Ñ ÒØ ÉÙ ÔÖÓ Ð Ñ × ÓÑ Ò Ó Ý Ö ×ÙÐØ Ó× ÔÙ Ò Ó ÙÖÖ Ö ¿º ÑÔÐ Ð Ì ÓÑÔÐ Ó Ô Ö Ñ Ò Ö ÓÓÖ Ò × ÔÓÐ Ö ×º × ÙØ ÓÒ ÓÐÓ Ö Ð ÑÔÐ ÓÒ ´ Ò ÒÙ ÚÓ× Ñ ØÓ Ó׸ Ò ÙÒ Ð × Ö Ú ¸ Ø Ø Ö µ º × Ò ÑÔÐ ÒØ ÙÒ Ì ÕÙ Ö ÔÖ × ÒØ ÒÙÑ ÖÓ× ÔÖ × ÓÒ Ö ØÖ Ö º º Ê Ú × Ù ÒØ × ÔÖÓ Ö Ñ × Ð Ö × Ô Ö Ù Ö ÓÑÓ Xfig Ý DIA Ò Ù Ð Ö¹ ÖÕÙ Ð × × ÓÒ ÕÙ ÐÐÓ× ÑÓ Ð Þ Ò Ð × ¬ ÙÖ ×º º Á ÒØ ¬ÕÙ ÐÓ× Ó ØÓ× ÙÒ Ñ ÒØ Ð × Ô Ö Ð ÓÒ Ù ÓÒ ÙÒ ÙØÓÑÓÚ Ð ÕÙ × Ò Ù ÒØÖ Ò Ò Ð Òº ÈÖ ÙÒÓ¸ ×Ø Ð Þ ×Ù ¬Ò Ý Ð × ÓÔ Ö ÓÒ × ÙÒØÓ ÓÒ ×Ù× ×Ô ¬ ÓÒ × × ÒØ Ø Ý × Ñ ÒØ º º × Ò Ò Ù Ø Ú Ñ ÒØ ÙÒ Ö ÖÕÙ Ð × × ÕÙ Ö ÔÖ × ÒØ Ú ÙÐÓ× ÙØÓÑÓØÓÖ ×º Ù ÐÓ× Ö Ñ × ÍÅĺ º ×Ò Ù Ø Ú Ñ ÒØ ÙÒ Ö ÖÕÙ Ð × × ÕÙ Ö ÔÖ × ÒØ Ú Ú Ò × º Ù ÐÓ× Ö Ñ × ÍÅĺ º ÓÒ× Ö Ð × × Ù ÒØ × Ð × × Ó ØÓ ÙÝÓ× ÒÓÑ Ö × ×Ù Ö Ò ÐÓ ÕÙ Ö ÔÖ × ÒØ Ò Medio locomoción Medio aéreo Medio terrestre Medio marítimo Helicoptero Energía Avión Barco Globo Dirigible Monopatín Submarino Cohete Patineta Patines Carreta Bus Tren Moto Bicicleta Con Motor Sin Motor × Ò ÙÒ ×ÕÙ Ñ Ù Ø ÚÓ ÕÙ Ö Ð ÓÒ ×Ø × Ð × ×º ½¼º Å Ò ÓÒ ØÖ × Ó Ñ × ÔÐ ÓÒ × Ò ÓÒ Ô Ö Þ Ð ÔÖÓ Ð Ñ ÙÒ Ñ ÒØ Ð Ð × ×ØÖÙ ØÙÖ × ØÓ׺ È Ö ÔÐ ÓÒ¸ ÜÔÐ ÕÙ Ð ÓÖÑ Ò ÕÙ Ô Ö Ý × ÖØ Ö Ú Ñ ÒØ Ö ÓÑÓ × ÑÔÐ ÒØ Ö º ½½º Å Ò ÓÒ ØÖ × Ó Ñ × ÔÐ ÓÒ × Ò ÓÒ ÒÓ Ô Ö Þ Ð ÔÖÓ Ð Ñ ÙÒ Ñ ÒØ Ð Ð × ×ØÖÙ ØÙÖ ×