Lower Bounds for Sorting

Slides:



Advertisements
Benzer bir sunumlar
Copyright © 2014, Anadolu Sigorta. Tüm hakları saklıdır. Profitability Challange in Casco – Putting Demand into Work İstanbul,
Advertisements

Alakalı müşterileri hedefleyin. Google ile Yeniden Pazarlama Remarketing with Google. Target customers who are already showing interest in your business.
İkili Ağaçlar İkili Arama Ağaçları
Bölüm 7 - Diziler İçerik 7.1 Giriş 7.2 Diziler 7.3 Dizileri Tanımlama 7.4 Dizileri Kullanan Örnekler 7.5 Referanslar ve Referans Parametreler.
Sorting Methods Basics of Sorting Elementary Sorting Algorithms
The Solution of Linear Systems (Doğrusal Sistemlerin Çözümü, AX=B )
Suggestions for Maximising Edu-Tainment Wednesdays. Edu-Tainment Wednesdays is a chance for Hisar School Educators to get together and learn more about.
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.
Partially Ordered Trees (POT)
Chapter 7 Space and Time Tradeoffs Copyright © 2007 Pearson Addison-Wesley. All rights reserved.
Doç. Dr. Hatice Bakkaloğlu Ankara Üniversitesi
19. VE 20. YÜZYILDA BİLİM.
İŞLETİM SİSTEMİ İşletim Sistemi Nedir İşletim Sisteminin Görevleri
Tıbbi ve Aromatik Bitkilerin Hayvansal Üretimde Kullanımı
MUHASEBE YÖNETMELİĞİ KONFERANSI
ÇOCUKLARDA BRONŞİOLİT VE PNÖMONİ
ÇUKUROVA ÜNİVERSİTESİ KARATAŞ TURİZM İŞLETMECİLİĞİ VE OTELCİLİK
MOL HESAPLARINDA KULLANILACAK BAZI KAVRAMLAR:
ACİL YARDIM ve AFET YÖNETİMİ ÖĞRENCİLERİNİN KARAR VERME DÜZEYLERİ
Yazar:ZEYNEP CEREN YEŞİLYURT Danışman: YRD. DOÇ. DR
IMPLEMENTATION OF SOME STOCK CONTROL METHODS USED IN BUSINESS LOGISTICS ON DISASTER LOGISTICS: T.R. THE PRIME MINISTRY DISASTER AND EMERGENCY MANAGEMENT.
Ayçiçeği Neden Stratejik Ürün Olmalı?
Sosyal Bilimler Enstitüsü
Hazırlayan; Görkem Baygın Yabancı Dil / M Şubesi 21 Maddede İngiliz Dili Edebiyatı Okumak Ne Demektir?
BİN AYDAN DAHA HAYIRLI GECE KADİR GECESİ
Emir ÖZTÜRK T.Ü. F.B.E. Bilg. Müh. A.B.D. Y.L. Semineri
Toplam Çıktı - Bir ekonomide belirli bir dönemde üretilen (arz edilen) toplam mal ve hizmet miktarıdır. Toplam Gelir - Belirli bir dönemde üretim faktörlerinin.
HİGGS HAKKINDA NAZLI FANUS FEN BİLİMLERİ ÖĞRETMENİ ULUPAMİR ORTAOKULU
KEMOSENTEZ
Ele 561: Kablosuz Haberleşme MIMO Haberleşme
Sağlık Bilimleri Fakültesi
BASIN VE HALKLA İLİŞKİLER MÜDÜRLÜĞÜ
KURAL 1- OYUN ALANI Saha Zemini: Oyunlar; parke, kauçuk vb. voleybol oynanabilen zeminlerde oynanır. Sahanın rengi değişiklik gösterebilmekle birlikte.
Prof. Dr. Ayten DEMİR Ankara Üniversitesi Sağlık Bilimleri Fakültesi
Internet Anadolu’da Çalıştayı Eğitim Notları
FİNANSAL OKURYAZARLIK EĞİTİMİ
TÜRKİYE’NİN COĞRAFİ BÖLGELERİ.
POMPAJ DEPOLAMALI HES’LERİN SİSTEM İŞLETMESİNDEKİ YERİ VE ÖNEMİ
KÜLLİ KAİDELER PROF.DR.ABDULLAH DEMİR.
DİNKÜLTÜRÜ VE AHLAK BİLGİSİ DERSİ
Yetim ve Öksüzlere Değer Vermek
ÖRGÜN EĞİTİMLE BİRLİKTE HAFIZLIK PROJESİ TANITIM PROGRAMINA
INGA TODUP SUNUMU.
BUDAMA Budama koltuk (sürgün) alma, yaprak alma, uç (tepe) alma şeklinde yapılır. 1-KOLTUK (SÜRGÜN) ALMA Domateslerde yaprağın gövdeye birleştiği yerden.
MODERN KONJONKTÜR TEORİLERİ
DÖKÜLEBİLİR (Self Flowing) REFRAKTERLER
Prof. Dr. Güray Küçükkocaoğlu
Yrd. Doç. Dr. Çiğdem Özarı & Uzm. Esra Demir Erol
Algoritmalar II Ders 1: Alan zaman takası yöntemi.
Insertion Sort Fikir: Oyun kartlarını sıralamaya benzer.
ELE 561 Kablosuz Haberleşme
Saf metal veya ötektik alaşımların soğuma eğrisi
Proakis Salehi Chapter 9
Fatih Dervent, Erhan Devrilmez, Emi Tsuda, Phillip Ward
İNTERNET PROGRAMCILIĞI 1
TEMEL BİLGİSAYAR TEKNOLOJİLERİ 01-GİRİŞ
OKUL ÖNCESİ GELİŞİMİN ÖNEMİ
Boğulmalar Bölüm 12.
Mimar Sinan Güzel Sanatlar Üniversitesi
taşınabilir Akilli Tahta Kullanım kılavuzu
Biyoistatistik- Ders 2 Dr. Kübra Akdur.
Konu 1: Olasılık ve Rastgele Değişkenler Tekrarı
NİŞANTAŞI ÜNİVERSİTESİ
NET101 GENEL MATEMATİK ÖĞR. GÖR . SÜLEYMAN EMRE EYİMAYA
ATOM ÇEKİRDEĞİNİN YAPISI
NİŞANTAŞI ÜNİVERSİTESİ
ELEKTRONİK DEVRELER-I LABORATUVARI
NİŞANTAŞI ÜNİVERSİTESİ
HAREKETLİ MEKANİZMALARDA VE PARÇALARINDA ANLIK YAPISAL STATİK ANALİZ
Sunum transkripti:

