Modelo por capas
Pares ordenados por clave
Un diccionario guarda pares clave → valor: código postal → ciudad. La clave es lo que se busca; el valor, lo que se obtiene.
Un array ordenado guarda los pares en un array, ordenados por clave:
| posición | 0 | 1 | 2 | 3 |
|---|---|---|---|---|
| clave | 050001 | 080001 | 110111 | 760001 |
| valor | Medellín | Barranquilla | Bogotá | Cali |
En la figura, los mismos cuatro pares. El borde grueso marca los que devuelve rango(080001, 110111): quedan juntos.
Sus operaciones:
buscar(k): búsqueda binaria por clave.insertar(k, v): buscar la posición y desplazar para abrir el hueco.rango(a, b): buscar a, y recorrer hacia la derecha mientras la clave sea menor o igual que b.
El invariante: las claves están en orden creciente, siempre.