<jupyter_start><jupyter_text>![Entête CCI](./assets/entete-cci.png)Ce devoir à la maison va donner lieu à une note sur 20. Il doit être rendu avant le début du prochain cours. DM 4 - Retour sur la complexité et les testsPour chaque exercice, rentrez votre réponse dans l'éditeur Python associé.Enregistrez vos modifications, de préférence au format ipynb, lorsque vous aurez terminé.Vous devrez créer une archive `dm04.zip` contenant tous vos fichiers et l'envoyer à [<EMAIL>](mailto:<EMAIL>).  Exerices 1 - Complexité de fonctions simplesQuelle est la complexité de la fonction suivante ?<jupyter_code>def f(x):
    """x est un entier positif ou nul."""
    resultat = 0

    for _ in range(10000):
        resultat += 1

    for _ in range(x):
        resultat += 1

    for _ in range(x):
        for _ in range(x):
            resultat += 1

    return resultat<jupyter_output><empty_output><jupyter_text>Quelle est la complexité de la fonction suivante ?<jupyter_code>def f(L, x):
    """L est une liste tandis que x est un entier."""
    for _ in range(1000):
        for element in L:
            if element == x:
                return True
    return False<jupyter_output><empty_output><jupyter_text>Quelle est la complexité de la fonction suivante ?<jupyter_code>def f(L, x):
    """L est une liste tandis que x est un entier."""
    for element in L:
        if element == x:
            return True
    return False<jupyter_output><empty_output><jupyter_text>Quelle est la complexité de la fonction suivante ?<jupyter_code>def f(x):
    """x est un entier positif ou nul."""
    if x == 0:
        return "0"

    resultat = ""
    digits = "0123456789"

    while x > 0:
        resultat = digits[x % 10] + resultat
        x = x // 10

    return resultat<jupyter_output><empty_output><jupyter_text>Quelle est la complexité de la fonction suivante ?<jupyter_code>def f(x):
    """"x est un entier strictement positif."""
    if x == 1:
        return 1
    else:
        return x * f(x - 1)<jupyter_output><empty_output><jupyter_text>Quelle est la complexité de la fonction suivante ?<jupyter_code>def f(x):
    """x est un entier positif ou nul."""
    resultat = 0
    for _ in range(x):
        for _ in range(2**x):
            resultat += 1

    return resultat<jupyter_output><empty_output><jupyter_text>Exercice 2 - Tests unitairesDans les exercices suivants, vous allez devoir fournir des tests unitaires pour couvrir la queue et la pile que vous avez écrit lors du TP 10.  Exercice 2.1 - QueueDans l'exercice 3 du TP 10, vous avez implémenté une queue.Reprenez ce code ici.<jupyter_code><jupyter_output><empty_output><jupyter_text>Ecrivez des tests unitaires pour la fonction `empile_dans_queue`.<jupyter_code><jupyter_output><empty_output><jupyter_text>Ecrivez des tests unitaires pour la fonction `depile_de_queue`.<jupyter_code><jupyter_output><empty_output><jupyter_text>Exercice 2.2 - PileDans l'exercice 4 du TP 10, vous avez implémenté une pile.Reprenez ce code ici.<jupyter_code><jupyter_output><empty_output><jupyter_text>Ecrivez des tests unitaires pour la fonction `empile_dans_pile`.<jupyter_code><jupyter_output><empty_output><jupyter_text>Ecrivez des tests unitaires pour la fonction `depile_de_pile`.<jupyter_code><jupyter_output><empty_output>
{'fraction_non_alphanumeric': 0.09079829372333943, 'fraction_numerical': 0.01675807434491164, 'mean_word_length': 3.813782991202346, 'pattern_counts': {'":': 0, '<': 51, '<?xml version=': 0, '>': 52, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'chain_length': '12', 'dir': 'jupyter-structured-clean-dedup', 'id': '364678', 'license': 'MIT', 'n_tokens_mistral': 1188, 'n_tokens_neox': 1131, 'n_words': 351, 'path': 'cours/08-tests/homework-04.ipynb', 'repo_name': 'loic-yvonnet/algo-appliquee', 'size': '3304'}