NİŞANTAŞI ÜNİVERSİTESİ

Slides:



Advertisements
Benzer bir sunumlar
Yığınlama Sıralaması (Heap Sort)
Advertisements

FIRAT ÜNİVERSİTESİ TEKNOLOJİ FAKÜLTESİ
Listeler.
Veri Yapıları ve Algoritmalar dönem
İkili Ağaçlar İkili Arama Ağaçları
Sorting Methods Basics of Sorting Elementary Sorting Algorithms
Lower Bounds for Sorting
Özyineli Sıralama Algoritmaları
Algoritmalar DERS 4 Çabuk sıralama Böl ve fethet Bölüntüler
Üniversitemiz Öğrenci Bilgi Sistemine Kullanıcı Adı (Öğrenci Numarası ) ve tarafınızdan belirlenen Şifre ile giriş yapılır; You can have access to Student.
Atama ve eşleme (eşleştirme) problemleri (Matching and Assignment problems)
Görsel C# Programlama Güz 2009 (6. Hafta).
GRAPHS ÖZET.
İŞ SIRALAMA VE ÇİZELGELEME DERS 5
S 2/e C D A Computer Systems Design and Architecture Second Edition© 2004 Prentice Hall Chapter 6 Overview Number Systems and Radix Conversion Fixed point.
HIZLI SIRALAMA ALGORİTMALARI(QUICK SORT)
Python Aslı Ergün.
Outline 4.1 Giriş 4.2 Algoritmalar 4.3 Pseudocode 4.4 Kontrol İfadeleri 4.5 if tek-seçimli ifadeler 4.6 if else seçimli ifadeler 4.7 while döngü ifadeleri.
İşlem Yönetimi (Kilitlenme)
Kabuk Programlama Shell Scripting(bash)
COSTUMES KILIKLAR (KOSTÜMLER)
Doç. Dr. Cemil Öz SAÜ Bilgisayar Mühendisliği Dr. Cemil Öz.
Doç. Dr. Cemil Öz SAÜ Bilgisayar Mühendisliği Dr. Cemil Öz.
Veri Yapıları ve Algoritmalar
BM-305 Mikrodenetleyiciler Güz 2015 (6. Sunu) (Yrd. Doç. Dr. Deniz Dal)
AVL Trees / Slide 1 Silme * Anahtar hedefi silmek için, x yaprağında buluruz ve sonra sileriz. * Dikkat edilmesi gereken iki durum vardır. (1) Hedef bazi.
Sıralama. Sıralama, bir dizideki sayısal elemanların küçükten büyüğe veya büyükten küçüğe, sayısal olmayan bir dizideki elemanların ise A’ dan Z’ ye.
Chapter 7 Space and Time Tradeoffs Copyright © 2007 Pearson Addison-Wesley. All rights reserved.
BİLGİSAYAR PROGRAMLAMA Araş. Gör. Ahmet ARDAHANLI Kafkas Üniversitesi Mühendislik Fakültesi.
Bölüm10 İteratif İyileştirme Copyright © 2007 Pearson Addison-Wesley. All rights reserved.
Improvement to Rankine cycle
HAPPY EASTER! MUTLU PASKALYALAR ! Hepinizin Paskalya Bayramını kutluyoruz. Paskalya bizim kültürümüzde kutlanan bir bayram değil ama aynı dönemde bizim.
Paralel Programlamaya Giriş
Algoritmalar II Ders 1: Alan zaman takası yöntemi.
Insertion Sort Fikir: Oyun kartlarını sıralamaya benzer.
TREATMENT/TRETMAN.
Maksimum akış.
BİLİMSEL ÇALIŞMA BASAMAKLARI SCIENTIFIC WORKING STEPS MHD BASHAR ALREFAEI Y
Algoritmalar II Ders 17 İteratif İyileştirme Yöntemi.
İleri Algoritma Analizi
GAZİ ÜNİVERSİTESİ TEKNOLOJİ FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ
Prof. Dr. Şahin EMRAH Algoritmalar I
Döngüler ve Shift Register
NİŞANTAŞI ÜNİVERSİTESİ
Chapter 3 Brute Force Copyright © 2007 Pearson Addison-Wesley. All rights reserved.
İSTATİSTİK II Hipotez Testleri 1.
NİŞANTAŞI ÜNİVERSİTESİ
Recursion (Özyineleme)
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
Imagine that you are a teacher and you are taking your 20 students to England for the summer school.
THE MYSTERIOUS ISLAND JULES VERNE. INFORMATION ABOUT THE BOOK  Name of the book: The Mysterious Island  Author: Jules Verne  Type: Adventure  Number.
NİŞANTAŞI ÜNİVERSİTESİ
İleri Algoritma Analizi
NİŞANTAŞI ÜNİVERSİTESİ
People with an entrepreneurial mindset are always brave.
NİŞANTAŞI ÜNİVERSİTESİ
Çizge Algoritmalari 10. Ders.
Bölüm 5 Azalt ve yönet (Decrease-and-Conquer)
Examples: In the Figure, the three points and coordinates are given that is obtained with CAD program. If these three points are represented by the curve.
Sunum transkripti:

