Kabarcık Sıralama Algoritmasına Giriş

Kabarcık Sıralama Algoritmasına Giriş

Sıralama, verilere uygulayabileceğiniz en temel işlemlerden biridir. Quick Sort, Bubble Sort, Merge Sort, Insertion Sort gibi çeşitli sıralama algoritmalarını kullanarak farklı programlama dillerindeki öğeleri sıralayabilirsiniz. Kabarcık Sıralama tüm bunlar arasında en basit algoritmadır.





Bu makalede, Bubble Sort algoritmasının çalışması, Bubble Sort algoritmasının sözde kodu, zaman ve mekan karmaşıklığı ve C++, Python, C ve JavaScript gibi çeşitli programlama dillerinde uygulanması hakkında bilgi edineceksiniz.





Kabarcık Sıralama Algoritması Nasıl Çalışır?

Bubble Sort, listede art arda adım atan, bitişik öğeleri karşılaştıran ve yanlış sıradaysa bunları değiştiren en basit sıralama algoritmasıdır. Bu kavram bir örnek yardımıyla daha verimli bir şekilde açıklanabilir. Şu öğelere sahip sıralanmamış bir dizi düşünün: {16, 12, 15, 13, 19}.





Örnek:

Burada bitişik öğeler karşılaştırılır ve artan sırada değilse değiştirilirler.



Kabarcık Sıralama Algoritmasının Sözde Kodu

Sözde kodda Bubble Sort algoritması şu şekilde ifade edilebilir:

bubbleSort(Arr[], size)
// loop to access each array element
for i=0 to size-1 do:
// loop to compare array elements
for j=0 to size-i-1 do:
// compare the adjacent elements
if Arr[j] > Arr[j+1] then
// swap them
swap(Arr[j], Arr[j+1])
end if
end for
end for
end

Yukarıdaki algoritma, dizi zaten sıralanmış olsa bile tüm karşılaştırmaları işler. İç döngü herhangi bir takasa neden olmadıysa, algoritma durdurularak daha da optimize edilebilir. Bu, algoritmanın yürütme süresini azaltacaktır.





Böylece, optimize edilmiş Bubble Sort algoritmasının sözde kodu şu şekilde ifade edilebilir:

bubbleSort(Arr[], size)
// loop to access each array element
for i=0 to size-1 do:
// check if swapping occurs
swapped = false
// loop to compare array elements
for j=0 to size-i-1 do:
// compare the adjacent elements
if Arr[j] > Arr[j+1] then
// swap them
swap(Arr[j], Arr[j+1])
swapped = true
end if
end for
// if no elements were swapped that means the array is sorted now, then break the loop.
if(not swapped) then
break
end if
end for
end

Kabarcık Sıralama Algoritmasının Zaman Karmaşıklığı ve Yardımcı Uzay

Kabarcık Sıralama Algoritmasının en kötü zaman karmaşıklığı O(n^2)'dir. Dizi azalan düzendeyken ve onu artan düzende veya tam tersi sırada sıralamak istediğinizde oluşur.





bir şarkı cüretinden vokaller nasıl kaldırılır

Kabarcık Sıralama Algoritmasının en iyi durum karmaşıklığı O(n)'dir. Dizi zaten sıralanmış olduğunda oluşur.

amazon dilek listesi isme göre arama

İlgili: Big-O Notasyonu Nedir?

Kabarcık Sıralama Algoritmasının ortalama durum zaman karmaşıklığı O(n^2)'dir. Dizinin öğeleri karışık sırada olduğunda oluşur.

Kabarcık Sıralama algoritması için gereken yardımcı alan O(1)'dir.

Kabarcık Sıralama Algoritmasının C++ Uygulaması

Aşağıda Bubble Sort algoritmasının C++ uygulaması yer almaktadır:

// C++ implementation of the
// optimised Bubble Sort algorithm
#include
using namespace std;
// Function to perform Bubble Sort
void bubbleSort(int arr[], int size) {
// Loop to access each element of the array
for (int i=0; i<(size-1); i++) {
// Variable to check if swapping occurs
bool swapped = false;
// loop to compare two adjacent elements of the array
for (int j = 0; j <(size-i-1); j++) {
// Comparing two adjacent array elements
if (arr[j] > arr[j + 1]) {
// Swap both elements if they're
// not in correct order
int temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
swapped = true;
}
}
// If no elements were swapped that means the array is sorted now,
// then break the loop.
if (swapped == false) {
break;
}
}
}
// Prints the elements of the array
void printArray(int arr[], int size) {
for (int i = 0; i cout << arr[i] << ' ';
}
cout << endl;
}
int main() {
int arr[] = {16, 12, 15, 13, 19};
// Finding the length of the array
int size = sizeof(arr) / sizeof(arr[0]);
// Printing the given unsorted array
cout << 'Unsorted Array: ' << endl;
printArray(arr, size);
// Calling bubbleSort() function
bubbleSort(arr, size);
// Printing the sorted array
cout << 'Sorted Array in Ascending Order:' << endl;
printArray(arr, size);
return 0;
}

Çıktı:

Unsorted Array:
16 12 15 13 19
Sorted Array in Ascending Order:
12 13 15 16 19

Kabarcık Sıralama Algoritmasının Python Uygulaması

Aşağıda Bubble Sort algoritmasının Python uygulaması yer almaktadır:

# Python implementation of the
# optimised Bubble Sort algorithm

