Konuşma notu: Bugün aynı diziyi on bir farklı şekilde sıralıyoruz, ve her birinin tam olarak neye mal olduğunu sayıyoruz. Sonunda, "hangi sıralamayı kullanmalıyım" sorusunun gerçek, sayısal bir yanıtı olacak.
Konuşma notu: On dört kısa animasyon tüm dersi taşır; her algoritma tanıtıldığı yerde bir normal ve en az bir zor/uç çalışma alır.
Konuşma notu: Her terim ilk göründüğü yerde tam tanımını alır; bu tablo yalnızca onu tekrar nerede bulacağınızı söyler.
Konuşma notu: Bunları canlı çalıştırmak isterseniz şimdi bir terminal açın; bugünkü her slaytta gösterilen kod tam olarak yazıldığı gibi derlenip çalışır.
Konuşma notu: Bu hafta, her şeyden önce, bir Big-O alıştırmasıdır — sayıların gerçek zamanlı ayrıştığını izleyeceksiniz.
Konuşma notu: Öbek sıralaması bugün kendi bölümünü almıyor — zaten onu hak ettiniz — ama tüm öğleden sonra boyunca referans noktası olarak geri döner.
Konuşma notu: Her iki fikir de bu dersin ve bir sonrakinin geri kalanında sürekli tekrar karşınıza çıkacak.
Konuşma notu: Bu haritadaki her kutu aşağıda kendi slaytlarını alır, çoğu kısa bir animasyon ve tam bir C/Java programıyla.
Konuşma notu: Bir an düşünmelerine izin verin — yanıt dersin tüm ikinci yarısını kurar.
Konuşma notu: Bu haftanın en büyük tek fikir kayması budur: "karşılaştır ve daralt"tan "adresi hesapla"ya.
Konuşma notu: Bölüm 1, bugün her algoritmanın ölçüleceği iki sayıyı — karşılaştırmalar ve yazmalar — kurar.
Konuşma notu: Çünkü "diziyi yeniden düzenle" nasıl sorusuna muazzam bir alan bırakır: bellek bütçesi, girdi hakkında bildikleriniz, bağların hareket edip edemeyeceği.
Konuşma notu: O son özgürlük — kararlılık — çok önemli olduğu ortaya çıkıyor, ve bugün daha sonra kendi tam bölümünü (11) alıyor.
Konuşma notu: Bu iki sayı her zaman bir kazanan konusunda hemfikir olmaz — Bölüm 12'nin animasyonu tam olarak bunu göstermek için beş algoritmayı yan yana koyar.
Konuşma notu: Öğrencileri nota göre sıralayan kararlı bir sıralama, her aynı-not grubunu önceki (isim) sırasında bırakır; kararsız bir sıralama onları karıştırabilir.
Konuşma notu: Zaman ve alan her zaman bir ödünleşimdir — Bölüm 13 haftayı tek bir kazananla değil bir karar tablosuyla bitirir.
Konuşma notu: Bölüm 2, basit O(n²) ailesini en sezgisel fikirle açar: komşuları karşılaştır, yanlışsa yer değiştir, ve ne zaman durulacağını bil.
Konuşma notu: Bir incelik eklerseniz şaşırtıcı derecede ileri: bir turun hiç yer değiştirme yapmadığını fark etmek.
Konuşma notu: Yalnızca "bir tur sıfır yer değiştirme yaptı, dur" fark etme disiplini onu bir meraktan öğretmeye değer bir şeye çevirir.
Konuşma notu: Her tur kuyrukta bir maksimumu daha yerleştirir; erken-çıkış bayrağı onu öğretmeye değer kılan tek şeydir.
Konuşma notu: Normal örnek: 10 sırasız değer — sağdaki sayaçları ve kuyruktan büyüyen "yerleşti" parantezini izleyin.
Konuşma notu: Tek tur, sıfır yer değiştirme, erken çıkış — bu kabarcık sıralamasının O(n) en iyi durumu, görünür hale gelmiş.
Konuşma notu: `n - 1 - pass` iç döngüyü her turda küçültür — kuyruk zaten yerleşmiştir ve tekrar kontrol edilmez.
Konuşma notu: Bayrak olmadan, kabarcık sıralaması her zaman O(n²)'dir — bayrak onu öğretmeye değer kılan tüm nedendir.
Konuşma notu: Onları karşılaştırma operatörünün kendisine yönlendirin.
Konuşma notu: O tek operatörü `>=`'ye çevirin, kararlılık gider, sıralanmış sonucun kendisinde hiçbir değişiklik olmadan.
Konuşma notu: Bölüm 3, kabarcık sıralamasının birçok küçük yer değiştirmesini farklı bir maliyet profiliyle takas eder: tam taramalar, ama mümkün olan en az yazma.
Konuşma notu: Yine de her seferinde kalanın tamamını taramanız gerekir — erken çıkış mümkün değildir — ama çok daha az yazarsınız.
Konuşma notu: Bu hafta karşılaştırmaları yazmalarla takas etmenin en net örneğidir — Bölüm 12'nin deneysel sayılarına bakın.
Konuşma notu: Erken çıkış mümkün değildir: gerçek minimumu bulmak, dizi sıralı olsun olmasın, kalan her adayı kontrol etmeyi gerektirir.
Konuşma notu: Normal örnek: tarama daha küçük adaylar bulduğunda `min_idx`'in güncellenmesini, sonra yerine tek yer değiştirmeyi izleyin.
Konuşma notu: Yine de tam n(n-1)/2 karşılaştırma, ve sıfır yer değiştirme — burada kabarcık sıralamasının aksine erken çıkış yoktur.
Konuşma notu: `i` zaten minimumsa yer değiştirme tamamen atlanır — eklemeye değer birkaç "boşa iş" kontrolünden biri.
Konuşma notu: Seçmeli sıralama ve hızlı sıralama bu haftanın en net iki kararsızlık örneğidir — Bölüm 11 nedenini gösterir.
Konuşma notu: Onları dış-döngü tekrarı başına kaç yer değiştirme olduğuna yönlendirin.
Konuşma notu: Kötü konumlanmış bir değerin bir hücrede süründüğü kabarcık sıralamasıyla karşılaştırın — toplamda en çok n(n-1)/2 yer değiştirme.
Konuşma notu: Bölüm 4 zaten tahtada çizdiğiniz sıralamadır — resim, insanların bir deste kartı nasıl sıraladığıyla tam olarak eşleşir.
Konuşma notu: Küçük, sıralı bir el tutarsınız, ve her yeni kartı ait olduğu tek boşluğa kaydırırsınız.
Konuşma notu: C'nin qsort'u ve Java'nın Arrays.sort'u, özyinelemeli bir alt dizi ~16-32 elemanın altına küçüldüğünde eklemeli sıralamaya geçer.
Konuşma notu: Boşluk her kaydırmada sola hareket eder; bir karşılaştırma "büyük değil" bulduğu an anahtar içine düşer.
Konuşma notu: Bu, tahtada her zaman tam olarak bu şekilde çizilir — animasyon onunla eleman eleman eşleşir.
Konuşma notu: Normal örnek: kırmızı anahtar kutusunu, büyüyen "zaten sıralı" parantezini, ve kaydırma oklarını birer birer izleyin.
Konuşma notu: En kötü durum — her tek anahtar başa kadar tamamen kayar, bir seferde bir hücre.
Konuşma notu: `j >= 0` sınır kontrolü `&&`'de önce gelmeli — a[-1]'i okumaya asla gerek yok.
Konuşma notu: Küçük ortalama-durum sabiti, pratikte küçük ya da neredeyse sıralı diziler için onu gerçekten hızlı yapar.
Konuşma notu: Neredeyse-sıralı veri — günlük dosyaları, küçük bir güncellemeden sonra yeniden sıralama — tam olarak eklemeli sıralamanın en tatlı noktasıdır.
Konuşma notu: Seçmeli sıralama bu avantajın hiçbirini elde edemez — tam taraması girdinin ne kadar sıralı olduğundan bağımsızdır.
Konuşma notu: Bölüm 5 sorar: eklemeli sıralama, son turdan ÖNCE kötü konumlanmış elemanları evlerinin çoğu yoluna taşısaydı ne olurdu?
Konuşma notu: Donald Shell tam olarak bu soruyu 1959'da sordu ve en kötü durumda düz O(n²)'yi aşan ilk sıralamayı yayımladı.
Konuşma notu: Bu derste gerçekten nadir bir şey: adı geçen bir kişi, adı geçen bir makale, belirli bir yıl, hâlâ aktif olarak araştırılıyor.
Konuşma notu: Son gap=1 turu tam anlamıyla düz eklemeli sıralamadır, ama neredeyse hiç kaydırmaya ihtiyacı olmayan veride.
Konuşma notu: Normal örnek: aralık dizisi 5, 2, 1 — son gap=1 turunun ne kadar az kaydırmaya ihtiyacı olduğunu izleyin.
Konuşma notu: Bunu Bölüm 4'ün düz-eklemeli-sıralama tersten-sıralı örneğiyle karşılaştırın — burada çok daha az toplam kaydırma.
Konuşma notu: Her satır düz eklemeli sıralamayla tam olarak eşleşir, "1" her yerde "gap" ile değiştirilmiş.
Konuşma notu: Önemli fikir aralığın kendisidir — tam optimal dizi bu dersin kapsamı dışında bir araştırma sorusudur.
Konuşma notu: Bunu düz eklemeli sıralamanın aynı değer için ihtiyaç duyacağı 11 tek-hücrelik kaydırmayla karşılaştırın.
Konuşma notu: Büyük erken aralıklar kaydırma başına çok daha fazla zemin kaplar — shell sıralamasının hızının arkasındaki tüm mekanizma budur.
Konuşma notu: Bölüm 6 böl-ve-yönet'i tanıtır: böl, her yarıyı aynı şekilde çöz, birleştir — bugünkü ilk O(n log n) garantisi.
Konuşma notu: İki zaten-sıralı yarıyı birleştirmek ucuzdur — geriye kalan tek soru her yarıyı nasıl sıralayacağınızdır.
Konuşma notu: 1945, bugünkü hemen hemen her diğer adı geçen algoritmadan önce gelir — birleştirmeli sıralama gerçekten en eskilerden biridir.
Konuşma notu: Bu her durumda geçerlidir — en iyi, ortalama, en kötü — bugün bu garantiye sahip tek algoritma.
Konuşma notu: O O(n) ek bellek, birleştirmeli sıralamanın koşulsuz garantisinin tek gerçek bedelidir.
Konuşma notu: Animasyon özyinelemeyi tam anlamıyla çizer — derinlik başına bir satır, aşağı inen bölme, daha da aşağı devam eden birleştirme.
Konuşma notu: Normal örnek: bölme satırlarını (yalnızca parantezler, değer değişikliği yok), sonra sıralı sonucu kuran birleştirme satırlarını izleyin.
Konuşma notu: Her bölme ve her birleştirme yine de tam olarak çalışır — birleştirmeli sıralamanın garantisi koşulsuzdur, kabarcık sıralamasının erken çıkışının aksine.
Konuşma notu: `<=` (`<` değil) eşitlikte her zaman sol çalışmayı tercih eder — birleştirmeli sıralamayı kararlı yapan tek seçim budur.
Konuşma notu: `(lo+hi)/2` değil `lo + (hi-lo)/2` — tam sayı taşmasına yakın bile doğru kalan biçim.
Konuşma notu: Aşağıdan yukarı, n ne kadar büyük olursa olsun bir çağrı yığınını asla taşıramaz — gerçek, pratik bir avantaj.
Konuşma notu: Normal örnek: her turda genişlik etiketinin katlanmasını izleyin — width=1, 2, 4, 8 — hiçbir yerde özyineleme olmadan.
Konuşma notu: Burada her tur mükemmel şekilde eşit — "hard" örneğiyle karşılaştırın, her turun son çiftinin kısmi olduğu yerde.
Konuşma notu: `min(mid+width, n)` kelepçesi hem 2-kuvveti hem eşit olmayan dizi büyüklüklerini hiç özel durum eklemeden ele alır.
Konuşma notu: Öbek sıralaması (Hafta 4) bu her-zaman-O(n log n) garantisini paylaşır, ama ek belleğe ihtiyaç duymaz — birleştirmeli sıralama belleği kararlılıkla takas eder.
Konuşma notu: Açıklamadan önce bir an düşünmelerine izin verin — her iki yanıt da gerçekten pratiktir, yalnızca kuramsal değil.
Konuşma notu: Üretim sıralama kütüphaneleri tam olarak bu ikinci optimizasyonu yapar — özyinelemeli yapı doğal bir uyum sağlar.
Konuşma notu: Bölüm 7 sorar: bir sıralama ortalamada O(n log n) garanti EDEBİLİR mi VE hiç ek dizi olmadan yerinde sıralayabilir mi?
Konuşma notu: Tony Hoare 1959-1960'ta tam olarak bunu icat etti, ve bugün gerçek yazılımda en çok kullanılan sıralamalardan biri olarak kalıyor.
Konuşma notu: Hoare 26 yaşındaydı, bir makine-çevirisi projesinde ziyaretçi bir araştırmacıydı — hızlı sıralama neredeyse bir yan projeydi.
Konuşma notu: Her iki taraf özyinelemeli olarak sıralandığında, tüm aralık sıralıdır — soldaki her şey zaten sağdaki her şeyden <='dır.
Konuşma notu: Fark kozmetik değildir — özyinelemeli çağrı sınırlarını değiştirir, klasik bir birer-fazla-eksik hata kaynağı.
Konuşma notu: Pivotun nihai konumu yapı gereği garanti edilir — bu, Lomuto'nun lo,p-1 / p+1,hi özyinelemesini doğru yapan şeydir.
Konuşma notu: Normal örnek: pivotu (kırmızı kutu), i sınırını, ve pivotun yerine son yer değiştirmesini izleyin.
Konuşma notu: Klasik tuzak — her bölümleme n-1'i 0'a karşı böler, mümkün olan en kötü bölünme. Bölüm 7'nin en-kötü-durum slaytları buna geri döner.
Konuşma notu: Son üç satır pivotu garanti edilmiş nihai konumuna, i+1'e yerleştirir.
Konuşma notu: p-1 ve p+1 ikisi de pivotun kendisini dışlar, ki bu doğrudur çünkü Lomuto onun tam olarak p'de oturduğunu garanti eder.
Konuşma notu: Bu "garanti değildir", Hoare'ın şeması hakkındaki tek en önemli gerçektir — özyineleme sınırlarını değiştirir.
Konuşma notu: Normal örnek: iki işaretçinin içeri doğru taranıp yer değiştirmesini izleyin, toplam yer değiştirme sayısını Lomuto'nunkiyle karşılaştırın.
Konuşma notu: Her değer pivota eşit olsa bile, tarama yine de doğru şekilde yakınsar — iyi bir değişmez kontrolü.
Konuşma notu: İki do-while döngüsü, her biri o tarafta pivotun kendi konumunda ya da öncesinde durması garantili.
Konuşma notu: Dikkat: p, p-1 DEĞİL — en yaygın hızlı sıralama hatası, çünkü Hoare pivotun p'de oturduğunu hiç garanti etmez.
Konuşma notu: Zaten gördüğünüz aynı üç animasyon — Lomuto'nun zaten-sıralı örneği tam olarak bu tuzaktı.
Konuşma notu: Aynı girdi, üç pivot stratejisi — ilk, orta, üçün-medyanı — karşılaştırmalar ve derinlik yan yana sayılmış.
Konuşma notu: Düşmanca bir yapısı olmayan rastgele veride, üç strateji de benzer performans gösterir — tuzak sıralı-benzeri girdiye ihtiyaç duyar.
Konuşma notu: Özdeş girdide 91'e karşı 31 — O(n²)'ye karşı O(n log n) bir soyutlama değil, tam olarak bu tablodur.
Konuşma notu: Bu gerçek bir teoremdir, bir kural-of-thumb değil — bunu bir alıştırmada kendiniz kanıtlayacaksınız.
Konuşma notu: Bu tek karışıklık — p-1'e karşı p — öğrencilerin hızlı sıralamayı ezberden uygularken yazdığı en yaygın hatadır.
Konuşma notu: Yanıt tamamen her şemanın pivotun nihai konumu hakkında gerçekte neyi garanti ettiğiyle ilgilidir.
Konuşma notu: Lomuto'nun açık son yer değiştirmesi, p-1/p+1 özyinelemesini güvenli yapan tam olarak budur — Hoare'ın eşdeğer bir garantisi yoktur.
Konuşma notu: Bölüm 8, haftanın ikinci yarısını açar: iki anahtarı hiç birbirleriyle karşılaştırmayan sıralamalar.
Konuşma notu: O zaman hiç karşılaştırmanıza gerek yok — basitçe her değerin kaç kez geçtiğini sayabilirsiniz.
Konuşma notu: Seward'ın tezi, bilgisayarlıktaki en erken belgelenmiş karşılaştırmasız sıralama fikirlerinden biridir.
Konuşma notu: Geriye tarama, eşit değerler arasında girdide daha önce görünenin daha erken çıktı hücresini talep etmesini garanti eder.
Konuşma notu: Karşılaştırmalar sayacını izleyin — tüm süre boyunca sıfırda kalır. Karşılaştırmasız bir sıralamanın tüm amacı budur.
Konuşma notu: 10 değer ama maxVal=15 — O(n+k) maliyeti görünür hale gelmiş: count[] 15'e kadar her değeri kapsamalı.
Konuşma notu: Bundan sonra count[v], "kaç değer <= v" anlamına gelir — o değerin işgal etmesi gereken son çıktı indisi.
Konuşma notu: Geriye doğru burada isteğe bağlı değil — sayma sıralamasını kararlı tutan tüm mekanizma bu.
Konuşma notu: Seyrek-aralık örneği zaten count[]'u k=15, n=10 için girdinin kendisinden bile büyük gösterdi — k=1.000.000'u hayal edin.
Konuşma notu: Tarama önce a[q]'yu işler (daha büyük indis), bu yüzden daha sonraki hücreyi talep eder; a[p] sonra kalanı, bir hücre daha erken talep eder.
Konuşma notu: Bu tam olarak kod slaytındaki mekanizma, iki belirli bağlı eleman için izlenmiş.
Konuşma notu: Bölüm 9, sayma sıralamasının fikrini, tüm aralık yerine bir seferde bir basamak işleyerek daha büyük tam sayılar için kurtarır.
Konuşma notu: Sayma sıralamasını değer değil basamak basamak çalıştırın — sayılar ne kadar büyük olursa olsun her zaman 10 kova.
Konuşma notu: Bu, tüm bu derste en eski fikirlerden biridir — delikli-kart sıralaması, elektronik bilgi işlemden onlarca yıl önce gelir.
Konuşma notu: Kararlı bir geçiş, her önceki, daha az anlamlı basamağın sırasını korur — bu bileşebilirlik tüm algoritmadır.
Konuşma notu: Normal örnek: 3 basamaklı değerler, 3 geçiş — dizinin geçiş geçiş yeniden sıralanmasını izleyin, place=1, 10, 100.
Konuşma notu: Yalnızca bir geçiş hiç çalışır — döngü koşulu, her değer tek bir basamağa sığdığında doğal olarak durur.
Konuşma notu: get_digit(5, 100) doğru şekilde 0 döndürür — kısa sayılar görünmez sıfırlarla soldan doldurulmuş gibi davranır.
Konuşma notu: Bu tam anlamıyla sayma sıralamasının (Bölüm 8) aynı iki-aşamalı yapısıdır, yalnızca tüm değer yerine bir basamağa göre anahtarlanmış.
Konuşma notu: Çoğu diğer bağlamın aksine, kararlılık burada bir incelik değildir — doğruluğun kendisi için yük taşıyıcıdır.
Konuşma notu: Yanıt tamamen her geçişin henüz işlemediği basamaklar hakkında ne varsayıp varsayamayacağıyla ilgilidir.
Konuşma notu: MSD-ilk radix sıralaması da vardır, ama çalışmak için farklı, özyinelemeli bir yapıya ihtiyaç duyar — bu haftanın kapsamı dışında.
Konuşma notu: Bölüm 10 sayma sıralamasını genelleştirir: değer başına bir kova yerine, değer ARALIĞI başına bir kova.
Konuşma notu: Değerler eşit dağılmışsa, her kova yalnızca bir avuç eleman tutar — yerel olarak sıralamayı bitirmek ucuzdur.
Konuşma notu: Seward (sayma sıralaması) ya da Hollerith'in (radix sıralaması) aksine, kova sıralaması genellikle belirli bir atıf olmadan sunulur.
Konuşma notu: b kovasındaki değerlerin hepsi, yapı gereği, b+1 kovasındakilerden küçüktür — yalnızca birleştirme sıralamayı bitirir.
Konuşma notu: Normal örnek: değerlerin 10 kovaya dağılmasını, sonra her küçük kovanın eklemeli-sıralanmasını izleyin.
Konuşma notu: En kötü durum — her değer tek bir kovaya çarpışır, tüm dizide düz eklemeli sıralamaya bozulur.
Konuşma notu: max_val=99 ve 10 kovayla, b tam anlamıyla onlar basamağıdır — temiz, açıklaması kolay bir eşleme.
Konuşma notu: Kova sıralamasının O(n) sözü tamamen girdinin gerçekten eşit dağılmasına koşulludur — bunu algoritmanın içinden tespit etmenin bir yolu yoktur.
Konuşma notu: Anahtar kelime "aralık" ile "tek değer"dir — bir kova içinde hâlâ sırası yanlış kalabilecek neyin olduğunu düşünün.
Konuşma notu: Bu tam olarak kova sıralamasının genel biçiminde kayan-nokta değerlerini işleyebilmesinin nedenidir, sayma sıralamasının değer-başına saymasının aksine.
Konuşma notu: Bölüm 11, kararlılığı kelimelerle tanımlamayı bırakır ve onu, aynı girdide, iki adı geçen algoritmayla gösterir.
Konuşma notu: Evet — ve bugünkü özel kararlılık animasyonunun canlı olarak, etiketli kayıtlarla yaptığı tam olarak budur.
Konuşma notu: Etiket "bu fiziksel kaydın hangisi olduğu"nun yerine geçer — bir öğrenci adını, nota göre sıralanmış olarak düşünün.
Konuşma notu: Özellikle 5a, 5b, 5c grubunu izleyin — kararlı onları sırada tutar, kararsız tutmaz.
Konuşma notu: En uç durum — tamamen kararlı bir sıralama TÜM girdi sırasını değiştirmeden yeniden üretmelidir.
Konuşma notu: Kararsızlığın üzerinde hareket edecek bir şeyi ancak bir yer değiştirme bağlı bir elemanın üzerinden gerçekten geçtiğinde vardır — sıralı girdi bunu asla tetiklemez.
Konuşma notu: Radix sıralamasının kararlılığı isteğe bağlı değildir — Bölüm 9, doğruluk için gerekli olduğunu, yalnızca güzel bir ekstra olmadığını gösterdi.
Konuşma notu: Hile, yalnızca seçmeli sıralamaya değil, herhangi bir karşılaştırmalı sıralamaya genelleşir.
Konuşma notu: Bu, indisleri izlemek için ekstra belleğe mal olur, ama evrensel olarak çalışır — bugünkü sıralamalar ona ihtiyaç duymasa da bilinmeye değer bir hile.
Konuşma notu: Bölüm 12, Big-O'nun gizli sabitlerine güvenmeyi bırakır ve beş algoritmayı aynı girdide çalıştırıp tam olarak sayar.
Konuşma notu: Beş algoritma, her seferinde özdeş bir girdi, karşılaştırmalar ve yazmalar aynı iki ilkel üzerinden sayılmış.
Konuşma notu: Burada hiçbir algoritma yeniden öğretilmez — her biri zaten kendi özel animasyonuna sahiptir. Bu tamamen yan yana bir ölçümdür.
Konuşma notu: Normal örnek: her satırın "çalışıyor..." vurgusu çözülürken karşılaştırma/yazma toplamını açığa çıkarmasını izleyin.
Konuşma notu: Tüm haftanın dersi tek bir animasyonda: kabarcık farkla kazanır, hızlı (Lomuto) en kötü gününü yaşar.
Konuşma notu: Bölüm 7'nin hızlı sıralama slaytlarındaki aynı 66-karşılaştırmalı en kötü durum, şimdi kabarcığın 11'inin tam yanında.
Konuşma notu: Bu tek cümle, tek bir "en iyi" sıralama yerine on bir farklı sıralama algoritması öğretmenin tüm gerekçesidir.
Konuşma notu: Onları Bölüm 4'ün eklemeli sıralamanın maliyetinin elemanların ne kadar yerinden uzak olduğunu izlediğine dair kendini-sınasına geri yönlendirin.
Konuşma notu: Neredeyse-sıralı veri pratikte eklemeli sıralamanın en iyi durumudur, ama seçmeli sıralamanın değil — Bölüm 4.5'e doğrudan bir geri dönüş.
Konuşma notu: Bölüm 13, bugünü tek bir pratik soruya çevirir: verileriniz hakkında bildiklerinize göre, hangi sıralama?
Konuşma notu: Bu tablo sonraki iki slaytta devam ediyor — tam dokuz-satırlı tablo için bu haftaki notlara bakın.
Konuşma notu: "Bellek uygun"a karşı "yerinde", bu tablodaki en büyük ayrımdır — birleştirmeli ya da hızlı sıralama, nadiren ikisi de eşit önemlidir.
Konuşma notu: Bu dört satır bu haftanın ikinci yarısını bir bakışta özetler — karşılaştırmasız sıralamalar, anahtarlar hakkında bildiklerinize göre seçilmiş.
Konuşma notu: On birini de gerçekte hangi durumda olduğunuzu tanıyacak kadar iyi bilmek — bu haftanın gerçek, aktarılabilir becerisi budur.
Konuşma notu: On bir algoritma, dört aile, her seferinde bir alttaki soru: ne biliyorsunuz, ve neyi karşılayabilirsiniz?
Konuşma notu: Bugünden bir şey hatırlayacaksanız, bu olsun: ölç, varsayma, ve gerçekte hangi durumda olduğunuzu bilin.
Konuşma notu: Aşağıdan yukarı birleştirmeli sıralamanın "sıralı çalışmaları birleştir" mekanizması, diskte yaşayan veriyi sıralamanın tam temeli haline gelir.
Konuşma notu: Tam notlar, on dört animasyonun hepsi, ve her program bu haftaki ders notlarında — teşekkürler.