| maison  | Hardware  | réseaux  | programmation  | Logiciel  | Dépannage  | systèmes |  
programmation  
  • C /C + + Programming

  • Computer Programming Languages

  • Delphi Programming

  • Programmation Java

  • Programmation JavaScript

  • PHP /MySQL Programmation

  • programmation Perl

  • Programmation Python

  • Ruby Programming

  • Visual Basics programmation
  •  
    Connaissances Informatiques >> programmation >> Computer Programming Languages >> Content
    Comparaison des algorithmes de tri
    Avec littéralement des dizaines d' algorithmes de tri disponibles , de déterminer ce qui fonctionnera le mieux avec votre système dépendra des comparaisons de plusieurs facteurs, tels que la taille de la liste , la vitesse ou la complexité de l'algorithme, et si vous allez utiliser une clé de tri . Complexité

    La complexité d'un algorithme de tri est mesurée par O ( n) , ou «l'ordre de n ", où n est la taille de la liste. Il mesure le nombre passe qu'il faut pour trier la liste et calcule son meilleur, le pire et le temps moyen de le faire. Complexités communs comprennent la N comme le meilleur des cas pour les sortes telles que tri par insertion et le tri de la coquille , n log n, (en utilisant un logarithme en base 2 , pas une base -10) , qui est la complexité de tri par fusion et heapsort , et n ² , ce qui est plus lente que la première fois et est la vitesse de la sélection sorte
    liste Condition

    Parfois, vous saurez comment les éléments non triés dans la liste sont organisées. : par exemple, si elles sont presque triés, dans l'ordre inverse , ou une liste avec quelques pièces uniques . Cette connaissance vous permet de sélectionner un algorithme efficace de faire le tri . Par exemple , en utilisant le tri par insertion pour trier la liste dans l'ordre inverse a une durée de n ² , tandis tas tri peut le faire plus rapidement , en n log n fois . Sur une liste qui est presque réglé , le tri par insertion est plus rapide que tas sorte . Lorsque la liste contient un ensemble complètement aléatoire de données , sélectionnez un algorithme avec une complexité en moyenne de n log n fois consécutive, comme tas tri , le tri rapide ou le tri par fusion .
    Liste Taille

    Certains algorithmes sont plus difficiles à utiliser que les autres, de sorte que le nombre d'éléments dans une liste et combien de fois vous avez besoin de trier peut aider à déterminer l'algorithme que vous choisirez . Trie comme le tri par insertion sont rapides et fonctionnent bien quand vous triez petites listes , et sont faciles à mettre en œuvre, mais ils sont lents avec des listes plus larges. Trie qui utilisent un fossé et conquérir algorithme tel que le tri rapide et le tri par fusion sont plus difficiles à mettre en œuvre, mais ils listes sorte plus rapidement dans les cas moyens.
    Stabilité

    stabilité de l'algorithme décrit si le tri conserve l'ordre des éléments basés sur une clé de tri. Par exemple , en utilisant le premier caractère comme une clé pour une liste qui a " John ", " Steve " et " Jim " dans cet ordre , une écurie sortes d'algorithmes la liste de « John », « Jim » et « Steve », tandis que un algorithme instable peut ou ne peut pas trier "Jim" avant " John ". Fusion, tri d'insertion et tri à bulles sont stables tandis que tous les algorithmes sorte de coquille , tri par sélection et tri en tas sont pas.

    Previous :

    next :
      articles connexes
    ·PE DLL Caractéristiques d'en-tête 
    ·. Comment utiliser un fichier CLA personnalisée 
    ·T -SQL fonctions propres 
    ·Comment faire frontières graphique 
    ·Common Screen App GUI /Web Controls 
    ·Comment programmer une TI-86 
    ·Comment afficher plusieurs histogrammes dans Matlab 
    ·Règles de style COBOL 
    ·Comment ouvrir D3Drm.dll 
    ·Spécifications et propriétés de l'animation pour CSS…
      articles en vedette
    ·Comment initialiser une variable Float 
    ·Comment désactiver requête dans MySQL Cache 
    ·C + + Types de données 
    ·Entity Framework vs NHibernate 
    ·Quel est toujours écrite dans un If /Then 
    ·Comment faire pour créer une navigation de menu sur VB…
    ·Comment utiliser MSFlexGrid en VB6 
    ·Comment créer un saut de ligne dans un e-mail 
    ·Comment lire un répertoire de tableau en PHP 
    ·Comment lire les nombreuses lignes d'un seul coup en Vi…
    Copyright © Connaissances Informatiques http://fr.wingwit.com