CS-Swap / Algoritmi-1

Repository destinato alla condivisione di materiale e soluzioni per gli esercizi ed esami assegnati dal Prof. Monti Angelo in preparazione all'esame di Algoritmi 1
9 stars 1 forks source link

Esame - #3 - 17 Gen 2024 #57

Open rimaout opened 6 months ago

rimaout commented 6 months ago
image
Soluzione Prof image image
rimaout commented 6 months ago

Codice:

def es(p):

    if p == None:   # controlo se radice dell'albero è sanza figli
        return 0    # questo contollo serve solo per la prima chiamata

    if p.left == None and p.right ==None:   # nodo senza filgi
        return 0

    if p.letf != None and p.right == None:  # nodo con solo figlio sinistro
        return es(p.left)

    # nodo con due figli (controllo se è valido)
    if (p.left.key < p.key < p.right.key) or (p.left.key > p.key > p.right.key):
        return 1 + es(p.left) + es(p.right)

    # nodo con due figli (ma non valido)
    return es(p.left) + es(p.right)