From 759372c986d7090d9c993719a09480a053bbda7c Mon Sep 17 00:00:00 2001 From: Yves Chevallier Date: Mon, 27 Apr 2020 16:09:51 +0200 Subject: [PATCH] Add complexity diagram --- assets/images/complexity.svg | 1 + content/77-algorithms.rst | 7 +++++++ 2 files changed, 8 insertions(+) create mode 100644 assets/images/complexity.svg diff --git a/assets/images/complexity.svg b/assets/images/complexity.svg new file mode 100644 index 0000000..6c9b154 --- /dev/null +++ b/assets/images/complexity.svg @@ -0,0 +1 @@ +O(log n)O(1)O(n)O(n log n)O(n2)O(2n)O(n!)EntréeTemps \ No newline at end of file diff --git a/content/77-algorithms.rst b/content/77-algorithms.rst index 2a60aaf..e6bdf3c 100644 --- a/content/77-algorithms.rst +++ b/content/77-algorithms.rst @@ -77,6 +77,13 @@ catégories exprimées du meilleur au plus mauvais : | :math:`O(n!)` | trop trop grand | La galaxie ne sera plus que poussière | +----------------------+--------------------+----------------------------------------+ +Les différentes complexité peuvent être résumées sur la figure suivante : + +.. figure:: ../assets/images/complexity.* + + Différentes complexités d'algorithmes + + Un algorithme en :math:`O(n^2)`, doit éveiller chez le développeur la volonté de voir s'il n'y a pas moyen d'optimiser l'algorithme en réduisant sa complexité, souvent on s'aperçoit qu'un algorithme peut être optimisé et s'intéresser à sa complexité est un excellent point d'entrée. Attention toutefois à ne pas mal évaluer la complexité d'un algorithme. Voyons par exemple les deux algorithmes suivants :