davegimo

Untitled

Mar 31st, 2019
395
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. public static boolean livelloK(Albero a, int k) {
  2.  
  3.     int sommaK = contaK(a,k,1);
  4.     int sommaFoglie = contaFoglie(a);
  5.  
  6.     if (sommaK == sommaFoglie) {
  7.         return true;
  8.     }
  9.  
  10.     return false;
  11. }
  12.  
  13.  
  14. public static int contaK(Albero a, int k, int livelloCorrente) {
  15.  
  16.     if (livelloCorrente == k) {
  17.         return a.val();
  18.     }
  19.  
  20.     else {
  21.         int conta = 0;
  22.  
  23.         if (a.sinistro() != null) {
  24.             conta += contaK(a.sinistro(),k, livelloCorrente + 1);
  25.         }
  26.  
  27.         if (a.destro() != null) {
  28.             conta += contaK(a.destro(),k, livelloCorrente + 1);
  29.         }
  30.  
  31.         return conta;
  32.  
  33.     }
  34.  
  35. }
  36.  
  37.  
  38. public static int contaFoglie(Albero a) {
  39.  
  40.     int conta = 0;
  41.  
  42.     if (a.sinistro() == null && a.destro() == null) {  // E' FOGLIA!
  43.         return a.val();
  44.     }
  45.  
  46.     if (a.sinistro() != null) {
  47.         conta += contaFoglie(a.sinistro());
  48.     }
  49.  
  50.     if (a.destro() != null) {
  51.         conta += contaFoglie(a.destro());
  52.     }
  53.  
  54.     return conta;
  55.  
  56.  
  57. }
RAW Paste Data