forked from realgs/pdgm21
-
Notifications
You must be signed in to change notification settings - Fork 0
/
l5
27 lines (15 loc) · 1.37 KB
/
l5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
Termin oddania listy 2 / 6 grudnia 2021 w zależności od grupy zajęciowej.
Łączna liczba punktów 20.
1) Zdefiniuj funkcję przekształcającą liczbę dziesiętną w listę liczb ("cyfr"), które reprezentują ją w systemie szesnastkowym.
Funkcja ma przyjmować jeden argument. Opowiedz jak zadbałaś/eś o jak najlepszą złożoność obliczeniową i pamięciową.
Przykład: 31 -> [1;15]
Punkty: 5
Kolejnych pięć punktów uzyskasz przygotowując funkcję do przekształcenia liczby do dowolnego systemu (binarny, szesnastkowy itp).
Przykład: [31, 16] -> [1;15]
Punkty łącznie: 5 + 5
3) Napisz funkcję generującą drzewo o głębokości N (liczba poziomów drzewa), zawierającą losowe liczby rzeczywiste z przedziału (0,1). Drzewo pełne, proponuje binarne.
Punkty: 3
4) Napisz funkcję przyjmującą na wejściu wyżej wygenerowane drzewo i zwracającą iloczyn wszystkich jego elementów. Zwróć uwagę na wydajność rozwiązania.
Punkty: 3
5) Napisz funkcję przechodzącą po drzewie, usuwającą powtarzające się wartości - duplikaty. Zaproponuj i uzasadnij swoje rozwiązanie dotyczące tego czym i jak zastępować usuwane węzły. Spróbuj pomyśleć o praktycznym przykładzie argumentując sposób usuwania zduplikowanych elementów drzewa.
Zaimplementuj przechodząc po drzewie wgłąb (Punkty: 1.5) i wszerz (Punkty: 2.5)