diff --git a/Alberi1/.gitignore b/Alberi1/.gitignore
new file mode 100644
index 0000000..13275f1
--- /dev/null
+++ b/Alberi1/.gitignore
@@ -0,0 +1,30 @@
+### IntelliJ IDEA ###
+out/
+!**/src/main/**/out/
+!**/src/test/**/out/
+.kotlin
+
+### Eclipse ###
+.apt_generated
+.classpath
+.factorypath
+.project
+.settings
+.springBeans
+.sts4-cache
+bin/
+!**/src/main/**/bin/
+!**/src/test/**/bin/
+
+### NetBeans ###
+/nbproject/private/
+/nbbuild/
+/dist/
+/nbdist/
+/.nb-gradle/
+
+### VS Code ###
+.vscode/
+
+### Mac OS ###
+.DS_Store
\ No newline at end of file
diff --git a/Alberi1/.idea/.gitignore b/Alberi1/.idea/.gitignore
new file mode 100644
index 0000000..13566b8
--- /dev/null
+++ b/Alberi1/.idea/.gitignore
@@ -0,0 +1,8 @@
+# Default ignored files
+/shelf/
+/workspace.xml
+# Editor-based HTTP Client requests
+/httpRequests/
+# Datasource local storage ignored files
+/dataSources/
+/dataSources.local.xml
diff --git a/Alberi1/.idea/misc.xml b/Alberi1/.idea/misc.xml
new file mode 100644
index 0000000..07115cd
--- /dev/null
+++ b/Alberi1/.idea/misc.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Alberi1/.idea/modules.xml b/Alberi1/.idea/modules.xml
new file mode 100644
index 0000000..520e7b8
--- /dev/null
+++ b/Alberi1/.idea/modules.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Alberi1/.idea/vcs.xml b/Alberi1/.idea/vcs.xml
new file mode 100644
index 0000000..6c0b863
--- /dev/null
+++ b/Alberi1/.idea/vcs.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Alberi1/Alberi1.iml b/Alberi1/Alberi1.iml
new file mode 100644
index 0000000..c90834f
--- /dev/null
+++ b/Alberi1/Alberi1.iml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Alberi1/src/NodoMain.java b/Alberi1/src/NodoMain.java
new file mode 100644
index 0000000..631bd37
--- /dev/null
+++ b/Alberi1/src/NodoMain.java
@@ -0,0 +1,84 @@
+class Nodo{
+ int dato;
+ Nodo left, right;
+
+ public Nodo(int dato, Nodo left, Nodo right) {
+ this.dato = dato;
+ this.left = left;
+ this.right = right;
+ }
+
+ static void stampa(Nodo n, int livello, String lr) {
+ if(n==null) return;
+ for(int i=0;i");
+ System.out.println(n.dato+lr);
+ stampa(n.left, livello+1,"L");
+ stampa(n.right, livello+1,"R");
+ }
+
+ /*
+ 0) fissate l'intestazione della funzione e
+ pensate che esista già e che funzioni
+ 1) caso base, trovare un caso in cui la risposta
+ è ovvia e non serve computazione
+ 2) cosa fare col dato attuale e cosa fare con i rimanenti
+
+ */
+
+ static int somma(Nodo albero) {
+ if(albero==null) return 0;
+ return albero.dato+somma(albero.left)+somma(albero.right);
+ }
+
+ static int conta(Nodo albero) {//conta quanti sono i nodi
+ if(albero==null) return 0;
+ return 1+conta(albero.left)+conta(albero.right);
+ }
+
+ static int contaFoglie(Nodo albero) {//conta quanti sono le foglie (nodi senza figli)
+ if(albero==null) return 0;
+ if (albero.left == null && albero.right == null) {
+ return 1;
+ } else {
+ return contaFoglie(albero.left) + contaFoglie(albero.right);
+ }
+ }
+
+ static Nodo insOrd(int val, Nodo albero) {
+ if(albero==null) return new Nodo(val, null, null);
+ if(val>albero.dato) return
+ new Nodo(albero.dato, albero.left, insOrd(val, albero.right));
+ return new Nodo(albero.dato, insOrd(val, albero.left), albero.right);
+ }
+ static boolean trova(Nodo albero, int valore) {
+ if(albero==null) return false;
+ else if(albero.dato==valore) return true;
+ else return trova(albero.left, valore) || trova(albero.right, valore);
+ }
+}
+
+
+
+public class NodoMain {
+ public static void main(String[] args) {
+ Nodo n1 = new Nodo(10, null, null);
+ Nodo n2 = new Nodo(5, null, null);
+ Nodo n3 = new Nodo(30, null, null);
+
+ n1.left = n2;
+ n1.right = n3;
+
+// Nodo.stampa(n1,0);
+
+ Nodo n4 = Nodo.insOrd(23, n1);
+ n4 = Nodo.insOrd(1, n4);
+ Nodo.stampa(n4,0,"");
+ System.out.println("Nodi: " + Nodo.conta(n4));
+ System.out.println("Foglie: " + Nodo.contaFoglie(n4));
+ System.out.println("Somma: " + Nodo.somma(n4));
+ System.out.println("Trovato 24? " + Nodo.trova(n4,24));
+ }
+
+}
\ No newline at end of file