Bonjour,

J'ai besoin de votre aide afin de choisir l'algorithme de tri que je vais implémenter.

Dans une base de données, je dispose de composés chimiques avec leur formule.
Il se trouve que pour l'affichage de mes composés et pour une recherche rapide, il est très efficace de les classer par nombre d'atomes.
Ainsi, je souhaite trier mes molécules:
-d'abord selon le nombre de carbones
-ensuite par nombre de Cl
-puis par nombre de N
etc...
sachant que le tri selon les Cl s'effectuera après le tri par carbone et ainsi de suite.
On aura ainsi par exemple en ordre:
C
CClN4
CCl2
C2Cl3N2
C2Cl3N4
C2Cl5N5
C3ClN2
C3Cl2N
C4ClN8
C4Cl2
De plus, ce tri est destiné à être effectué sur une liste de 400 composés chimiques qui ne cessera de s'agrandir. Par ailleurs, les molécules ne sont absolument pas triées dans la base de données mais rentrées complètement aléatoirement selon les besoins.

Ainsi, je me demandais quel type de tri serait le plus efficace pour ce type de configuration. J'ai pensé au quick sort ou au tri fusion qui semblent être parmi les plus rapides.

De même, je me demandais si je pouvais me servir directement de MYSQL pour trier mes données.
Puis je par exemple effectuer un "SELECT molecule ORDER BY C, Cl, N" avec plusieurs critères de tri (hiérarchisés) ou éventuellement utiliser des requêtes imbriquées?

Qu'en pensez vous? N'hésitez pas à me demander des précisions.

Merci d'avance pour l'aide que vous pourrez m'apporter.

(Les questions sur SQL sont un peu hors propos mais, je vous les soumets au passage...)