Sıralama algoritmaları

Содержание

Слайд 3

Sıralama Algoritmaları

Herhangi bir sayıdaki verilerin
sınırlı bellek ve
işlem gücü ile belirli

Sıralama Algoritmaları Herhangi bir sayıdaki verilerin sınırlı bellek ve işlem gücü ile
bir sıraya göre dizilmesidir.
Burada önemli olan: en az bellek kullanmak ve
en hızlı performans
verecek bir algoritmanın elde edilmesidir.

Слайд 4

Sıralama Algoritmaları

Bellek Kullanımı: Çalışırken ek belek ihtiyacı duyan algoritmalarda kullanılır.
Ayrıcada sıralama

Sıralama Algoritmaları Bellek Kullanımı: Çalışırken ek belek ihtiyacı duyan algoritmalarda kullanılır. Ayrıcada
işleminin yapılması sırasında hafızanın kullanımına göre de:
Harici sıralama (External Sort) ve
Dahili Sıralama (Internal Sort).

Слайд 5

Sıralama Algoritmaları

Bellek Kullanımı: Çalışırken ek belek ihtiyacı duyan algoritmalarda kullanılır.
Ayrıcada sıralama

Sıralama Algoritmaları Bellek Kullanımı: Çalışırken ek belek ihtiyacı duyan algoritmalarda kullanılır. Ayrıcada
işleminin yapılması sırasında hafızanın kullanımına göre de:
Harici sıralama (External Sort) ve
Dahili Sıralama (Internal Sort).

Слайд 6

Sıralama Algoritmaları

Hesaplama Karmaşıklığı : Oluşturulmuş olan algoritmanın yaptığı işlem sayısıdır.
iyi(best),
ortalama(average) ve

Sıralama Algoritmaları Hesaplama Karmaşıklığı : Oluşturulmuş olan algoritmanın yaptığı işlem sayısıdır. iyi(best),

en kötü(worst) durumu olarak belirtilir.
Ne kadar çok işlem yapılırsa o kadar uzun süre geçer ve dolayısı ile algoritmanın işleyiş süresini de etkiler.

Слайд 7

Sıralama Algoritmaları

Yerdeğiştirmenin karmaşıklığı: İçerisinde ek bellek kullanmayan algoritmalarda kullanılan karşılaştırılabilmesi için önemlidir.

Sıralama Algoritmaları Yerdeğiştirmenin karmaşıklığı: İçerisinde ek bellek kullanmayan algoritmalarda kullanılan karşılaştırılabilmesi için
Ne kadar az yer değiştirme o kadar performans demektir
Durağanlık(stability): Algoritmanın uygulanması sırasında sıralanmış bir verinin tekrar sıralamaya dahil edilmesidir.

Слайд 8

Sıralama Algoritmaları

Fakat en önemli kriter:
Bellek (Hafıza) Verimliliği (Memory efficiency) ve
Zaman Verimliliği

Sıralama Algoritmaları Fakat en önemli kriter: Bellek (Hafıza) Verimliliği (Memory efficiency) ve
(Time efficiency)’dir.
* Bir algoritmanın hızlı çalışması demek daha çok hafızaya ihtiyaç duyması demektir.
* Tersi durumda da bir algoritmanın daha az yere ihtiyaç duyması daha yavaş çalışması demektir.
Ancak bir algoritma hem zaman hem de hafıza olarak verimliyse bu durumda diğer algoritmalardan başarılı sayılabilir.

Слайд 9

Elemeli Sıralama,Kabarcık Sıralama(Bubble Sort)

Dizinin elemanları üzerinden ilk elemandan başlayarak ve her geçişte

Elemeli Sıralama,Kabarcık Sıralama(Bubble Sort) Dizinin elemanları üzerinden ilk elemandan başlayarak ve her
sadece yan yana bulunan iki eleman arasında sıralama yapılır. Dizinin başından sonuna kadar tüm elemanlar bir kez işleme tabi tutulduğunda dizinin son elemanı (küçükten büyüğe sıralandığında) en büyük eleman haline gelecektir.

