Les programmeurs qui passent de PC et de développement web en codage pour les dispositifs mobiles ou les systèmes embarqués trouvent que plus de temps est consacré à la sélection et le codage de leurs propres structures de données et algorithmes . Avec moins de mémoire et de stockage de données limitée , il n'ya pas de place pour les bibliothèques ou les cadres prédéfinis . Donc, pour ceux qui ont besoin d'écrire leurs propres routines de tri , voici quelques considérations sur le choix du tri à bulles humbles. Contexte Le tri à bulle est un algorithme simple qui trie une liste d'éléments en mémoire. Dans une série , le code compare à plusieurs reprises chaque paire d'objets et des swaps si elles ne sont pas en ordre adjacentes. Le processus se répète jusqu'à ce qu'aucune swaps se produisent. S'il était possible de visualiser le tableau alors que le genre est en cours, les faibles valeurs serait " bulle " vers le haut tandis que les grandes valeurs seraient couler au fond . Voici le code correspondant dans Visual Basic 2010 : Bien échanger = True échange = False For i = 0 To tbl.length - 2 Si TBL ( i) > TBL (i + 1), puis tmp = TBL ( i) TBL (i) = TBL (i + 1) TBL (i + 1) = tmp échange = True End If Suivant End While Lorsque choisir le Bubble Trier Cet algorithme a plusieurs avantages. Il est simple à écrire , facile à comprendre et il ne prend que quelques lignes de code. Les données sont triées en place il ya donc peu de surcharge de la mémoire et , une fois triés, les données en mémoire, prêt pour le traitement. L'inconvénient majeur est la quantité de temps qu'il faut pour trier. Le temps moyen augmente de façon exponentielle avec le nombre d' éléments tableau augmentation . Dix fois le nombre d'éléments prend presque une centaine de fois plus long à trier. Autres Array Trie des algorithmes de tri varient en complexité , la vitesse et les frais généraux . Le tri à bulles est le moins complexe, mais aussi un des plus lents . D'autres sortes basée sur la baie , comme le tri par insertion et l'échange genre sont un peu plus vite , mais prennent plus de code ( voir les références ci-dessous) . Le principal avantage de toutes sortes à base de tableaux est qu'ils utilisent le moins le code et prendre le moins de mémoire de travail. Considérez ces sortes de tableaux simples avec moins d'une centaine de pièces . Complexes Trier algorithmes ensembles de données plus importants nécessitent un code plus complexe et plus de mémoire. Le tri rapide et tri en tas à la fois divisé et copier les ensembles de données afin d'optimiser le nombre de comparaisons . Le tri rapide divise en permanence la liste réassemble ensuite dans l'ordre. Le tas sorte de copier les données dans une structure arborescente puis traverse l'arbre de copier les données dans l'ordre. Les deux sont rapides et efficaces , mais prendre plus de code et de stockage beaucoup plus de travail . Choisissez ces algorithmes pour des ensembles de données volumineux.
|