🙂 İNSANLARIN EN HAYIRLISI INSANLARA FAYDALI OLANDIR 🙂

Ramazan HABER / Java / SIRALAMALAR EN HIZLI EN YAVAŞ VS

 

1-) Java - SIRALAMALAR EN HIZLI EN YAVAŞ VS?

 

long selec, inser, bub, quick, merg;

 

int a;

 

public int[] selectionsort(int[] A, int n) {

 

int tmp;

 

int min;

 

for (int i = 0; i < n - 1; i++) {

 

min = i;

 

for (int j = i; j < n - 1; j++) {

 

if (A[j] < A[min]) {

 

min = j; } }

 

tmp = A[i];

 

A[i] = A[min];

 

A[min] = tmp; }

 

return A; }

 

public void bublesort(int[] x) {

 

int n = x.length;

 

int tut, j, gec;

 

for (gec = 0; gec < n - 1; gec++) {

 

for (j = 0; j < n - gec - 1; j++) {

 

if (x[j] > x[j + 1]) {

 

tut = x[j];

 

x[j] = x[j + 1];

 

x[j + 1] = tut; } } } }

 

void insertionSort(int[] arr) {

 

int i, j, Taşınan;

 

for (i = 1; i < arr.length; i++) {

 

Taşınan = arr[i];

 

j = i;

 

while (j > 0 && arr[j - 1] > Taşınan) {

 

arr[j] = arr[j - 1];

 

j--; }

 

arr[j] = Taşınan; } }

 

public void quickSort(int A[], int p, int r) {

 

int q;

 

if (p < r) {

 

q = partition(A, p, r);

 

quickSort(A, p, q - 1);

 

quickSort(A, q + 1, r); } }

 

public int partition(int A[], int p, int r) {

 

int tmp;

 

int x = A[r];

 

int i = p - 1;

 

for (int j = p; j <= r - 1; j++) {

 

if (A[j] <= x) {

 

i++;

 

tmp = A[i];

 

A[i] = A[j];

 

A[j] = tmp; } }

 

tmp = A[i + 1];

 

A[i + 1] = A[r];

 

A[r] = tmp;

 

return i + 1; }

 

public class merge {

 

private int[] list;

 

// siralancak listeyi alan inşa fonksiyonu

 

public merge(int[] listToSort) {

 

list = listToSort; }

 

merge() { }

 

// listeyi döndüren kapsülleme fonksiyonu

 

public int[] getList() {

 

return list; }

 

// dışarıdan çağırılan sıralama fonksiyonu

 

public void sort() {

 

list = sort(list); }

 

// Özyineli olarak çalışan ve her parça için kullanılan sıralama fonksiyonu

 

public int[] sort(int[] whole) {

 

if (whole.length == 1) {

 

return whole;

 

} else {

 

// diziyi ikiye bölüyoruz ve solu oluşturuyoruz

 

int[] left = new int[whole.length / 2];

 

System.arraycopy(whole, 0, left, 0, left.length);

 

int[] right = new int[whole.length - left.length];

 

System.arraycopy(whole, left.length, right, 0, right.length);

 

// her iki tarafı ayrı ayrı sıralıyoruz

 

left = sort(left);

 

right = sort(right);

 

// Sıralanmış dizileri birleştiriyoruz

 

merge(left, right, whole);

 

return whole; } }

 

public void merge(int[] left, int[] right, int[] result) {

 

int x = 0;

 

int y = 0;

 

int k = 0;

 

// iki dizide de eleman varken

 

while (x < left.length && y < right.length) {

 

if (left[x] < right[y]) {

 

result[k] = left[x];

 

x++;

 

} else {

 

result[k] = right[y];

 

y++; }

 

k++; }

 

int[] rest;

 

int restIndex;

 

if (x >= left.length) {

 

rest = right;

 

restIndex = y;

 

} else {

 

rest = left;

 

restIndex = x; }

 

for (int i = restIndex; i < rest.length; i++) {

 

result[k] = rest[i];

 

k++; } } }

 

public void sirala(int[] x) {

 

for (int i = 0; i < a; i++) {

 

System.out.println(x[i]); } }

 

