Przejdź do treści

Drzewo binarne

Opis problemu

Specyfikacja

Dane

  • \(stopień\) - stopień drzewa binarnego
  • \(długość\) - początkowa długość gałęzi (pnia)

Wynik

  • Drzewo binarne stopnia \(stopień\) i początkowej długości \(długość\).

Prezentacja

Drzewo binarne - wprowadzenie

Rozwiązanie

Prezentacja

Drzewo binarne - algorytm

Pseudokod

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ść)

Schemat blokowy

%%{init: {"flowchart": {"curve": "linear"}, "theme": "neutral"} }%%
flowchart TD
    START(["DrzewoBinarne(stopień, długość)"]) --> K1["Przód(długość)"]
    K1 --> K2{stopień > 0}
    K2 -- PRAWDA --> K3["Lewo(45)\nDrzewoBinarne(stopień - 1, długość / 2)\nPrawo(90)\nDrzewoBinarne(stopień - 1, długość / 2)\nLewo(45)"]
    K3 --> K8["Tył(długość)"]
    K2 -- FAŁSZ --> K8
    K8 --> STOP([STOP])

Implementacja

C++

Python

Blockly