CodeBlanks Logo Icon CodeBlanks

Kesişim ve birleşim

İ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

solution.py
def set_intersect(a, b):
    # Kesişim

Örnek çözüm

solution.py
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

Soru
Birleşim her iki set'in ____ ekler.
Cevap
Birleşim her iki set'in tüm elemanlarını ekler.

Açıklama: tüm elemanlarını doğru.

Başlangıç bölümündeki tüm dersler