Drzewo binarne¶
Drzewo binarne to rodzaj fraktala, który jest generowany przez rekurencyjne rysowanie dwóch mniejszych gałęzi pod kątem od każdej gałęzi początkowej. Każda z tych gałęzi jest mniejsza od poprzedniej i jest rysowana pod określonym kątem, tworząc strukturę przypominającą drzewo. Proces ten jest powtarzany dla każdej nowej gałęzi, aż do osiągnięcia zadanego stopnia rekurencji. Drzewa binarne są często używane do wizualizacji struktur danych oraz w grafice komputerowej do generowania realistycznych obrazów roślin.
Specification¶
Input¶
- \(stopień\) - stopień drzewa binarnego
- \(długość\) - początkowa długość gałęzi (pnia)
Output¶
- Drzewo binarne stopnia \(stopień\) i początkowej długości \(długość\).
Presentation¶
Solution¶
Presentation¶
Pseudocode¶
funkcja DrzewoBinarne(stopień, długość):
1. Przód(długość)
2. Jeżeli stopień > 0, to:
3. Lewo(45)
4. DrzewoBinarne(stopień - 1, długość / 2)
5. Prawo(90)
6. DrzewoBinarne(stopień - 1, długość / 2)
7. Lewo(45)
8. Tył(długość)
Block diagram¶
%%{init: {"flowchart": {"curve": "linear"}, "theme": "neutral"} }%%
flowchart TD
START(["DrzewoBinarne(stopień, długość)"]) --> K1["Przód(długość)"]
K1 --> K2{stopień > 0}
K2 -- TRUE --> K3["Lewo(45)
DrzewoBinarne(stopień - 1, długość / 2)
Prawo(90)
DrzewoBinarne(stopień - 1, długość / 2)
Lewo(45)"]
K3 --> K8["Tył(długość)"]
K2 -- FALSE --> K8
K8 --> STOP([STOP])