NİŞANTAŞI ÜNİVERSİTESİ Veri Yapıları ve Algoritmalar DERS 9-10 NİŞANTAŞI ÜNİVERSİTESİ © Mühendislik Mimarlık Fakültesi mmf.nisantasi.edu.tr

YBLG202 Veri Yapıları ve Algoritmalar DERS 9-10 SIRALAMA ALGORİTMALARI (SORTING ALGORITHMS) NİŞANTAŞI ÜNİVERSİTESİ ©/Yrd. Doç. Dr. Önder Eyecioğlu

Sıralama ALGORİTMALARI Baloncuk Sıralama (Bubble Sort) Kabarcık sıralama basit bir sıralama algoritmasıdır. Bu sıralama algoritması, bitişik elemanların her çiftinin karşılaştırıldığı karşılaştırma tabanlı algoritmadır ve elemanlar Düzenli değillerse değiştirdiler. Bu algoritma, büyük veri kümeleri için uygun değildir çünkü ortalama ve en kötü durum karmaşıklığı O'dır (n2), burada n sayısıdır. bubbleSort( list : array of items )     n = list.count;       for i = 0 to n-1 do:        swapped = false       for j = 0 to n-i-1 do:              if list[j] > list[j+1] then              swap( list[j], list[j+1] )                   swapped = true           end if         end for       if(swapped == false) then          break       end if     end for  return list NİŞANTAŞI ÜNİVERSİTESİ ©/Yrd. Doç. Dr. Önder Eyecioğlu

Sıralama ALGORİTMALARI Eklemeli Sıralama (Insertion Sort) This is an in-place comparison-based sorting algorithm. Here, a sub-list is maintained which is always sorted. For example, the lower part of an array is maintained to be sorted. An element which is to be 'insert'ed in this sorted sub-list, has to find its appropriate place and then it has to be inserted there. Hence the name, insertion sort. The array is searched sequentially and unsorted items are moved and inserted into the sorted sub-list (in the same array). This algorithm is not suitable for large data sets as its average and worst case complexity are of Ο(n2), where n is the number of . Step 1 − If it is the first element, it is already sorted. return 1; Step 2 − Pick next element Step 3 − Compare with all elements in the sorted sub-list Step 4 − Shift all the elements in the sorted sub-list that is greater than the value to be sorted Step 5 − Insert the value Step 6 − Repeat until list is sorted NİŞANTAŞI ÜNİVERSİTESİ ©/Yrd. Doç. Dr. Önder Eyecioğlu

