Sıralama Algoritmaları

Visual Basic & Action script Sıralama Algoritmaları Programlama hakkında bilgi paylaş; Sıralama Algoritmaları Bu algoritma en temel ve basit sıralama algoritmasıdır.Genel olarak verilen n adet değ...
Cevapla
 
Seçenekler
  #1  
Arama 24-12-2007, 10:34
Celebrian - ait Kullanıcı Resmi (Avatar)

Üyelik Tarihi: 19/11/07
Mesajlar: 3.877
 
     WS-Ticareti: (0)
Teşekkürleri: 0
27 Msg. 34 Tşkr.
Rep Gücü: 40 Celebrian rep gücü yükselmeye başladı

Sıralama Algoritmaları

Sıralama Algoritmaları Bu algoritma en temel ve basit sıralama algoritmasıdır.Genel olarak verilen n adet değer için n-1 adımda sıralama yapılır. Bu algoritmayı şu şekilde anlatabiliriz ;
Birinci adım : Bu adımda dizinin ilk elemanı dizinin diğer elemanları ile karşılaştırılır.İlk eleman karşılaştırıldığı eleman'dan küçükse dizideki bir sonraki elemana geçilir. Eğer dizideki eleman karşılaştırıldığı elemandan büyükse ilk eleman büyük olduğu elemanın yerine eleman ise dizinin ilk sırasına yerleştirirlir.Bu işlem dizinin son elemanınana kadar devam eder.Daha sonra ikinci adıma geçilir.
İkinci adım : Bu adımda dizinin ikinci elemanı dizinin diğer elemanları ile karşılaştırılır.İkinci eleman karşılaştırıldığı eleman'dan küçükse dizideki bir sonraki elemana geçilir. Eğer dizideki eleman karşılaştırıldığı elemandan büyükse ikinci eleman büyük olduğu elemanın yerine eleman ise dizinin ikinci sırasına yerleştirirlir.Bu işlem dizinin son elemanınana kadar devam eder.Daha sonra üçüncü adıma geçilir.
...
...
n-1 adım : Bu adımda ise dizinin n-1 inci sıradaki elemanı ile dizinin n ci elemanı karşılaştırılır.Eğer n. eleman'dan büyükse yer değiştirirler.Yoksa işlem sona erer.

Görüldüğü gibi n adet değer için n-1 adımda bir sıralama yapılıyor. Karşılaştırma sayısını bulmak istersek ;

1. adımda n-1 adet karşılaştırma yaptık.
2. adımda n-2 adet karşılaştırma yaptık.
3. adımda n-3 adet karşılaştırma yaptık.
....
....
n-2. adımda 2 karşılaştırma yaptık.
n-1. adımda 1 karşılaştırma yaptık.

Yani toplam karşılaştırma sayımız (n-1)+(n-2)+(n-3)+....+3+2+1 dir. n adet veriyi sıralamak için yapılan toplam karşılaştırma süresi o halde n*(n-1)/2 'dir. Örnek algoritmanın programını şu şekilde verebilriz ;


For i = 1 To p - 1
For j = i + 1 To p
If dizi(i) > dizi(j) Then
t = dizi(i)
dizi(i) = dizi(j)
dizi(j) = t
End If
Next j
Next i


Aşağıdaki örnek program ise Visual Basic'de bu algoritmanın uygulanmasını göstermektedir.
Formun general declarations kısmına aşagıdaki değerleri giriniz.Bunlar programda kullanacağımız degişkenlerdir.
Option Base 1
Dim dizi
Dim i, j, t, p As Integer

Daha sonra form üzerine iki tane buton yerleştiriniz. Bunlardan birincisinin adını Dizi ikincisinin adını ise Sırala olarak değiştirin.Birinci butonun click event'ine aşağıdaki kodu giriniz.
Private Sub Command1_Click()
'dizi gir
p = Val(InputBox("dizinin boyutunu giriniz"))
ReDim dizi(p)
For j = 1 To p
dizi(j) = Val(InputBox("Dizinin " & j & " elemanını giriniz", "Eleman"))
Next j
End Sub

İkinci butonun click event'ine ise aşağıdaki satırları yazınız.
Private Sub Command2_Click()
Print "Dizinin önceki hali"
For i = 1 To p
Print dizi(i); "-";
Next i
For i = 1 To p - 1
For j = i + 1 To p
If dizi(i) > dizi(j) Then
t = dizi(i)
dizi(i) = dizi(j)
dizi(j) = t
End If
Next j
Next i
Print
Print "Dizinin sıralanmış hali"
For i = 1 To p
Print dizi(i); "-";
Next i
End Sub
Alıntı ile Cevapla
Cevapla


Seçenekler


Benzer Konular
Konu Konu Açanlar Forum Cevaplar Güncel Mesajlar
Görsel Yardımla Sıralama Algoritmaları özlem34 Webmastersitesi çöplüğü 0 21-05-2008 10:25
Sıralama Algoritmaları B737 Visual Basic & Action script 0 25-01-2008 06:10
Bilgileri Görüntüleme ve Sıralama « kadınca Google Adwords 0 10-12-2007 11:30
Python ile sıralama algoritmaları bublesort, quicksort, insertation sort vs.. banias Python 0 24-11-2007 04:01
C# Dizi Eleman Sıralama rhythm C, c++, c# 0 27-10-2007 01:51

Link vermek için alttaki kodu sitenize ekleyebilirsiniz. Veya Ctrl+C ile Kopyalayınız
Örnek görünüm: Webmaster Sitesi