# Analyse des fonctions avec valeurs initiales | ID | Fonction | Calcule | Actuelle | Objectif | |:---:|---|---|:---:|---| | F1 | `trier_par_montant` | tri des transactions | `O(n²)` | `O(n log n)` | | F2 | `nb_clients_distincts` | clients différents | `O(n²)` | `O(n + C)` | | F3 | `total_par_client` | solde par client | `O(n * c)` | `O(n + C)` | | F4 | `total_par_jour` | solde par jour | `O(n * J)` | `O(n + J)` | | F5 | `meilleure_periode` | période la plus rentable | `O(J³)` | `O(J)` | | F6 | `rechercher_par_id` | recherche par identifiant | `O(n)` | `O(1)` par requête | | F7 | `nb_paires_opposees` | paires `a + b = 0` | `O(n²)` | `O(n log n)` | | F8 | `nb_facons_rendre` | rendu de monnaie | `O(Sⁿ)` | `O(S × k)` | | F9 | `categorie` | catégorie d'une transaction | M = 14 | `M ≤ 10` | | F10 | `ajouter_ligne` | construction du rapport | `O(n)` | `O(L)` au total | `n` transactions · `C` clients · `J` jours · `S` somme · `k` pièces · `L` longueur du rapport · **F5, F7, F8** : les plus difficiles