Слайд 10

Elemeli Sıralama,Kabarcık Sıralama(Bubble Sort)

Bir sonraki tarama ise bu en sağdaki eleman dışarıda

Elemeli Sıralama,Kabarcık Sıralama(Bubble Sort) Bir sonraki tarama ise bu en sağdaki eleman
bırakılarak gerçekleştirilmektedir. Bu dışarıda bırakma işlemi de dış döngüdeki sayaç değişkeninin değerinin her işletimde bir azaltılmasıyla sağlanmaktadır.
Elemeli Sıralama, Kabarcık Sıralama(Bubble Sort)

Слайд 11

Elemeli Sıralama,Kabarcık Sıralama(Bubble Sort)

Bubble sort, sıralama teknikleri içinde anlaşılması ve programlanması kolay

Elemeli Sıralama,Kabarcık Sıralama(Bubble Sort) Bubble sort, sıralama teknikleri içinde anlaşılması ve programlanması
olmasına rağmen etkinliği en az olan algoritmalardandır (n elemanlı x dizisi için).

Слайд 12

Elemeli Sıralama,Kabarcık Sıralama(Bubble Sort)

9, 5, 8, 3, 1. rakamlarının azalan şekilde sıralanmasını

Elemeli Sıralama,Kabarcık Sıralama(Bubble Sort) 9, 5, 8, 3, 1. rakamlarının azalan şekilde
buble sort algoritmasıyla yapalım:

Слайд 13

Elemeli Sıralama,Kabarcık Sıralama(Bubble Sort)

9, 5, 8, 3, 1. rakamlarının azalan şekilde sıralanmasını

Elemeli Sıralama,Kabarcık Sıralama(Bubble Sort) 9, 5, 8, 3, 1. rakamlarının azalan şekilde
buble sort algoritmasıyla yapalım:

Слайд 14

Elemeli Sıralama,Kabarcık Sıralama(Bubble Sort)

9, 5, 8, 3, 1. rakamlarının azalan şekilde sıralanmasını

Elemeli Sıralama,Kabarcık Sıralama(Bubble Sort) 9, 5, 8, 3, 1. rakamlarının azalan şekilde
buble sort algoritmasıyla yapalım:

Слайд 16

Seçmeli sıralama (selection sort)

Mantıksal olarak ilk önce dizi sıralanmış ve sıralanmamış 2

Seçmeli sıralama (selection sort) Mantıksal olarak ilk önce dizi sıralanmış ve sıralanmamış
parçaya bölünür.
Başlangıçta tüm dizi sıralanmamıştır.
Konumunu başlangıca ayarla (i. eleman)
i. elemandan başlayarak dizinin kalan elemanları ile karşılaştırma yaparak en küçük elemanını bul/seç.
- i. Elemanla değiştir.
Konumunu 1 artır. (i+1. elemana gel)
i+1. elmandan başlayarak en küçüğü bul
i+1. elemanla yer değiştir.

Слайд 18

#include
int main()
{int dizi [100],n,c,d,degistir;
printf("Kaç sayı Sıralanacak: "); scanf("%d",&n);
printf("%d sayı giriniz ve

#include int main() {int dizi [100],n,c,d,degistir; printf("Kaç sayı Sıralanacak: "); scanf("%d",&n); printf("%d
her girdiğiniz sayıdan sonra ENTER a basınız\n",n);
for(c=0;cfor(c=0;c{
for(d=0;d {
if(dizi[d]>dizi[d+1]) /*büyükten küçüğe sıralamak için '<' yerine '>' */
{
degistir=dizi[d];
dizi[d]=dizi[d+1];
dizi[d+1]=degistir;
}
}
}
printf("Küçükten büyüğe sıralı dizi:\n");
for(c=0;creturn 0;
}