Voglio controllare un gruppo di algoritmi che ha fino a 8 opzioni di input. L'idea nativa sarebbe quella di verificare tutte le possibilità tramite la forza bruta. Come posso ridurlo senza tralasciare le combinazioni richieste?
Poiché non lo conosco meglio, sto usando loop multipli che terminano nel peggiore dei casi in una complessità di O(n8)
.
Per dare un suggerimento su quali sono questi input:
- Conteggio punti dati (predefinito 28 ma può essere 14-70 o qualsiasi altra cosa > 5)
- Indice relativo al giorno relativo basato sui punti dati
- Preferenze (limitato a 3)
- Temperatura (limitata a 34-38 ° C in incrementi di 0,05)
- Un indicatore su un giorno (limitato ai possibili valori dai punti dati)
Ho più algoritmi che hanno la stessa interfaccia, ma alcuni algoritmi concreti usano solo alcuni campi e non tutti. Tuttavia dovrei aver bisogno di controllare anche quegli altri casi poiché l'algoritmo potrebbe essere stato aggiornato e il test è stato dimenticato per alcuni motivi?
Hai alcune buone pratiche su come controllare l'algoritmo?