Le tri des listes de données présente l'un des plus difficiles problèmes de programmeurs, car il est difficile de conceptualiser et de mettre en œuvre efficace des algorithmes de tri dans les langages de programmation. Le tri exige beaucoup de la copie, le déplacement et la lecture de données pour travailler. En conséquence, les programmeurs se concentrer sur le développement efficace et générique algorithmes de tri. L'un de ces, la fusion de tri, fonctionne en divisant une liste de valeurs, encore et de manière récursive pour "diviser et conquérir" le problème. Depuis la fusion de tri est conçu comme une solution générique, la plupart des langues, y compris Java, ont les moyens de le mettre en œuvre.



Fusionner Classe
  • Une sorte de fusion prend une liste à trier et de manière récursive divise la liste jusqu'à atteindre des valeurs uniques, tels que le nombre de célibataires. Le tri puis recompose les nombres dans l'ordre de tri, finissent par rentrer une liste triée. Une base de tri de classe en Java contient une liste à trier, et appeler un principal de fusion et le tri fonction, il définit: classe de Fusion{ public int[] x public static void main(String[] args){ x = [5, 6, 3, 4, 7, 8, 10, 2] mergeSort(x, 0, x.longueur-1) } } Fusion Fonction de Tri
    • à l'Extérieur de la classe principale résidera une fusion de la fonction de tri. Cette fonction des segments d'une plage de nombres à trier dans la liste. Initialement, cette gamme de représenter l'ensemble de la liste, mais comme la fusion et le tri se poursuit, il va prendre seulement la moitié de la liste jusqu'à atteindre entrées simples. Ensuite, la fusion de la fonction de tri vont se recombiner les éléments en grandes listes triées (Source 2): public void mergeSort(int faible, int hi){ & #9 & #9 si (bas & #9 & #9 & #9 int milieu = (faible hi) / 2 & #9 & #9 & #9 mergeSort(faible, moyen) & #9 & #9 & #9 mergeSort(milieu 1, hi) & #9 & #9 & #9 de fusion(faible, moyen, hi) } } de Base de la Fonction de Fusion
      • La fonction de fusion permettra de combiner les deux listes après le tri. Si la fonction reçoit les éléments, il sera de l'ordre. Sinon, il en faudra deux listes distinctes, et selon le désir de le programmeur de les ordonner dans l'ordre croissant ou décroissant: private void fusion(int faible, int mid, hi int) { & #9 & #9 & #9 & #9 int[] copie = new int[x.longueur-1] & #9 & #9 // Copier les deux parties dans l'aide de tableau & #9 & #9 for (int i = faible i & #9 & #9 & #9 copie[i] = x[i] & #9 & #9 } & #9 & #9 int i = faible & #9 & #9 int j = mi-1 & #9 & #9 int k = faible & #9 & #9 & #9 & #9 while (i & #9 & #9 & #9 si (copie[i] & #9 & #9 & #9 & #9 x[k] = copie[i] & #9 & #9 & #9 & #9 j'& #9 & #9 & #9 } d'autre { & #9 & #9 & #9 & #9 x[k] = copie[j] & #9 & #9 & #9 & #9 j & #9 & #9 & #9 } & #9 & #9 & #9 k & #9 & #9 } & #9 & #9 // Copiez le reste de la gauche de la matrice dans la matrice cible & #9 & #9 while (i & #9 & #9 & #9 x[k] = copie[i] & #9 & #9 & #9 k & #9 & #9 & #9 i & #9 & #9 } } Fusion Tri Récursif
        • Le 'mergeSort' fonction récursive divise la liste. Tout d'abord, il subdivise la liste originale en la moitié à chaque fois qu'il appelle lui-même de manière récursive. Lorsque la récursivité atteint un chiffre unique, la fonction revient et commence à l'ordre de la liste. Chaque fois que la fonction revient à un précédent appel de fonction, il fusionne les deux moitiés d'une petite liste, finalement de travail retour à la liste complète. La fonction 'fusion' semble faire le gros du travail par l'organisation et la copie des valeurs dans la liste, mais le cœur d'une sorte de fusion est dans la simplicité trompeuse 'mergeSort' de la fonction.







Fusion de Tri dans du Code Java


Le tri des listes de donnees presente l'un des plus difficiles problemes de programmeurs, car il est difficile de conceptualiser et de mettre en œuvre efficace des algorithmes de tri dans les langages de programmation. Le tri exige beaucoup de la copie, le deplacement et la lecture de donnees pour travailler. En consequence, les programmeurs se concentrer sur le developpement efficace et generique algorithmes de tri. L'un de ces, la fusion de tri, fonctionne en divisant une liste de valeurs, encore et de maniere recursive pour "diviser et conquerir" le probleme. Depuis la fusion de tri est conçu comme une solution generique, la plupart des langues, y compris Java, ont les moyens de le mettre en œuvre.



Fusionner Classe
  • Une sorte de fusion prend une liste a trier et de maniere recursive divise la liste jusqu'a atteindre des valeurs uniques, tels que le nombre de celibataires. Le tri puis recompose les nombres dans l'ordre de tri, finissent par rentrer une liste triee. Une base de tri de classe en Java contient une liste a trier, et appeler un principal de fusion et le tri fonction, il definit: classe de Fusion{ public int[] x public static void main(String[] args){ x = [5, 6, 3, 4, 7, 8, 10, 2] mergeSort(x, 0, x.longueur-1) } } Fusion Fonction de Tri
    • a l'Exterieur de la classe principale residera une fusion de la fonction de tri. Cette fonction des segments d'une plage de nombres a trier dans la liste. Initialement, cette gamme de representer l'ensemble de la liste, mais comme la fusion et le tri se poursuit, il va prendre seulement la moitie de la liste jusqu'a atteindre entrees simples. Ensuite, la fusion de la fonction de tri vont se recombiner les elements en grandes listes triees (Source 2): public void mergeSort(int faible, int hi){ & #9 & #9 si (bas & #9 & #9 & #9 int milieu = (faible hi) / 2 & #9 & #9 & #9 mergeSort(faible, moyen) & #9 & #9 & #9 mergeSort(milieu 1, hi) & #9 & #9 & #9 de fusion(faible, moyen, hi) } } de Base de la Fonction de Fusion
      • La fonction de fusion permettra de combiner les deux listes apres le tri. Si la fonction reçoit les elements, il sera de l'ordre. Sinon, il en faudra deux listes distinctes, et selon le desir de le programmeur de les ordonner dans l'ordre croissant ou decroissant: private void fusion(int faible, int mid, hi int) { & #9 & #9 & #9 & #9 int[] copie = new int[x.longueur-1] & #9 & #9 // Copier les deux parties dans l'aide de tableau & #9 & #9 for (int i = faible i & #9 & #9 & #9 copie[i] = x[i] & #9 & #9 } & #9 & #9 int i = faible & #9 & #9 int j = mi-1 & #9 & #9 int k = faible & #9 & #9 & #9 & #9 while (i & #9 & #9 & #9 si (copie[i] & #9 & #9 & #9 & #9 x[k] = copie[i] & #9 & #9 & #9 & #9 j'& #9 & #9 & #9 } d'autre { & #9 & #9 & #9 & #9 x[k] = copie[j] & #9 & #9 & #9 & #9 j & #9 & #9 & #9 } & #9 & #9 & #9 k & #9 & #9 } & #9 & #9 // Copiez le reste de la gauche de la matrice dans la matrice cible & #9 & #9 while (i & #9 & #9 & #9 x[k] = copie[i] & #9 & #9 & #9 k & #9 & #9 & #9 i & #9 & #9 } } Fusion Tri Recursif
        • Le 'mergeSort' fonction recursive divise la liste. Tout d'abord, il subdivise la liste originale en la moitie a chaque fois qu'il appelle lui-meme de maniere recursive. Lorsque la recursivite atteint un chiffre unique, la fonction revient et commence a l'ordre de la liste. Chaque fois que la fonction revient a un precedent appel de fonction, il fusionne les deux moities d'une petite liste, finalement de travail retour a la liste complete. La fonction 'fusion' semble faire le gros du travail par l'organisation et la copie des valeurs dans la liste, mais le cœur d'une sorte de fusion est dans la simplicite trompeuse 'mergeSort' de la fonction.

Fusion de Tri dans du Code Java

Le tri des listes de données présente l'un des plus difficiles problèmes de programmeurs, car il est difficile de conceptualiser et de mettre en œuvre efficace des algorithmes de tri dans les langages de programmation. Le tri exige beaucoup de la copie, le déplacement et la lecture de données pour travailler. En conséquence, les programmeurs se concentrer sur le développement efficace et générique algorithmes de tri. L'un de ces, la fusion de tri, fonctionne en divisant une liste de valeurs, encore et de manière récursive pour "diviser et conquérir" le problème. Depuis la fusion de tri est conçu comme une solution générique, la plupart des langues, y compris Java, ont les moyens de le mettre en œuvre.
Recommander aux amis
  • gplus
  • pinterest

Messages récents

Commentaire

Laisser un commentaire

évaluation