-\section{Complexité}
-\subsection{Quelques définitions}
+
+\section{Quelques définitions}
Soit $\mathcal{F}$ l'ensemble des fonctions de
$\N$ dans $\R^*_+$.
\end{Prop}
-\subsection{Mesurer la complexité}
+\section{Mesurer la complexité}
Soit $\mathcal{A}(n)$ un algorithme résolvant un problème sur des données
de taille $n$, $n \in \N$. On suppose que l'exécution de $\mathcal{A}$
coûte $T(n)$ étapes informatiques élémentaires ou unités de temps.
et lorsque
$T(n) \in \Theta(n^2)$, on dit que l'algorithme est \emph{quadratique en $n$}.
-\subsection{Exemples d'étude de complexité}
+\section{Exemples d'étude de complexité}
-\subsubsection{Un premier algo}
+\subsection{Un premier algo}
Soit $p$ une fonction polynôme de degré $n$ définie par
$
p(x) = \sum_{i=0}^n a_i x^i
Ainsi cet algorithme a une complexité linéaire en $n$.
-\subsubsection{Un second algo}
+\subsection{Un second algo}
On considère l'algorithme suivant:
\end{enumerate}
\end{Exo}
-\subsection{Classes de complexité de problèmes}
+\section{Classes de complexité de problèmes}
-\subsubsection{La classe \emph{P}}
+\subsection{La classe \emph{P}}
Les problèmes de cette classe sont ceux qui admettent une solution
algorithmique \emph{déterministe} et en temps \emph{polynomial}:
lorsque la taille du problème est $n$, le
-\subsubsection{La classe \emph{NP}}
+\subsection{La classe \emph{NP}}
Les problèmes de cette classe sont ceux qui admettent
une solution algorithmique \emph{non déterministe} en temps \emph{polynomial}.
De façon équivalente, c'est la classe des problèmes pour lesquels
un algorithme en temps polynomial.
On a $\emph{P} \subset \emph{NP}$.
-\subsubsection{La classe \emph{NP-complet}}
+\subsection{La classe \emph{NP-complet}}
Les problèmes de cette classe sont ceux de la classe $\emph{NP}$
tels que tous les problèmes de la classe NP peuvent se réduire à celui-ci.
Cela signifie que le problème est au moins aussi difficile