Kesişim ve birleşim
- Algoritmalar kursu
- Başlangıç
- Ders 75/80
- 4 dk
İki set'in kesişim ve birleşimini almayı öğrenirsin.
Kesişim uygulaması
Kesişimi uygulamak için bir set'in her elemanını alır ve diğer set'te var mı diye kontrol edersin. Var olanları sonuç set'ine eklersin.
Bu, O(n) zaman alır (n = küçük set'in boyutu). Her contains O(1) olduğu için toplam O(n) olur.
Birleşim uygulaması
Birleşimi uygulamak için her iki set'in tüm elemanlarını yeni bir set'e eklersin. Tekrarlar otomatik elenir.
Bu, O(n + m) zaman alır (n ve m iki set'in boyutları). Her ekleme O(1) olduğu için toplam doğrusaldır.
Uygulama Kesişim
set_intersect(a, b) yaz. a ve b'nin kesişimini sorted liste olarak döndür. print(set_intersect({1,2,3}, {2,3,4})) ile [2, 3] yazdır.
Başlangıç kodu
def set_intersect(a, b):
# KesişimÖrnek çözüm
def set_intersect(a, b):
# Kesişim
result = set()
for x in a:
if x in b:
result.add(x)
return sorted(result)
print(set_intersect({1, 2, 3}, {2, 3, 4}))Beklenen çıktı
[2, 3]
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 Kesişim ve birleşim: kavramları eşleştir
| Kavram | Anlamı |
|---|---|
kesişim |
Her iki set'te |
birleşim |
En az birinde |
O(n) |
Kesişim |
O(n+m) |
Birleşim |
2 Kesişim hangi elemanları verir?
- İki set'in tamamı
- İki set'te de olanlar Doğru cevap
- Yalnız A'da olanlar
- Yalnız B'de olanlar
Açıklama: İki set'te de olan elemanları verir.
3 Birleşim
Birleşim her iki set'in ____ ekler.
Birleşim her iki set'in tüm elemanlarını ekler.
Açıklama: tüm elemanlarını doğru.