fbpx
Wikipedia

Permutasiya nizamlaması

Alqoritmin işləmə prinsipi çox sadədir. Alqoritm müəyyən ədədlər massivinin Permutasiyalarını növbə ilə yoxlayır və sıralanmış vəziyyətin tapılması halında öz işini sona çatdırır. Alqoritmi sadə olaraq aşağıdakı formada yazmaq olar: Massiv sıralı olana qədər, Permutasiyasın al.

Nümunə

nizamlamaq istədiyimiz massiv aşağıdakı kimi olsun.

1285


Burda massivin permutasiyaları alınaraq, massiv sıralanana qədər davam etdirilir. Bu əməliyyatların sayı n! ilə hesablandığından burda sıralanmanın ən pis ehtimalı 4! = 24-dür.

2 6 8 1

2 8 6 1

2 6 8 1

8 6 2 1

2 6 8 1

2 6 1 8

2 1 6 8

1 2 6 8

Yuxarıdakı permutasiyalardan sonuncusu sıralanmış vəziyyətdədir və alqoritm bu vəziyyətə çatdıqda sonlanır.

Java proqramlaşdırma dilində təsviri

import java.util.List; import java.util.ArrayList; import java.util.Arrays; public class PermutationSort { public static void main(String[] args) { int[] a={3,2,1,8,9,4,6}; System.out.println("Unsorted: " + Arrays.toString(a)); a=pSort(a); System.out.println("Sorted: " + Arrays.toString(a)); } public static int[] pSort(int[] a) { List<int[]> list=new ArrayList<int[]>(); permute(a,a.length,list); for(int[] x : list) if(isSorted(x)) return x; return a; } private static void permute(int[] a, int n, List<int[]> list) { if (n == 1) { int[] b=new int[a.length]; System.arraycopy(a, 0, b, 0, a.length); list.add(b); return; } for (int i = 0; i < n; i++) {  swap(a, i, n-1);  permute(a, n-1, list);  swap(a, i, n-1); } } private static boolean isSorted(int[] a) { for(int i=1;i<a.length;i++) if(a[i-1]>a[i]) return false; return true; } private static void swap(int[] arr,int i, int j) { int temp=arr[i]; arr[i]=arr[j]; arr[j]=temp; } } 

Həmçinin bax

permutasiya, nizamlaması, alqoritmin, işləmə, prinsipi, çox, sadədir, alqoritm, müəyyən, ədədlər, massivinin, permutasiyalarını, növbə, ilə, yoxlayır, sıralanmış, vəziyyətin, tapılması, halında, işini, sona, çatdırır, alqoritmi, sadə, olaraq, aşağıdakı, formad. Alqoritmin isleme prinsipi cox sadedir Alqoritm mueyyen ededler massivinin Permutasiyalarini novbe ile yoxlayir ve siralanmis veziyyetin tapilmasi halinda oz isini sona catdirir Alqoritmi sade olaraq asagidaki formada yazmaq olar Massiv sirali olana qeder Permutasiyasin al Numune Redaktenizamlamaq istediyimiz massiv asagidaki kimi olsun 1285Burda massivin permutasiyalari alinaraq massiv siralanana qeder davam etdirilir Bu emeliyyatlarin sayi n ile hesablandigindan burda siralanmanin en pis ehtimali 4 24 dur 2 6 8 12 8 6 12 6 8 18 6 2 12 6 8 12 6 1 82 1 6 81 2 6 8Yuxaridaki permutasiyalardan sonuncusu siralanmis veziyyetdedir ve alqoritm bu veziyyete catdiqda sonlanir Java proqramlasdirma dilinde tesviri Redakteimport java util List import java util ArrayList import java util Arrays public class PermutationSort public static void main String args int a 3 2 1 8 9 4 6 System out println Unsorted Arrays toString a a pSort a System out println Sorted Arrays toString a public static int pSort int a List lt int gt list new ArrayList lt int gt permute a a length list for int x list if isSorted x return x return a private static void permute int a int n List lt int gt list if n 1 int b new int a length System arraycopy a 0 b 0 a length list add b return for int i 0 i lt n i swap a i n 1 permute a n 1 list swap a i n 1 private static boolean isSorted int a for int i 1 i lt a length i if a i 1 gt a i return false return true private static void swap int arr int i int j int temp arr i arr i arr j arr j temp Hemcinin bax Redaktenizamlama alqoritmi PermutasiyaMenbe https az wikipedia org w index php title Permutasiya nizamlamasi amp oldid 5123071, wikipedia, oxu, kitab, kitabxana, axtar, tap, hersey,

ne axtarsan burda

, en yaxsi meqale sayti, meqaleler, kitablar, oyrenmek, wiki, bilgi, tarix, seks, porno, indir, yukle, sex, azeri sex, azeri, seks yukle, sex yukle, izle, seks izle, porno izle, mobil seks, telefon ucun, chat, azeri chat, tanisliq, tanishliq, azeri tanishliq, sayt, medeni, medeni saytlar, chatlar, mekan, tanisliq mekani, mekanlari, yüklə, pulsuz, pulsuz yüklə, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, şəkil, muisiqi, mahnı, kino, film, kitab, oyun, oyunlar.