Immagina di avere una serie di case che voglio vendere e voglio presentarle poi su un sito web. L'utente dovrebbe essere in grado di filtrare la casa che desidera per prezzo, città, numero di piani, area ecc. Tuttavia, non voglio che sia così:
Prima seleziona solo il prezzo, quindi puoi selezionare la città e solo dopo puoi selezionare il numero di piani ecc.
Voglio che l'utente sia in grado di scegliere l'ordine degli attributi che desidera.
Per ogni iterazione (selezione attributo) il set di attributi rimanenti avrà un intervallo limitato a seconda dell'interazione precedente e così via.
Ho visto questo implementato su alcuni siti di vendita, ma non so come sia implementato, in particolare per quanto riguarda la struttura dei dati.
Ad esempio, non sembra facile aggiungere nuove case. Sembra che ci sia una complicata combinazione di alberi binari e liste concatenate, ma probabilmente non c'è modo migliore che io non abbia capito.