Sıralama ALGORİTMALARI Seçmeli Sıralama (Selection Sort) Seçmeli sıralama basit bir sıralama algoritmasıdır. Bu sıralama algoritması, yerinde karşılaştırma tabanlı bir algoritma olup, bu algoritma, listenin sol taraftaki sıralı kısım ve sağ ucundaki sıralanmamış kısım olmak üzere iki kısma ayrılmıştır. Başlangıçta, sıralanmış parça boş ve listelenmemiş kısım tüm listedir. En küçük eleman sıralanmamış diziden seçilir ve en soldaki öğeyle değiştirilir ve bu öğe sıralanmış dizinin bir parçası haline gelir. Bu işlem, sıralanmış olmayan dizi sınırını sağa bir unsurla taşımaya devam eder. Bu algoritma, büyük veri kümeleri için uygun değildir çünkü ortalama ve en kötü durum karmaşıklıkları O'dır (n), burada n sayısıdır. sort(A)  for i ← 1 to n-1     smallest ← i        for j ← i + 1 to n         if A[ j ] ≥ A[ smallest ]              smallest ← j             if smallest ≠ i          Exchange A[ j ] ↔ A[ smallest ] NİŞANTAŞI ÜNİVERSİTESİ ©/Yrd. Doç. Dr. Önder Eyecioğlu

Sıralama ALGORİTMALARI Birleştirmeli Sıralama (Marge Sort) Birleştirme sıralama, bölme ve ele geçirme tekniğine dayanan bir sıralama tekniğidir. En kötü durum zamanı karmaşıklığı Ο (n log n) olduğunda, en çok saygı gören algoritmalardan biridir. Sıralama birleştirme önce diziyi eşit yarımlara böler ve bunları sıralı biçimde birleştirir. Birleştirme sıralama, daha fazla bölünemediği sürece listeyi eşit yarıya böler. Tanım olarak, listedeki yalnızca bir öğe ise, sıralanır. Daha sonra, birleştirme sıralama, yeni listeyi de sıralanmış halde tutarak küçük sıralı listeleri birleştirir. Algoritma: Step 1 − if it is only one element in the list it is already sorted, return. Step 2 − divide the list recursively into two halves until it can no more be divided. Step 3 − merge the smaller lists into new list in sorted order. NİŞANTAŞI ÜNİVERSİTESİ ©/Yrd. Doç. Dr. Önder Eyecioğlu

Sıralama ALGORİTMALARI Hızlı Sıralama (Quick Sort) Hızlı sıralama çok etkili bir sıralama algoritmasıdır ve veri dizisinin daha küçük dizilere bölünmesine dayanır. Büyük bir dizi, belirtilen değerden daha küçük değerleri tutan iki diziye ayrılır; bunlar, bölüm oluşturulduğuna ve başka bir dizinin pivot değerinden daha büyük değerleri tuttuğu pivotu söyler. Hızlı sıralama, bir diziyi bölüştürür ve sonuçta ortaya çıkan iki alt sıralamayı sıralamak için kendini iki defa tekrarlar çağırır. Bu algoritma, büyük ve büyük ölçekli veri setleri için oldukça etkilidir çünkü ortalama ve en kötü durum karmaşıklığı O'dır (nlogn), burada n sayısıdır. Step 1 − Choose the highest index value has pivot Step 2 − Take two variables to point left and right of the list excluding pivot Step 3 − left points to the low index Step 4 − right points to the high Step 5 − while value at left is less than pivot move right Step 6 − while value at right is greater than pivot move left Step 7 − if both step 5 and step 6 does not match swap left and right Step 8 − if left ≥ right, the point where they met is new pivot NİŞANTAŞI ÜNİVERSİTESİ ©/Yrd. Doç. Dr. Önder Eyecioğlu

YBLG202 Veri Yapıları ve Algoritmalar Kaynakça NİŞANTAŞI ÜNİVERSİTESİ ©/Yrd. Doç. Dr. Önder Eyecioğlu

NİŞANTAŞI ÜNİVERSİTESİ ©/Yrd. Doç. Dr. Önder Eyecioğlu KAYNAKÇA M. T. Goodrich, R. Tamassia, D. M. Mount, Data Structures and Algorithms in C++, John Wiley & Sons, Inc., 2011 Hakan Kutucu, VERİ YAPILARI, Karabük Üniversitesi Mühendislik fakültesi, 2014 Data Structures and Algorithms, TutorialPoints, NİŞANTAŞI ÜNİVERSİTESİ ©/Yrd. Doç. Dr. Önder Eyecioğlu