Sıralama ve Sıralama Algoritmaları Uğur Çakır Onur Muharrem Örün Recep Özalp.

Slides:



Advertisements
Similar presentations
1 En kisa yollarin bulunmasi Verilen bir undirected (yonsuz) graf ve kaynak vertex s, bir yol (path) in uzunlugu bu yol uzerindeki edge (kenar) lerin sayisidir.
Advertisements

The most valuable things for life The most selfish one letter word "I" Avoid it. (En bencil tek harfli kelime) (Ben) (Ondan sakın)
Directed Graphs (Yonlu Graflar)
> > < < Gaziantep Üniversitesi, 2002Dr. Türkay Dereli ETKİLİ TAKIM FORMASYONU VE YÖNETİMİ Otomasyon’02 Beylikdüzü, İstanbul.
> > < < GAZÜ KAYSERİ GAZİANTEP ÜNİVERSİTESİ, 2000 YAPAY ZEKA ve TOPLAM KALİTE KARA HARP OKULU GAZİANTEP ÜNİVERSİTESİ Dr. Türkay DERELİ.
The most valuable things for life İKİNCİ VERSİYONUDUR.. SESLİDİR.
Ado.NET. Direct Data Access Connection String.
RESTORASYON A G İ R İ Ş. KORUMA ÖLÇÜTLER İ Geçmişten kalan izlerin gelecek kuşaklara tamamının aktarılması mümkün de ğ ildir. Çünkü : ça ğ daş kentleşme.
Algoritma Analizi 1 QuickSort Divide: A[p…r] bos olmayan iki alt diziye bolunur, A[p…q] ve A[q+1…r] s.t. oyleki A[p…q] nin her bir elemani A[q+1…r]. Nin.
UNC Chapel Hill Lin/Foskey/Manocha Heapsort –Data Structure –Heap Ozelligini koruma –Heap olusturma –Heapsort Algorithm –Priority Queue.
Valence Shell Electron Pair Repulsion
Selection Sort
Selection Sort
ÖFKE VE KONTROLÜ 1- ÖFKE NEDİR? 2- ÖFKENİN NEDENLERİ 3- ÖFKENİN KİŞİDE YARATTIĞI ETKİLER 4- ÖFKE TÜRLERİ 5- ÖFKEYİ İFADE ETME.
Sinir sistemi.
110. SINIF GENEL TEKRAR TESTİ
LAZİSTAN VE LAZLAR Alkım Özkazanç 7/Y.
tarihli, (Mükerrer) Sayılı R.G tarihli R.G değişiklik.
Information Technology, the Internet, and You © 2013 The McGraw-Hill Companies, Inc. All rights reserved.Computing Essentials 2013.
BİLGİ FELSEFESİ (Epistemoloji)
J-guar Uyarlama Aracı Arif BATTAL Uyarlama Araçları Danışmanı.
İŞLETİM SİSTEMİNİ KULLANMA Şükrü BAKIR Bilişim Teknolojileri Öğretmeni MODÜL 1 – BÖLÜM 2 BİLGİSAYAR KULLANMA.
ÜRİNER SİSTEM =Systema urinarium BÖBREKLER (Ren- Nefros)
Tıbbi Biyoloji Anabilim Dalı
SINAV KAYGISI Başarıya giden yolda kaygı yol gösterici mi, yoksa engelleyici mi?
Beslenme nedir ? Yaşam için gerekli olan enerjiyi ve hücrelerin yapımında kullanılan temel maddeleri sağlayan besinlerin dış ortamdan alınarak vücutta.
İŞLETME PROJESİ TASARIMI “FABRİKA KURULUMU VE KURULUŞ YERİ SEÇİMİ”
Seyhan Havzası Sektörel Su Tahsis Planı Hazırlanması Projesi Seyhan Havzası Sektörel Su Tahsis Planı Hazırlanması Projesi 3. Yönlendirme Komitesi Toplantısı.
Dr. Özgür Mehtap DÖNEM IV. Dönem IV İlkler Klini ğ e Geçi ş Unvan (Stajyer doktor) Hastaya dokunma.
1 Bölüm 3. yeri seçimi Falcıma göre hastaneyi buraya kurmalıyız x.
1. IÇERIK İşletmenin tanımı ve amacı Amaç tespiti için sorulması gereken sorular nelerdir? Para kazanıp kazanmamanın ölçütleri nelerdir? Ölçütler nelerdir?
1 Bildiri-İzmir,2008 ALTI SIGMA BAŞARISIZLIK ÖYKÜLERİ.
ZEE ZİHİN ENGELLİLERE BECERİ VE KAVRAM ÖĞRETİMİ 11. HAFTA: İPUCUNUN GİDEREK AZALTILMASIYLA ÖĞRETİM.
Evdeki kazalar sonucunda meydana gelir. Evde hangi kazalar meydana gelebilir?
İSTATİSTİKSEL SÜREÇ KONTROLÜ 3 (STATISTICAL PROCESS CONTROL)
CEP TELEFONLARIMIZIN NOZOKOMİYAL PATOJENLERLE NASIL KONTAMİNE OLDUĞUNUN FARKINDA MIYIZ? Arş. Gör. Dr N. Seval Gündem Danışman: Yrd. Doç. Dr Mehmet Özdemir.
ÜNİTE: 7 BİR ÜLKE, BİR BAYRAK. GÜÇ, YÖNETİM VE TOPLUM Toplumsal yaşamı düzenleyen bazı kurallar vardır. Toplumsal kuralları düzenleyen bu yazılı kurallara.
META PROGRAMLAR ALT SİSTEMLER. META PROGRAMLAR (alt sistem)  Bilinçaltında oturmuş ÖZEL KALIPLARA denir. Sürekli kullanılan otomatik programlar. Bilinçaltında.
İşletme Becerileri ve Grup Çalışması ETKİLİ KONUŞMA, GÖRÜŞME VE MÜLAKAT TEKNİKLERİ Öğr.Gör. Seda AKIN GÜRDAL 1.
Lİderlİk * Liderlik, belirli şartlar altında kişisel ve grup amaçlarını gerçekleştirmek üzere, bir kimsenin başkalarının faaliyetlerini etkilemesi ve yönlendirmesi.
NOKTALAMA İŞARETLERİ. Noktalama işaretleri nedir ? Duygu ve düşünceleri daha açık ifade etmek, cümlenin yapısını ve duraklama noktalarını belirlemek,
Türk Dili I Hafta 4 1 TÜRK DİLİ I Okutman Vedat BALKAN Hafta 4.
GECE ÇALIŞMASI.  Çalışma geleneksel olarak gündüz süresiyle sınırlı iken sanayileşmenin ve ona bağlı sosyo-ekonomik değişimlerin sonucu gece süresinde.
DEPREME DAYANIKLI BETONARME YAPI TASARIMI
(Sosyolojik Düşünme: Yöntem ve Teknikleri) Doç. Dr. Ali ARSLAN (Soru Sorma)
TÜRKİYE’NİN COĞRAFİ BÖLGELERİ. BÖLGENİN GENEL ÖZELLİKLERİ  YÜZÖLÇÜMÜ BAKIMINDAN TÜRKİYENİN DÖRDÜNCÜ BÜYÜK BÖLGESİDİR.  DAĞLARIN DENİZE PARALEL.
GRUP YAPISI VE DİNAMİĞİ
5. Temel SQL (Basic SQL) 5.1. SQL Veri Tanımlama ve Veri Tipleri (SQL Data Definition and Data Types) SQL de Şema ve Katalog Kavramı (Schema and.
Melek Nurten YAVUZ.  Sql Server hem ASCII karakter seti,hem de Unicode uluslararası karakter setini kullanır.  ASCII için char ve varchar veri tipleri.
İkinci Dünya Savaşı'nın hemen öncesinde Almanya'da bir kasabada iki kardeş, ayakkabı yapıp satmak üzere bir atölye açarlar; Adolph ve Rudolph Dassler.
Bir veri setini meydana getiren elemanlar ortalama değer etrafında belirli bir dağılış gösterirler. Gözlem değerleri arasındaki farklılıktan ileri gelen.
BÖCEKLERDE BAŞKALAŞIM
2016 – YGS ve LYS BİLGİLENDİRME SEMİNERİ REHBERLİK SERVİSİ.
Chapter 7 - Internal Forces
İstanbul Anadolu Kuzey Kamu Hastaneleri Birliği NUMARALANDIRMA SİSTEMLERİ.
CAM SANATI Selim SÜRER 11B Cam günümüz modern çevresinin önemli bir parçasıdır. Basit bir su bardağından sofistike bir teknik donanım malzemesine.
BADMİNTONBADMİNTON OYUN KURALLARI OYUN KURALLARI.
İŞ VE SOSYAL GÜVENLİK HUKUKU İŞÇİ ALACAKLARI KIDEM TAZMİNATI.
ERZURUM TEKN İ K ÜN İ VERS İ TES İ ERASMUS+ ÖĞRENCİ BİLGİLENDİRME TOPLANTISI DIŞ İLİŞKİLER OFİSİ – ERASMUS KOORDİNATÖRLÜĞÜ 24 Aralık 2015.
. HALİFELİĞİN KALDIRILMASININ NEDENLERİ.
BAZI ALACAKLARIN YENİDEN YAPILANDIRILMASINA İLİŞKİN KANUN Ağustos 2016 ANKARA.
GÜVENLİK SİSTEM ve CİHAZLARI Ömer ADIŞEN Elektronik Yük. Mühendisi.
Bilgisayar Destekli Uygulamalar Dersi Proteus Paketi
OKUL TANITIM BİLGİLERİ İSTATİSTİKLER Öğretmen Sayısı : 157 Öğrenci Sayısı : 2252 KURUM BİLGİLERİ Derslik Sayısı : 38 Fen Laboratuarı Sayısı : BT(Bilgisayar)
SOLUNUM.  Canlılar yaşamlarını devam ettirebilmek için sürekli enerji elde etmek zorundadır.  Enerji ancak besin maddelerini yıkarak elde edilebilir.
Tekrarlayan Ağ Tasarım Genetik Algoritma ve Parçacık Sürü Optimizasyonu Bir Hibrid
MTM216 GÖRSEL PROGRAMLAMA
RESTful API Mimari ve Tasarımı
TIPTA ÇALIŞMA DÜZENLERİ VE İSTATİSTİKTE TEMEL KAVRAMLAR Dr.Mustafa ALTINIŞIK.
ELEKTRİK MAKİNALARI BÖLÜM 3 DOĞRU AKIM MAKİNALARININ YAPISI.
Presentation transcript:

Sıralama ve Sıralama Algoritmaları Uğur Çakır Onur Muharrem Örün Recep Özalp

Temel Kavramlar ► Sıralama sayısal ortamdaki bilgilere veya verilere, belirli bir anahtar sözcüğe göre, belirli bir anlamda sıralı erişilmesini sağlayan düzenlemedir. Bilgisayar yazılım uygulamalarında ve donanım tabanlı sayısal sistem çözümlerinde, bilgilerin yada verilerin sıralı olması bilgi erişimini kolaylaştırır.

Sıralama işlemi belirli bir bilgi parçasına dayanılarak yapılır; bu bir sayı olabileceği gibi bir sözcük de olabilir veya bunların bir araya gelmesinden oluşabilir. Sıralama işleminde kullanılan bu bilgi parçası, genel olarak, anahtar sözcük(keyword) olarak adlandırılır. Sıralama işlemi belirli bir bilgi parçasına dayanılarak yapılır; bu bir sayı olabileceği gibi bir sözcük de olabilir veya bunların bir araya gelmesinden oluşabilir. Sıralama işleminde kullanılan bu bilgi parçası, genel olarak, anahtar sözcük(keyword) olarak adlandırılır.

Bilgileri belirli bir ölçüte göre sıralamak için çeşitli yöntemler kullanılmaktadır. Bunları şöyle sıralayabiliriz. Bilgileri belirli bir ölçüte göre sıralamak için çeşitli yöntemler kullanılmaktadır. Bunları şöyle sıralayabiliriz. ► Seçerek Sıralama(Selection Sort) ► Kabuk Sıralama(Shell Sort) ► Yerleştirerek Sıralama(Insertion Sort) ► Kabarcık Sıralama(Bubble Sort) ► Hızlı Sıralama(Quick Sort) ► Birleşmeli Sıralama(Merge Sort) ► Kümeleme Sıralaması(Heap Sort)

Seçerek Sıralama(Selection Sort) ► Seçerek sıralama algoritmasının çalışma mantığını şu şekilde tanımlayabiliriz. Her eleman kendisinden sonraki tüm elemanlarla test edilir. Böylece “n” elemanlı bir dizi “n- 1” adımda sıralanır. İlk adımda dizinin ilk elemanı sırasıyla (Örneğin, 2,3,….,n) diğer elemanlarla test edilir. Kendisinden daha küçük bir eleman bulunması durumunda her iki eleman yer değiştirir. İlk adımda dizinin en küçük elemanı, dizinin ilk elemanı olarak alınır ve dizinin birinci alanına atanır. İkinci adımda dizinin ikinci elemanı diğer elemanlarla test edilir. Kendisinden daha küçük bir eleman bulunması durumunda bu iki eleman yer değiştirir ve bu işlem (n-1). Elemana kadar tekrarlanır. Her defasında geriye kalan sayıların en küçüğü bulunur ve ilgili alana atanır.

Kabuk Sıralama(Shell Sort) ► Kabuk sıralama, sıralanacak dizinin sürekli ikiye bölünerek çıkan aralık değeri kadar uzaktaki elemanla test edilerek sıralama işlemini gerçekleştirir.Sıralanacak dizinin eleman sayısı ilk önce iki gruba ayrılır ve bu grupların aynı sıradaki elemanları test edilir. (Örneğin, 10 elemanlı bir dizi için ilk aralık 5 olur. 1. eleman ile 6., 2. ile 7., 3. ile 8., 4. ile 9. ve 5. ile 10. eleman test edilir.) Ardından mevcut gruplar tekrar ikiye bölünür. (1. eleman ile 3., 2. ile 4., 3. eleman ile 5., 4. ile 6., …, 8. eleman ile 10. test edilir.) Gruplar tekrar ikiye bölünür ve her grup kendinden sonraki grupla test edilir. Her test işleminde şartın durumuna göre elemanlar arasında yer değiştirme işlemleri yapılır. Bu işlemler bölme işlemi sonunda çıkan değer sıfır oluncaya kadar devam eder.

Yerleştirerek Sıralama(Insertion Sort) ► Yerleştirerek sıralama, belirli bir anda dizinin belirli bir kısmını sıralı tutarak ve bu kısmı her adımda biraz daha genişleterek sıralama işlevini yerine getirir. Sıralı kısım işlev son bulunca dizinin tamamına ulaşmaktadır. Bu amaçla dizinin belirli bir kısmını sıralı hale getirebilmek için “i” değişkeninin belirlediği eleman dıştaki döngünün her işletilişinde bu dizi parçası içinde uygun yere yerleştirilmektedir. Bu yerleştirme işlemi de “i ” değişkeninin belirlediği elemandan büyük elemanların sağa doğru kaydırılması ve boşalan yere de bu elemanın yerleştirilmesiyle gerçekleştirilmektedir. “ i” değişkeninin değeri arttıkça dizinin sıralı hale gelen bölümü artmakta ve “i” değişkeni dizinin uzunluğuna ulaştığında tüm dizi sıralanmış olmaktadır.

Kabarcık Sıralama(Bubble Sort) ► Kabarcık sıralamanın işletimini şu şekilde tanımlayabiliriz. Dizinin elemanları üzerinden tekrar tekrar geçilir ve her geçişte sadece arka arkaya gelen iki eleman arasında test işlemi yapılır. Bu işlem tüm elemanlar sıralanıncaya kadar devam ettirilir.

► Dizinin başından sonuna kadar tüm elemanlar bir kez işleme tabi tutulduğunda dizinin son elemanı en büyük eleman haline gelecektir. Böylelikle bu iç döngünün bir kez işletimi sonucu en büyük eleman yerine yerleştirilmiş olacaktır. Bir sonraki tarama ise bu en sondaki eleman dışarıda bırakılarak gerçekleştirilmektedir. Bu dışarıda bırakma işlemi de dış döngüdeki “i”değişkeninin değerinin her işletimde bir azaltılmasıyla sağlanmaktadır.”İ“ değişkeninin değeri 1 değerine ulaştığında ise dizinin başında kalan son iki eleman da sıralanmakta ve sıralama işlemi tamamlanmış olmaktadır. değişkeninin değeri 1 değerine ulaştığında ise dizinin başında kalan son iki eleman da sıralanmakta ve sıralama işlemi tamamlanmış olmaktadır.

Hızlı Sıralama(Quick Sort) ► Hızlı sıralama algoritmasında dizi her adımda, ilk bölümde küçükler ve ikinci bölümde de büyükler olacak şekilde iki ayrı bölüme ayrılır. Her adımda bu iki ayrı bölüm birbirinden bağımsız olarak sıralanır. Bu işlemler için verilerden bir tanesi referans (pivot) olarak seçilir. Bu referans elemandan küçükler bir bölüme, büyük olanlar ise bir bölüme aktarılır. Referans eleman ise sıralamadan sonra olması gereken yere yerleştirilir.

Birleşmeli Sıralama(Merge Sort) ► Birleşmeli sıralama algoritması, böl-yönet tekniğinden istifade ederek geliştirilmiştir. Bu sıralama algoritmasında, dizi iki alt diziye bölünür ve tekrar birleştirilir. Fakat bu birleştirme işlemi sıradan bir birleştirme değildir. İki dizinin birleştirilebilmesi için öncelikle sıralı olmaları gerekmektedir. Eğer alt diziler sıralı değillerse, orijinal diziye uygulandığı gibi, iki alt diziye bölünür. Bu mantıkla bölme işlemi alt dizinin daha fazla bölünemeyeceği duruma kadar, yani tek eleman kalana kadar devam eder.

► Özetle sıralama işlemi şu şekildedir: 1. Diziyi iki eşit parçaya böl. 2. Dizinin sol alt bölümünü sırala. 3. Sıralanmış sol ve sağ alt bölümleri birleştir.

Kümeleme Sıralaması(Heap Sort) ► Kümeleme sıralamasının temeli ikili kümeleme ağacı (binary heap tree) kurulmasına dayanır. Sıralanacak elemanlar ilk önce bir kümeleme ağacı oluşturur; bu durumda kök en büyük değere sahiptir. Bu yöntemde sıralı diziyi elde etmenin iki yolu vardır. Birisi bir başka dizi gerektirmeksizin sırasız elemanların bulunduğu dizi üzerinde çalışır, diğeri sıralı elemanların tutulacağı sıralı bir dizi gerektirir.

► Aynı dizi üzerinde sıralama yapan algoritma sıralama işlemini şu şekilde yapar: ► n elemanlı bir dizi üzerinde önce kümeleme ağacı kurulur; bu anda kök en büyük değeri tutar. Bu değer dizinin son elemanı ile yer değiştirilir. Bu aşamada en büyük değere sahip olan eleman dizinin sonuna alınmış olur. Daha sonra dizinin kalan (n-1) elemanı yeniden kümeleme işlemine sokulur ve en büyük ikinci değere sahip olan kök olur. Daha sonra aynı işlemler (n-2), (n-3) elemanlı dizi için yapılır ve dizi adım adım sıralanır.

► Sıralı elemanların saklanacağı ikinci bir dizi kullanılması durumunda, kümeleme ağacının kök düğümü her zaman en büyük değere sahip olur gerçeğinden yola çıkılarak gerçekleştirilir. Kökteki değer alınır, sıralı elemanların tutulacağı dizinin sonuna yerleştirilir. Kümeleme ağacı kalan değerlerle yeniden kümelenir. Yine kökteki değer alınır ve bir öncekinin önüne koyulur. Yine kalan elemanlarla ağaç kümelenir. Bu işlem tüm elemanlar alınana kadar sürer.Bu, büyükten küçüğe sıralama yapar. Küçükten büyüğe yapılması için kökten alınan değerler ikinci dizinin başından itibaren yerleştirilir.

Alfabetik Bilgilerin Sıralanması ► Alfabetik bilgileri sıralamak için yapılacak olan test işleminde strcmp() fonksiyonu kullanılır. Bu işleme selection sort sıralamasını kullanarak şu örneği verebiliriz: