Diciamo che sto implementando qualcosa di semplice come cercare una lista / matrice ordinata. La funzione (in c #) sarebbe simile a:
static int FindIndex(int[] sortedList, int i);
Potrei implementarlo e testarlo in termini di funzionalità, ma per ovvi motivi preferirei di solito una ricerca binaria su una ricerca lineare o qualcosa di intenzionalmente stupido.
Quindi la mia domanda è: dovremmo cercare di scrivere test che garantiscano le prestazioni in termini di complessità algoritmica e, in caso affermativo, come?
Ho iniziato a formulare argomentazioni su entrambi i lati della parte "dovresti" di questa domanda, ma mi piacerebbe vedere cosa dicono le persone senza i miei argomenti per richiederle.
In termini di "come", ciò diventa molto interessante :) Si può vedere la parametrizzazione dell'operatore di confronto e l'esecuzione di un test il cui operatore di confronto conta i confronti o qualcosa del genere. Ma solo perché puoi non significa che dovresti ...
Qualcun altro ha considerato questo (probabilmente)? Grazie.