Présentation

La médiane est une mesure de tendance centrale qui peut être utilisée pour décrire un ensemble de nombres. Dans le contexte d'un entretien technique, la question de calculer la médiane peut être posée pour évaluer les compétences du candidat en matière de programmation et de résolution de problèmes.

Fonctionnement de l'algorithme

La fonction median prend une liste de nombres en entrée et retourne la médiane. Voici une implémentation Python avec des commentaires de discussion.

def median(numbers: list[float]) -> float:

La fonction commence par vérifier si la liste est vide. Si c'est le cas, elle lève une exception ValueError. Ensuite, elle trie la liste de nombres en utilisant la fonction sorted(). La longueur de la liste est calculée et le milieu est déterminé en utilisant l'opérateur de division entière //.

Calcul de la médiane

Si la longueur de la liste est paire, la médiane est calculée en prenant la moyenne des deux nombres du milieu. Si la longueur est impaire, la médiane est simplement le nombre du milieu.

if length % 2 == 0: return (numbers[mid - 1] + numbers[mid]) / 2.0 else: return numbers[mid]

Implications et limites

La fonction median a des implications en termes de complexité algorithmique. La fonction sorted() a une complexité de O(n log n), où n est la longueur de la liste. Cela signifie que la fonction median peut être lente pour les grandes listes. Une autre limitation est que la fonction ne gère pas les listes vides, ce qui peut être un problème dans certaines situations.