sort algoloritmalarının karşılaştırmalı İncelenmesi

12
ÖDEV KONUSU: SORT ALGOLORİTMALARININ KARŞILAŞTIRMALI İNCELENMESİ HEAP SORT,MERGE SORT,QUICK SORT SELECTİON SORT,SHELL SORT,BUBLE SORT,INSERTION SORT

Upload: aderanc

Post on 30-Jul-2015

172 views

Category:

Documents


5 download

TRANSCRIPT

Page 1: Sort Algoloritmalarının Karşılaştırmalı İncelenmesi

ÖDEV KONUSU:

SORT ALGOLORİTMALARININ KARŞILAŞTIRMALI

İNCELENMESİ

HEAP SORT,MERGE SORT,QUICK SORT

SELECTİON SORT,SHELL SORT,BUBLE SORT,INSERTION SORT

Page 2: Sort Algoloritmalarının Karşılaştırmalı İncelenmesi

İNCELENEN N² KARMAŞIKLIKLI SORT ALGORİTMALARI:

Buble Selection Insertion Shell BUBLE SORT:

Buble sort kullanılan en eski ve en kolay sıralama algoritmalarından biridir. Buble sort mantığında bir eleman kendinden sonra gelen elemanla karşılaştırılarak gerekirse yerleri değiştirilir. Bu işlem bir tur boyunca hiç yer değiştirme yapılmayıncaya kadar devam eder. Karmaşıklığı N² olan sıralama algoritmaları arasında en yavaşıdır.

Algoritması:

Page 3: Sort Algoloritmalarının Karşılaştırmalı İncelenmesi

SELECTION SORT:

Karmaşıklığı N² olan bu sort algoritmasının mantığı bir dış döngü içinde en küçük sayı bulma algoritmasından başka bir şey değildir.Dizinin her elemanı dış döngü tarafından ilk başta en küçük eleman olarak alınır ve bundan daha küçük eleman bulunduğunda bu iki elemanın yerleri değiştirilir. Selection sort ,buble sorttan daha hızlı insertion sort ve shell sorttan daha yavaş çalışır.

Algoritması:

Page 4: Sort Algoloritmalarının Karşılaştırmalı İncelenmesi

INSERTION SORT:

Insertion sort ‘da karmaşıklığı N² olan sort algoritmalarındandır. Insertion sort mantığında bir eleman kendinden önce gelen elmanla kontrol edilerek kendinden küçük elemana rastlanılana kadar o eleman için bir indis değeri yürütülür. Insertion sort, buble sorttan neredeyse iki kat daha hızlıdır. Selection sorta göre ise yaklaşık %40 daha efektiftir.

Algoritması:

Page 5: Sort Algoloritmalarının Karşılaştırmalı İncelenmesi

SHELL SORT:

Shell sort N² karmaşıklığa sahip sort algoritmaları içerisinde en hızlı olanıdır.Algoritma liste üzerinde çoklu geçiş yapar ve her seferinde eşit uzunluktaki kümeleri insertion sorta benzer bir şekilde sıralar. Her geçişte sıralanması gereken küme büyür ve en sonunda uzunluğu tüm dizinin uzunluğuna eşit olur.

Algoritması:

Page 6: Sort Algoloritmalarının Karşılaştırmalı İncelenmesi

İNCELENEN N(LOGN) KARMAŞIKLIKLI SORT ALGORİTMALARI:(RECURSİVE YAPILI SORT ALGORİTMALARI)

HEAP SORT:

Heap sort N (log N) karmaşıklıklı sort algoritmaları arasında en yavaşıdır,fakat merge sort ve quick sort kadar çok tekrarlamaya ve tampon dizilere ihtiyaç duymadığı için milyonlarca parçadan oluşan büyük data üzerinde çalışılırken oldukça etkilidir.Heap sort çalışmaya başlamadan önce data kümesinin dışına bir yığın oluşturur ve bu yığından en büyük elemanı ayırarak sıralanmış dizinin en sonuna koyar ve yığını tekrar düzenler , yığında kalan en büyük elemanı çeker sıralanmış dizideki yerine koyar bu işlem yığında eleman kalmayıncaya kadar devam eder.

MERGE SORT:

Çok büyük data kümeleri için kullanılan bu sort algoritması büyük data bloğunu parçalara ayırarak sıralar ve daha sonra sıralanmış parçaları birleştirerek ana diziyi oluşturur.

QUICK SORT:

Quick sortta da merge sortta olduğu gibi dizi parçalara ayrılarak bir pivot eleman belirlenir ve bu pivot elmandan büyükler sağa küçükler sola alınarak oluşan bu parçalar içerisinde de pivot eleman belirlenir ve aynı işlem küçük kümelere de uygulanır ve sıralanacak kümeler gittikçe küçültülür ve sayısı artar bu küçük kümeler kendi içindeki sıralamaları bittiğinde dizi sıralanmış olur.

Page 7: Sort Algoloritmalarının Karşılaştırmalı İncelenmesi
Page 8: Sort Algoloritmalarının Karşılaştırmalı İncelenmesi
Page 9: Sort Algoloritmalarının Karşılaştırmalı İncelenmesi
Page 10: Sort Algoloritmalarının Karşılaştırmalı İncelenmesi