fold_tree

warning: Creating default object from empty value in /usr/share/drupal6/modules/taxonomy/taxonomy.pages.inc on line 33.

Ćwiczenia 11: Procedury wyższych rzędów i drzewa

Ćwiczenia na drzewa z elementami procedur wyższych rzędów:

  1. Dane są: definicja typu tree i procedura fold_tree:

     
          type 'a tree =  Node of 'a * 'a tree list;;
     
          let rec fold_tree f (Node (x, l)) = 
            f x (map (fold_tree f) l);;
     

    Użyj procedury fold_tree do zaimplementowania:

    1. policzenia liczby węzłów w drzewie,
    2. sprawdzić czy drzewo jest zrównoważone, tzn. wszystkie jego liście są na tej samej głębokości,
Subskrybuje zawartość