Lower Bounds for Sorting Input elementlerinin karsilastirilmasina dayanarak siralama yapan sorting algoritmalari siralama yapmak icin en kotu durumda (n lg n) karsilastirma yapmali. Dolayisiyle merge sort ve heapsort asymptotik olarak optimal. Diger siralama algoritmalari (counting sort, radix sort, bucket sort) karsilastirma isleminden farkli islemler kullanmak suretiyle siralama yapanlarin orderi daha iyi olabilir-- run in linear time. Algoritma Analizi

Decision Tree Herbir internal node ai: aj ile ilistirilir (1  i,j  n.) Her bir leave (yaprak) a ise bir permutation (i) ilistirilir. Algoritma Analizi

Lower Bound for Worst Case N elementi siralayan bir decision tree nin yuksekligi (n lg n). Proof: n elementin n! tane permutation i var. Her bir permutasyon farkli bir siralamanin sirasini gosterir, tree en azindan n! yapraga sahip. h yukseklige sahip bir binary tree 2h le yapraktan fazla yapraga sahip olamayacagindan , n!  2h  h  lg(n!) By Stirling’s approximation: n! > (n/e)n h  lg(n!)  lg(n/e)n = n lg n - n lg e = (n lg n) Algoritma Analizi

Counting Sort n input elementinin her biri 1 ile k arasinda bir integer, ve k = O(n) ise siralama O(n) zaman alir. Algoritma Analizi

Counting-Sort (A, B, k) 1. for i  1 to k do 2. C[i]  0 3. for j  1 to length[A] do 4. C[A[j]]  C[A[j]] + 1 5. for i  2 to k do 6. C[i]  C[i] + C[i-1] 7. for j  length[A] downto 1 do 8. B[C[A[ j ]]]  A[j] 9. C[A[j]]  C[A[j]] - 1 Algoritma Analizi

Algorithm Analysis Toplam running time: O(n+k). k=O(n), oldugunda worst case: O(n). for-loop of lines 1-2 takes time O(k) for-loop of lines 3-4 takes time O(n) for-loop of lines 5-6 takes time O(k) for-loop of lines 7-9 takes time O(n) Stable, in place degil. Karsilastirma yapilmiyor: Elemanlarin degerleri kullanilarak array indeksleniyor Algoritma Analizi

Radix Sort Once “least significant digit” (en degersiz digit) e gore siralama yap, daha sonra geri kalan digitlere gore siralama yap. Her bir digit e gore siralama yapan siralama metodu “stable” olmali The key is sort the “least significant digit” first and the remaining digits in sequential order. The sorting method used to sort each digit must be “stable”. Algoritma Analizi

Ornek 392 631 928 356 356 392 631 392 446 532 532 446 928  495  446  495 631 356 356 532 532 446 392 631 495 928 495 928    Algoritma Analizi

Radix-Sort(A, d) 1. for i  1 to d 2. do use a stable sort to sort array A on digit i Algoritma Analizi

Algorithm Analysis Her bir iteration (n+k) zaman alir. Iteration sayisi n: radix sort icin gerekli running time (d n+ d k) dir. d sabit ve k = O(n) ise, radix sort un komplexitesi linear dir. Eger radix sort counting sort u ara stable sort olarak kullaniyorsa, in place siralama yapmaz. Eger memory storage onemli ise, ara siralama icin quicksort veya diger sorting algoritmalari kullanmak tercih edilebilir. Algoritma Analizi

Bucket Sort Counting sort ve radix sort integer lar icin iyi sorting algoritmalaridir. Floating point sayilar icin bucket sort veya diger comparison-based metodlar kullanilir. Input un random bir islemle [0,1) araliginda uniform olarak uretildigini dusunelim (diger araliklar [0,1) araligina scale edilebilir) Temel fikir: araligi n tane esit boyda alt araliklara (buckets) bol, daha sonra n input sayilarini bucket lere yerlestir. Her bir bucket deki elementler kendi icinde siralanir. Daha sonra butun bucket deki sirali elementler birlestirilir. Algoritma Analizi

An Example Algoritma Analizi

Bucket-Sort (A) 1. n  length[A] 2. for i  1 to n 3. do insert A[i] into list B[ nA[i] ] 4. for i  0 to n-1 5. do sort list B[i] with insertion sort 6. Concatenate the lists B[i]s together in order Algoritma Analizi