public void sirala1(int[] y) {

 

for (int i = 0; i < 5; i++) {

 

if (y[i] == selec) {

 

jTextArea1.append("selection=" + y[i] + "<"); }

 

if (y[i] == inser) {

 

jTextArea1.append("insertion=" + y[i] + "<"); }

 

if (y[i] == bub) {

 

jTextArea1.append("bubble=" + y[i] + "<"); }

 

if (y[i] == quick) {

 

jTextArea1.append("quick=" + y[i] + "<"); }

 

if (y[i] == merg) {

 

jTextArea1.append("merge=" + y[i] + "<"); } } }

 

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {

 

jTextArea1.setText("");

 

if (jRadioButton7.isSelected()) {

 

a = 10000; }

 

if (jRadioButton8.isSelected()) {

 

a = 20000; }

 

if (jRadioButton9.isSelected()) {

 

a = 30000; }

 

int[] dizi = new int[a];

 

for (int i = 0; i < a; i++) {

 

dizi[i] = (int) ((Math.random() * 100000) + 1); }

 

if (jRadioButton1.isSelected()) {

 

long startTime = System.currentTimeMillis();

 

selectionsort(dizi, a + 1);

 

sirala(dizi);

 

long endTime = System.currentTimeMillis();

 

long totalTime = endTime - startTime;

 

jTextArea1.append("SELECTİON SORTU=" + totalTime + " milisaniyede sıraladım.\n"); }

 

if (jRadioButton2.isSelected()) {

 

long startTime = System.currentTimeMillis();

 

insertionSort(dizi);

 

sirala(dizi);

 

long endTime = System.currentTimeMillis();

 

long totalTime = endTime - startTime;

 

jTextArea1.append("İNSERTİON SORTU=" + totalTime + " milisaniyede sıraladım."); }

 

if (jRadioButton3.isSelected()) {

 

long startTime = System.currentTimeMillis();

 

bublesort(dizi);

 

sirala(dizi);

 

long endTime = System.currentTimeMillis();

 

long totalTime = endTime - startTime;

 

jTextArea1.append("BUBBLE SORTU=" + totalTime + " milisaniyede sıraladım."); }

 

if (jRadioButton4.isSelected()) {

 

long startTime = System.currentTimeMillis();

 

 

 

quickSort(dizi, 1, a - 1);

 

sirala(dizi);

 

 

 

long endTime = System.currentTimeMillis();

 

long totalTime = endTime - startTime;

 

jTextArea1.append("QUİCK SORTU=" + totalTime + " milisaniyede sıraladım."); }

 

if (jRadioButton5.isSelected()) {

 

long startTime = System.currentTimeMillis();

 

merge mer = new merge();

 

mer.sort(dizi);

 

sirala(dizi);

 

long endTime = System.currentTimeMillis();

 

long totalTime = endTime - startTime;

 

jTextArea1.append("MERGE SORTU=" + totalTime + " milisaniyede sıraladım."); }

 

if (jRadioButton6.isSelected()) {

 

int[] dizi1 = new int[a];

 

for (int i = 0; i < a; i++) {

 

dizi1[i] = (int) ((Math.random() * 100000) + 1);

 

}

 

long startTime = System.currentTimeMillis();

 

selectionsort(dizi1, a + 1);

 

sirala(dizi1);

 

long endTime = System.currentTimeMillis();

 

long totalTime = endTime - startTime;

 

selec = totalTime;

 

//---------------------------------------------------------------------------------------------

 

int[] dizi2 = new int[a];

 

for (int i = 0; i < a; i++) {

 

dizi2[i] = (int) ((Math.random() * 100000) + 1); }

 

long startTime1 = System.currentTimeMillis();

 

 

 

insertionSort(dizi2);

 

sirala(dizi2);

 

 

 

long endTime1 = System.currentTimeMillis();

 

long totalTime1 = endTime1 - startTime1;

 

inser = totalTime1;

 

//---------------------------------------------------------------------------------------------

 

int[] dizi3 = new int[a];

 

for (int i = 0; i < a; i++) {

 

dizi3[i] = (int) ((Math.random() * 100000) + 1); }

 

long startTime2 = System.currentTimeMillis();

 

bublesort(dizi3);

 

sirala(dizi3);

 

long endTime2 = System.currentTimeMillis();

 

long totalTime2 = endTime2 - startTime2;

 

bub = totalTime2;

 

//-------------------------------------------------------------------------------------------

 

int[] dizi4 = new int[a];

 

for (int i = 0; i < a; i++) {

 

dizi4[i] = (int) ((Math.random() * 100000) + 1); }

 

long startTime3 = System.currentTimeMillis();

 

quickSort(dizi4, 1, a - 1);

 

sirala(dizi4);

 

long endTime3 = System.currentTimeMillis();

 

long totalTime3 = endTime3 - startTime3;

 

quick = totalTime3;

 

//---------------------------------------------------------------------------------------

 

int[] dizi5 = new int[a];

 

for (int i = 0; i < a; i++) {

 

dizi5[i] = (int) ((Math.random() * 100000) + 1); }

 

long startTime4 = System.currentTimeMillis();

 

merge mer = new merge();

 

mer.sort(dizi5);

 

sirala(dizi5);

 

long endTime4 = System.currentTimeMillis();

 

long totalTime4 = endTime4 - startTime4;

 

merg = totalTime4;

 

jTextArea1.append("SELECTİON SORTU=" + selec + " milisaniyede sıraladım.\n"

 

+ "İNSERTİON SORTU=" + inser + " milisaniyede sıraladım.\n"

 

+ "BUBBLE SORTU=" + bub + " milisaniyede sıraladım.\n"

 

+ "QUİCK SORTU=" + quick + " milisaniyede sıraladım.\n"

 

+ "MERGE SORTU=" + merg + " milisaniyede sıraladım.\n");

 

System.out.println("SELECTİON SORTU=" + selec + " milisaniyede sıraladım.");

 

System.out.println("İNSERTİON SORTU=" + inser + " milisaniyede sıraladım.");

 

System.out.println("BUBBLE SORTU=" + bub + " milisaniyede sıraladım.");

 

System.out.println("QUİCK SORTU=" + quick + " milisaniyede sıraladım.");

 

System.out.println("MERGE SORTU=" + merg + " milisaniyede sıraladım.");

 

int[] dizi6 = new int[5];

 

dizi6[0] = (int) (selec);

 

dizi6[1] = (int) inser;

 

dizi6[2] = (int) bub;

 

dizi6[3] = (int) quick;

 

dizi6[4] = (int) merg;

 

mer.sort(dizi6);

 

sirala1(dizi6); } }

 

private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {

 

System.exit(0); }

 2021 Ocak 18 Pazartesi
 436