0Pricing
Competitive Programming Academy · Ders

Aralıkları Başlangıca Göre Sıralama

İşlemeden önce etkinlikleri sıralayın.

Aralıkları Başlangıca Göre Sıralama, CoddyKit'te ücretsiz bir Competitive Programming Academy dersidir. Bu, 4 dersinin 1. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Competitive Programming Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Competitive Programming Academy kursu toplamda 4 dersten oluşur.

Aralık Nedir

Bir aralık, [2, 5] gibi başlangıç ve bitişten oluşan bir sayı çiftidir. Aralık problemlerinin çoğu bu çiftlerin bir listesinden oluşur. 📏

Sıralama Düzen Sağlar

Ham aralıklar herhangi bir sırada gelebilir ve bu da onlar hakkında akıl yürütmeyi zorlaştırır. Önce sıralamak, karmaşayı temiz bir soldan sağa taramaya dönüştürür.

Başlangıca Göre sort

Varsayılan işlem, başlangıç değerine göre sort kullanmaktır. Artık her aralık kendisinden öncekinin başladığı konumda veya daha sonra başlar; böylece bir kez ileri doğru tarayabilirsiniz.

intervals.sort(key=lambda x: x[0])

Demetler Doğal Olarak Sıralanır

Aralıkları demet olarak saklarsanız Python bunları ücretsiz olarak önce ilk elemana, sonra ikinci elemana göre sıralar. Burada bir anahtar işlevine bile gerek yoktur.

intervals = [(3, 7), (1, 4), (2, 5)]
intervals.sort()

Neden Önce Başlangıç

Başlangıca göre sıralamak, olayları zaman sırasıyla işlemenizi sağlar. Bir sonraki aralık ancak daha sonra başlayabilir; tarama için temel değişmez budur.

Aynı Başlangıçlar

İki aralığın başlangıcı aynı olduğunda sıralamayı ikincil anahtar belirler. (başlangıç, bitiş) biçiminde sıralamak, daha kısa aralıkları önce tutar ve bu çoğu zaman işe yarar.

intervals.sort(key=lambda x: (x[0], x[1]))

Bazen Bitişe Göre Sıralayın

En fazla olayı planlamak gibi bazı problemlerde bunun yerine bitişe göre sıralama yapılır. Taramanızın bilmesi gerekenlere uyan anahtarı seçin.

intervals.sort(key=lambda x: x[1])

Sıralamanın Maliyeti

Sıralama O(n log n) zaman alır; bu maliyet düşüktür ve genellikle bu problemlerde baskın olan kısımdır. Ardından gelen tarama yalnızca O(n) sürer.

Ek Verileri Birlikte Tutun

Her aralık bir kimlik veya ağırlık taşıyorsa yalnızca sınırları değil, tüm kaydı sıralayın. Anahtar sırayı belirlerken veriler de onunla birlikte hareket eder.

intervals.sort(key=lambda iv: iv[0])  # iv = (start, end, id)

Önce sort, Sonra Tarama

Neredeyse her aralık algoritması önce sort kullanın, sonra tarayın ilkesine dayanır. Sırayı doğru kurduğunuzda birleştirme, sayma ve planlama basit döngülere dönüşür.

Hızlı Bir Zihinsel Model

Aralıkları bir partiye gelen konuklar olarak düşünün. Başlangıca göre sıralamak, onları geliş zamanlarına göre sıraya dizer ve tek tek karşılamanızı sağlar.

Hızlı Kontrol

Bir aralık listesini birleştirmek üzeresiniz.

Özet

Aralık, başlangıç-bitiş çiftidir; başlangıca göre sıralamak dağınık listeyi temiz bir taramaya dönüştürür. Önce sıralayın, ardından O(n) sürede ileri doğru işleyin. 🚀

Sıkça Sorulan Sorular

“Aralıkları Başlangıca Göre Sıralama” dersi ücretsiz mi?

Evet — “Aralıkları Başlangıca Göre Sıralama” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Competitive Programming Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Competitive Programming Academy kursu toplamda 4 dersten oluşur.

“Aralıkları Başlangıca Göre Sıralama” dersinde ne öğreneceğim?

İşlemeden önce etkinlikleri sıralayın. Competitive Programming Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

Competitive Programming Academy öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te Competitive Programming Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 1. dersidir.

“Aralıkları Başlangıca Göre Sıralama” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu Competitive Programming Academy dersinde kod yazıp çalıştırabilir miyim?

Evet. Her Competitive Programming Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. Aralıkları Başlangıca Göre Sıralama
  2. Kesişen Aralıkları Birleştirme
  3. Maksimum Kesişim için Doğru Süpürme
  4. Kesişmeme için Minimum Silme
← Competitive Programming Academy Sayfasına Dön