Üyelik ve Tekilleştirme için Kümeler
Varlığı sabit zamanda test edin.
Üyelik ve Tekilleştirme için Kümeler, 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.
Bir Kümenin Sağladıkları
Bir küme, öğeleri sırasız ve benzersiz biçimde saklar; asıl gücü, 'bu burada mı?' sorusunu yaklaşık sabit zamanda yanıtlamasıdır. ⚡
Neden Yalnızca Liste Kullanmayalım
Listede üyeliği kontrol etmek her öğeyi tarar ve bu nedenle O(n) sürer. Küme, değerin özetini hesaplayıp doğrudan ilgili kovaya atlar.
Küme Oluşturun
Kümeyi süslü parantezlerle veya set() çağrısıyla oluşturun. Boş bir küme için set() kullanmalısınız; çünkü sıradan süslü parantezler sözlük oluşturur.
seen = set()
vowels = {'a', 'e', 'i', 'o', 'u'}Üyelik Testi
Bir değerin mevcut olup olmadığını sormak için in anahtar sözcüğünü kullanın. Kümede bu, yapıyı kullanmaya değer kılan hızlı aramadır.
if x in seen:
print('already saw it')Öğe Ekleme
Bir değeri add ile ekleyin. Aynı değeri tekrarlamak hiçbir şeyi değiştirmez; küme, tüm değerleri sizin için sessizce benzersiz tutar.
seen.add(x)Anında Yineleme Kaldırma
Herhangi bir yinelenebilir nesneyi set() içine verin; yinelemeler tek geçişte ortadan kalkar. Yarışma girdilerindeki yinelemeleri kaldırmanın en kısa yolu budur.
unique = set(nums)Farklı Değerleri Hızla Sayın
Yaygın bir görev şudur: 'kaç tane farklı değer var?'. Verileri bir kümeye dönüştürün ve uzunluğunu tek satırda alın.
distinct_count = len(set(nums))Gördüklerinizi İzleyin
İlk tekrarı bulmak için döngü sırasında bir küme oluşturun. Bir değer zaten kümedeyse yinelemeyi o anda bulmuşsunuzdur.
for v in nums:
if v in seen:
return True
seen.add(v)Küme İşlemleri Ücretsizdir
Kümeler kesişim, birleşim ve fark işlemlerini doğrudan destekler. İki grubu karşılaştırmak, iç içe döngüler yerine tek bir işlem hâline gelir.
common = a & b
only_a = a - bKaldırma ve discard
Değer eksik olsa bile güvenle silmek için discard kullanın; kaldırma işlemi ise mevcut olmayan anahtarlarda hata üretir. Niyetinize uygun olanı seçin.
seen.discard(x)Yalnızca Hash'lenebilir Öğeler
Kümeler hash'lenebilir öğeler gerektirir; bu nedenle listeler kullanılamaz, ancak demetler kullanılabilir. Bir listeyi saklamanız gerekiyorsa önce demete dönüştürün.
grid_seen = set()
grid_seen.add((row, col))Hızlı Kontrol
Bir listede kaç farklı sayının bulunduğunu bilmeniz gerekiyor.
Özet
Bir küme, O(1) üyelik denetimi, anında tekilleştirme ve kolay kesişim ya da fark işlemleri sağlar. Bunu, Ne gördüm? diye sorduğunuz her durumda kullanın. 🚀
Sıkça Sorulan Sorular
“Üyelik ve Tekilleştirme için Kümeler” dersi ücretsiz mi?
Evet — “Üyelik ve Tekilleştirme için Kümeler” 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.
“Üyelik ve Tekilleştirme için Kümeler” dersinde ne öğreneceğim?
Varlığı sabit zamanda test edin. 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.
“Üyelik ve Tekilleştirme için Kümeler” 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
- Üyelik ve Tekilleştirme için Kümeler
- Arama Tablosu Olarak Sözlükler
- Counter ve defaultdict Uygulamada
- Bir Map ile Gruplama ve Kovalama