480 Shares 3407 views

Fusionner Trier: description de l'algorithme et des différences d'autres types de tri des données

Le développement de divers programmes sont presque toujours programmeur doit recourir à l'utilisation du tri pour optimiser les algorithmes de performance pour améliorer la performance des opérations de recherche, etc. Aujourd'hui, il existe de nombreuses techniques différentes de mise en page des éléments dans l'ordre: .. tri par fusion, avec une clé, etc. Trier .. représente un ensemble d'opérations, dont la sortie conduit à des objets de type séquençage par ordre croissant ou décroissant – en fonction des exigences de tâche nkretnoy.

Toutes variété d' algorithmes de tri peuvent être divisés en deux catégories: commander des tableaux et des fichiers de mise en page dans un ordre précis. Le premier type d'objets peut être disposée non seulement dans la mémoire, mais à un transporteur à condition que l'accès à elle est ouverte directement. La deuxième catégorie d'objets doit être dans un support matériel: disque ou sur bande.

La principale différence entre l'ordre des éléments du tableau et l'emplacement dans l'ordre indiqué des fichiers est que tous les membres du réseau sont disponibles à tout moment où ils sont accessibles, et par conséquent, le processus de tri commence immédiatement après la procédure de démarrage sans interruption liée à la non-disponibilité d'un élément. En même temps, gérer des fichiers à un moment donné peuvent avoir accès qu'à un ensemble de membres limité.

Très souvent utilisé pour gérer les fichiers tri par fusion, qui se développe sur les éléments fondamentaux des principes d'arrangement dans un certain ordre. En général, la procédure de tri peut être décrit comme suit: un segment de données spécifique est alloué et utilisé comme une clé. À titre d'exemple, prenons l'exemple de tri des articles de courrier à un index spécifié. En conséquence, l'algorithme ne fait pas une analyse complète de l'information, mais avec une forte probabilité trie les éléments nécessaires.

La principale différence entre les fichiers séquentiels sur le fichier avec la fourniture d'un accès direct est qu'ils peuvent être placés sur les médias, ce qui est difficile d'organiser un accès direct permanent. De plus, ces fichiers ne sont généralement pas utiliser une longueur fixe pour les enregistrements stockés. En raison de ces caractéristiques des fichiers séquentiels utilisés que dans deux situations:

– Si nécessaire, utilisez le support d'information, en fonction de l'accès séquentiel;

– quand il est commode d'utiliser les enregistrements de longueur variable.

la fusion de tri est utilisé assez souvent dans les logiciels modernes. Cela est dû à la prévalence des fichiers séquentiels. Par exemple, la quasi-totalité des fichiers texte sont compatibles. En dépit de la commodité du fichier organisé séquentiellement compte en tant que fichier de données, une telle approche est impossible, t. Pour. Pour tous les éléments du fichier est impossible de traiter le matériel, physiquement.

mergesort est devenu, en fait, la seule façon de trier des fichiers séquentiels. Malgré le fait qu'il existe aujourd'hui d'autres méthodes d'organisation des fichiers séquentiels, cette méthode est toujours l'un des plus populaires. Tri par fusion implique naturellement le fichier de séparation en deux parties égales au volume d'informations. En outre, chacun des fichiers il y a une lecture progressive de chaque élément de ceux qui sont disponibles pour le moment. les éléments commandés sont agencés dans l'ordre dans le troisième fichier, qui est en outre divisé en deux de taille similaire. Ainsi, et le tri par fusion. Pascal, C, Basic – langages de programmation les plus connus soutiennent la mise en œuvre de ce type de fichiers de séquence d'assemblage.