1.1 Wprowadzenie do zbiorów
Definicja zbioru przyszła do programowania z matematyki. Zbiór to grupa unikalnych elementów. Ta cecha sprawia, że zbiory są potężnym narzędziem w programowaniu, z wieloma unikalnymi możliwościami.
Co to jest grupa unikalnych elementów? Wyobraź sobie „Listę 10 najpopularniejszych imion w kraju”. Sama istota tej definicji oznacza, że każde imię na liście jest unikalne i nie powtarza się. Powtarzają się tylko jego nosiciele.
Albo wyobraź sobie kolekcję znaczków. Zbierasz po jednym znaczku z każdego kraju. Twoja kolekcja to zbiór znaczków, gdzie każdy znaczek jest unikalny i nie chcesz mieć dwóch identycznych znaczków. Oto idea zbioru.

Główne cechy zbiorów
Unikalność
Zbiór to grupa unikalnych przedmiotów. Wyobraź sobie, że masz listę numerów klientów, których trzeba obdzwonić. Na tej liście każdy numer powinien być unikalny, aby nikt nie został nękany powtarzającymi się telefonami.
Nieuporządkowanie
Zbiory nie dbają o kolejność przedmiotów. To tak, jakbyś wrzucał owoce do koszyka, nie martwiąc się o to, co jest na dnie, a co na górze. Najważniejsze, że wszystkie owoce w koszyku są różne.
Zmienne
Możesz dodawać i usuwać przedmioty ze zbioru. To tak, jakbyś mógł w każdej chwili wrzucić do koszyka nowy owoc lub usunąć ten, który już ci nie potrzebny.
1.2 Operacje na zbiorach
Na zbiorach, jako dużych grupach elementów, można wykonywać różne operacje. Oto przykład 4 najczęstszych:
- Suma (Union): Wynik sumy dwóch zbiorów zawiera wszystkie unikalne elementy z obu zbiorów.
- Część wspólna (Intersection): Wynik części wspólnej dwóch zbiorów zawiera tylko te elementy, które występują w obu zbiorach.
- Różnica (Difference): Wynik różnicy dwóch zbiorów zawiera elementy, które występują w pierwszym zbiorze, ale nie występują w drugim.
- Różnica symetryczna (Symmetric Difference): Wynik różnicy symetrycznej dwóch zbiorów zawiera elementy, które występują w jednym z zbiorów, ale nie występują w obu jednocześnie.
Oto fajna grafika, która pomoże zapamiętać istotę operacji:

Suma (Union):
Wynik sumy dwóch zbiorów A i B zawiera wszystkie unikalne elementy z obu zbiorów.

Część wspólna (Intersection):
Wynik części wspólnej dwóch zbiorów zawiera tylko te elementy, które występują w obu zbiorach.

Różnica (Difference):
Wynik różnicy dwóch zbiorów zawiera elementy, które występują w pierwszym zbiorze, ale nie występują w drugim.

Różnica symetryczna (Symmetric Difference):
Wynik różnicy symetrycznej dwóch zbiorów zawiera elementy, które występują albo w jednym, albo w drugim zbiorze, ale nie w obu jednocześnie.

1.3 Cechy zbiorów
Zbiory są znane nie tylko ze swoich właściwości, ale także z szeregu specyficznych operacji nad nimi.
Unikalne kolekcje
Wyobraź sobie, że zbierasz autografy gwiazd. Chcesz, żeby w twojej kolekcji każdy autograf był unikalny. To znaczy, że jeśli masz już autograf ulubionego aktora, nie będziesz zbierać drugiego takiego samego. Twoja kolekcja autografów to zbiór unikalnych autografów.
Usuwanie duplikatów
Załóżmy, że masz listę gości na imprezę, ale przypadkowo zapisałeś niektórych ludzi dwa razy. Aby upewnić się, że każdy gość jest zaproszony tylko raz, możesz stworzyć zbiór gości. W tym zbiorze automatycznie pozostaną tylko unikalne imiona, a duplikaty znikną.
Sprawdzanie obecności
Wyobraź sobie, że grasz w grę, gdzie trzeba zbierać różne rodzaje skarbów. W każdej skrzyni może być jedno z wielu skarbów. Jeśli chcesz sprawdzić, czy znalazłeś już określony skarb, po prostu sprawdzasz, czy jest on w twoim zbiorze skarbów.
Łączenie grup
Wyobraź sobie, że masz dwie listy przyjaciół: jedna ze szkoły, druga z klubu sportowego. Jeśli chcesz się dowiedzieć, z iloma unikalnymi ludźmi jesteś zaznajomiony, możesz połączyć te dwie listy w jeden zbiór. W ten sposób będziesz mieć listę wszystkich unikalnych przyjaciół bez powtórzeń.
GO TO FULL VERSION