# Function to perform Bubble Sort
def bubbleSort(arr, size):
# Loop to access each element of the list
for i in range (size-1):
# Variable to check if swapping occurs
swapped = False
# loop to compare two adjacent elements of the list
for j in range(size-i-1):
# Comparing two adjacent list elements
if arr[j] > arr[j+1]:
temp = arr[j]
arr[j] = arr[j+1]
arr[j+1] = temp
swapped = True
# If no elements were swapped that means the list is sorted now,
# then break the loop.
if swapped == False:
break
# Prints the elements of the list
def printArray(arr):
for element in arr:
print(element, end=' ')
print('')

arr = [16, 12, 15, 13, 19]
# Finding the length of the list
size = len(arr)
# Printing the given unsorted list
print('Unsorted List:')
printArray(arr)
# Calling bubbleSort() function
bubbleSort(arr, size)
# Printing the sorted list
print('Sorted List in Ascending Order:')
printArray(arr)

Çıktı:

Unsorted List:
16 12 15 13 19
Sorted List in Ascending Order:
12 13 15 16 19

İlgili: Python'da Döngüler İçin Nasıl Kullanılır

C Kabarcık Sıralama Algoritmasının Uygulanması

Aşağıda Bubble Sort algoritmasının C uygulaması yer almaktadır:

// C implementation of the
// optimised Bubble Sort algorithm
#include
#include
// Function to perform Bubble Sort
void bubbleSort(int arr[], int size) {
// Loop to access each element of the array
for (int i=0; i<(size-1); i++) {
// Variable to check if swapping occurs
bool swapped = false;
// loop to compare two adjacent elements of the array
for (int j = 0; j <(size-i-1); j++) {
// Comparing two adjacent array elements
if (arr[j] > arr[j + 1]) {
// Swap both elements if they're
// not in correct order
int temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
swapped = true;
}
}
// If no elements were swapped that means the array is sorted now,
// then break the loop.
if (swapped == false) {
break;
}
}
}
// Prints the elements of the array
void printArray(int arr[], int size) {
for (int i = 0; i printf('%d ', arr[i]);
}
printf(' ⁠n ');
}
int main() {
int arr[] = {16, 12, 15, 13, 19};
// Finding the length of the array
int size = sizeof(arr) / sizeof(arr[0]);
// Printing the given unsorted array
printf('Unsorted Array: ⁠n');
printArray(arr, size);
// Calling bubbleSort() function
bubbleSort(arr, size);
// Printing the sorted array
printf('Sorted Array in Ascending Order: ⁠n');
printArray(arr, size);
return 0;
}

Çıktı:

Unsorted Array:
16 12 15 13 19
Sorted Array in Ascending Order:
12 13 15 16 19

Kabarcık Sıralama Algoritmasının JavaScript Uygulaması

Aşağıda Bubble Sort algoritmasının JavaScript uygulaması yer almaktadır:

// JavaScript implementation of the
// optimised Bubble Sort algorithm
// Function to perform Bubble Sort
function bubbleSort(arr, size) {
// Loop to access each element of the array
for(let i=0; i // Variable to check if swapping occurs
var swapped = false;
// loop to compare two adjacent elements of the array
for(let j=0; j // Comparing two adjacent array elements
if(arr[j] > arr[j+1]) {
// Swap both elements if they're
// not in correct order
let temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
swapped = true;
}
// If no elements were swapped that means the array is sorted now,
// then break the loop.
if (swapped == false) {
break;
}
}
}
}
// Prints the elements of the array
function printArray(arr, size) {
for (let i=0; i document.write(arr[i] + ' ');
}
document.write('
')
}

var arr = [16, 12, 15, 13, 19];
// Finding the length of the array
var size = arr.length;
// Printing the given unsorted array
document.write('Unsorted Array:
');
printArray(arr, size);
// Calling bubbleSort() function
bubbleSort(arr, size);
// Printing the sorted array
document.write('Sorted Array in Ascending Order:
');
printArray(arr, size);

Çıktı:

Unsorted Array:
16 12 15 13 19
Sorted Array in Ascending Order:
12 15 13 16 19

Artık Kabarcık Sıralama Algoritmasının Çalışmasını Anlıyorsunuz

Bubble Sort, en basit sıralama algoritmasıdır ve esas olarak sıralamanın temellerini anlamak için kullanılır. Bubble Sort, özyinelemeli olarak da uygulanabilir, ancak bunu yapmak için hiçbir ek avantaj sağlamaz.

Python kullanarak Bubble Sort algoritmasını kolaylıkla uygulayabilirsiniz. Python'a aşina değilseniz ve yolculuğunuza hızlı bir başlangıç ​​yapmak istiyorsanız, bir 'Merhaba Dünya' betiğiyle başlamak harika bir seçimdir.

Paylaş Paylaş Cıvıldamak E-posta Bir 'Merhaba Dünya' Komut Dosyası Kullanarak Python'a Nasıl Başlanır?

Python, günümüzde kullanılan en popüler programlama dillerinden biridir. İlk Python betiğinizi kullanmaya başlamak için bu öğreticiyi izleyin.

Sonrakini Oku
İlgili konular
  • Programlama
  • Java
  • piton
  • Kodlama Eğitimleri
Yazar hakkında Yuvraj Chandra(60 Makale Yayımlandı)

Yuvraj, Hindistan Delhi Üniversitesi'nde Bilgisayar Bilimleri lisans öğrencisidir. Full Stack Web Geliştirme konusunda tutkulu. Yazmadığı zamanlarda farklı teknolojilerin derinliğini keşfediyor.

android ücretsiz sanal gerçeklik uygulamaları
Yuvraj Chandra'dan Daha Fazla

Haber bültenimize abone ol

Teknik ipuçları, incelemeler, ücretsiz e-kitaplar ve özel fırsatlar için bültenimize katılın!

Abone olmak için buraya tıklayın