Küçük Kümeler Olarak Bitmask'ler
Alt kümeleri tam sayılarla temsil edin.
Küçük Kümeler Olarak Bitmask'ler, CoddyKit'te ücretsiz bir Coding Interview Prep dersidir. Bu, 4 dersinin 4. 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, Coding Interview Prep öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Coding Interview Prep kursu toplamda 4 dersten oluşur.
Küme Olarak Bir Tamsayı
Tek bir tamsayı, bütün bir kümenin yerini tutabilir: i bitinin 1 olması, i elemanının kümede bulunduğu anlamına gelir. Böylece alt kümeleri küçük ve hızlı tek bir değere sığdırabilirsiniz. 🎒
Boş ve Dolu Kümeler
0 sayısı boş kümeyi temsil eder; en düşük n biti tamamen 1 olan bir değer ise her elemanın bulunduğu anlamına gelir.
empty = 0
full = (1 << 4) - 1 # 0b1111, four elementsBir Eleman Ekleyin
i elemanını kümeye eklemek için onun bitini OR işlemine dahil edin. Bu, artık tek bir elemanla yapılan birleşim olarak yorumlanan bit ayarlama işleminin aynısıdır.
s = 0
s |= (1 << 2) # add element 2Bir Elemanı Çıkarın
i elemanını çıkarmak için terslenmiş biti AND işleminde kullanın. Eleman kümeden çıkar, diğer herkes yerinde kalır. Bu, tek elemanlı küme farkıdır.
s &= ~(1 << 2) # remove element 2Üyeliği Kontrol Edin
i elemanının kümeye ait olup olmadığını kendi bitiyle AND işlemi yaparak kontrol edin. Sıfır olmayan sonuç, onun kümenin bir üyesi olduğunu gösterir.
if s & (1 << 2):
print('2 is in the set')Birleşim ve Kesişim
İki maskenin birleşimi için OR, kesişimi için AND işlemi yapın. Kümelerin tamamına uygulanan işlemler, her biri tek bir makine yönergesine dönüşür.
union = a | b
inter = a & bKüme Boyutu, 1 Bitlerinin Sayısıdır
Bir bit maskesindeki eleman sayısı, yalnızca 1 yapılmış bitlerin sayısıdır. Boyutu hemen elde etmek için bit_count kullanın.
size = mask.bit_count()Tüm Alt Kümeler Üzerinde Döngü Kurun
n eleman için 0'dan 2 üzeri n eksi 1'e kadar olan tamsayılar her alt kümeyi sıralar. Tek bir basit aralık döngüsü hepsini kapsar.
for mask in range(1 << n):
pass # mask is one subsetAlt Maskeler Üzerinde Hızlı İlerleyin
Yalnızca belirli bir maskenin alt kümelerini ziyaret etmek için klasik alt maske döngüsünü kullanın. Bu döngü her alt kümeyi azalan sırayla gezer.
sub = mask
while sub:
sub = (sub - 1) & maskBit Maskesi DP'si Burada Kullanılır
Bit maskeleri, gezgin satıcı problemi gibi birçok DP probleminde durum olarak kullanılır; maske, hangi düğümleri ziyaret ettiğinizi izler.
n'yi Küçük Tutun
2 üzeri n alt küme bulunduğundan bu yöntem yalnızca küçük n değerlerinde, genellikle yaklaşık 20'ye kadar, uygulanabilirdir. Bu sınırın ötesinde sayı hızla büyür. ⚠️
Hızlı Kontrol
Son bir maske olarak küme sorusu.
Özet: Bit Maskesi Kümeleri
Bir kümeyi tek bir tamsayıda saklayabilir, maskelerle eleman ekleyip çıkarabilir ve her alt küme üzerinde döngü kurabilirsiniz. Bu, hızlı bit maskesi DP'sinin önünü açar. 🎉
Sıkça Sorulan Sorular
“Küçük Kümeler Olarak Bitmask'ler” dersi ücretsiz mi?
Evet — “Küçük Kümeler Olarak Bitmask'ler” 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 Coding Interview Prep kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Coding Interview Prep kursu toplamda 4 dersten oluşur.
“Küçük Kümeler Olarak Bitmask'ler” dersinde ne öğreneceğim?
Alt kümeleri tam sayılarla temsil edin. Coding Interview Prep 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.
Coding Interview Prep öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te Coding Interview Prep, 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 4. dersidir.
“Küçük Kümeler Olarak Bitmask'ler” 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 Coding Interview Prep dersinde kod yazıp çalıştırabilir miyim?
Evet. Her Coding Interview Prep 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
- AND, OR, XOR ve Kaydırmalar
- Bit Ayarlama, Temizleme ve Değiştirme
- Bitleri ve En Düşük Ayarlı Biti Sayma
- Küçük Kümeler Olarak Bitmask'ler