Turkish Java Sorting Algorithms Part#1

in #utopian-io7 years ago (edited)

What will I learn ?

Hi Utopians
Hi friends, I will try to give you information about the usage of Sorting Algorithms with Java Programming Language. We will process this sequential step-by-step sorting algorithm. At the end of our project, we will have learned the use and disposition of Java Sorting Algorithms. I will strive to give you a useful education series.

Merhaba arkadaşlar bu seride sizlere Java Programlama Dili ile Sorting Algorirtmaları kullanımı hakkında bilgiler vermeye çalışacağım. Bu seri adım adım 5 adet sıralama algoritmasını işleyeceğiz. Projemizin sonunda Java Sorting Algorithms kullanımını ve mantığını öğrenmiş olacağız. Sizlere faydalı bir eğitim serisi vermek için çabalayacağım.

Github Depo: https://github.com/kburaky/Java-Algorithms

Requirements

In order to implement these tutorials, you need to have already learned Basic algorithm knowledge and Java Programming Language resources.

Bu tutorials uygulayabilmek için daha önceden Temel algoritma bilgisi ve Java Programlama Dili temellerini öğrenmiş olmanız gerekmektedir.

Difficulty

Intermediate - Orta Düzey

Tutorial Contents

1-Bubble Sort Algorithm
Bubble sort, also referred to as sinking sort, is a simple sorting algorithm that works by repeatedly stepping through the list to be sorted, comparing each pair of adjacent items and swapping them if they are in the wrong order. The pass through the list is repeated until no swaps are needed, which indicates that the list is sorted. The algorithm gets its name from the way smaller elements "bubble" to the top of the list. Because it only uses comparisons to operate on elements, it is a comparison sort. Although the algorithm is simple, most of the other sorting algorithms are more efficient for large lists.

 Kabarcık sıralama, batan sıralama olarak da bilinir; sıralanacak listede art arda adım atarak, bitişik öğelerin her bir çiftini karşılaştırarak ve yanlış sırada olduklarında onları değiştirerek çalışır basit bir sıralama algoritmasıdır. Listedeki geçiş, takas gereken yere kadar sürdürülür ve bu da listenin sıralanacağını gösterir. Algoritma, adını küçük "kabarcık" unsurundan listenin başına getirme biçiminden alır. Öğeler üzerinde çalışmak için yalnızca karşılaştırmalar kullandığından karşılaştırma türüdür. Algoritma basit olmasına rağmen, diğer sıralama algoritmalarının çoğu büyük listeler için daha etkilidir.


Bubble sort has worst-case and average complexity both О(n2), where n is the number of items being sorted. There exist many sorting algorithms with substantially better worst-case or average complexity of O(n log n). Even other О(n2) sorting algorithms, such as insertion sort, tend to have better performance than bubble sort. Therefore, bubble sort is not a practical sorting algorithm when n is large.Performance of bubble sort over an already-sorted list (best-case) is O(n).

 Kabarcık sıralama, en kötü duruma ve ortalama karmaşıklığa hem О (n2) sahiptir, burada n, sıralanmış öğelerin sayısıdır. O'nun (n log n) en kötü durumda veya ortalama karmaşıklığına sahip olan birçok sıralama algoritması mevcuttur. Ekleme sıralama gibi diğer О (n2) sıralama algoritmaları, kabarcık sınıfına göre daha iyi bir performans sergileme eğilimindedir. Bu nedenle, kabarcık sıralama, n büyük olduğunda pratik bir sıralama algoritması değildir. Önceden sıralanmış bir listeye (en iyi durum) kabarcık sıralama performansı O (n) 'dır.

package com.kburaky;
public class MyBubbleSort {
// logic to sort the elements
public static void bubble_srt(int array[]) {
int n = array.length;
int k;
for (int m = n; m >= 0; m--) {
for (int i = 0; i < n - 1; i++) {
k = i + 1;
if (array[i] > array[k]) {
swapNumbers(i, k, array);
}
}
printNumbers(array);
}
}
private static void swapNumbers(int i, int j, int[] array) {
int temp;
temp = array[i];
array[i] = array[j];
array[j] = temp;
}
private static void printNumbers(int[] input) {
for (int i = 0; i < input.length; i++) {
System.out.print(input[i] + ", ");
}
System.out.println("\n");
}
public static void main(String[] args) {
int[] input = { 4, 2, 9, 6, 23, 12, 34, 0, 1 };
bubble_srt(input);
}
}

Output:
2, 4, 6, 9, 12, 23, 0, 1, 34,
2, 4, 6, 9, 12, 0, 1, 23, 34,
2, 4, 6, 9, 0, 1, 12, 23, 34,
2, 4, 6, 0, 1, 9, 12, 23, 34,
2, 4, 0, 1, 6, 9, 12, 23, 34,
2, 0, 1, 4, 6, 9, 12, 23, 34,
0, 1, 2, 4, 6, 9, 12, 23, 34,
0, 1, 2, 4, 6, 9, 12, 23, 34,
0, 1, 2, 4, 6, 9, 12, 23, 34,
0, 1, 2, 4, 6, 9, 12, 23, 34,

Curriculum

Part#1 Bubble Sort Algorithm
Part#2 Selection Sort Algorithm
Part#3 Insertion Sort Algorithm
Part#4 Quick Sort Algorithm
Part#5 Merge Sort Algorithm

For more detailed information, you can check out the links below:
http://www.java2novice.com/
https://www.geeksforgeeks.org/sorting-algorithms/



Posted on Utopian.io - Rewarding Open Source Contributors

Sort:  

Https://github.com/kburaky/Java-Sorting-Algorithms codes in this address.It is not compiled in accordance with the format of Utopia.If you do not want to review it completely, please do not comment.I just used the picture http: //www.algolist. net / Algorithms / Sorting / Bubble_sort is not quoted from this site. Do not comment if you are not