Docsity
Docsity

Prepara i tuoi esami
Prepara i tuoi esami

Studia grazie alle numerose risorse presenti su Docsity


Ottieni i punti per scaricare
Ottieni i punti per scaricare

Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium


Guide e consigli
Guide e consigli


Esercizi di Programmazione in Python: Alberi Binari, Matrici e Liste - Prof. Paolucci, Prove d'esame di Fondamenti di informatica

Esercizi in preparazione per lo svolgimento dell' Appello di fondamenti di Informatica, programmazione in Python

Tipologia: Prove d'esame

2021/2022

In vendita dal 28/06/2022

stefano-denti
stefano-denti 🇮🇹

4.9

(7)

31 documenti

1 / 4

Toggle sidebar

Questa pagina non è visibile nell’anteprima

Non perderti parti importanti!

bg1
'''
Scrivere una funzione che dati due alberi binari di ricerca b1 e b2 restituisca
una lista con gli elementi comuni a b1 e b2
'''
#Ragionamento : si procede visitando b1 e si guarda se per ogni elemento di b1
#ne corrisponde uno di b2
import tree
def tree_intersection(b1,b2):
intersection=[]
to_visit = []
to_visit.append(b1)
while to_visit:
n = to_visit.pop(0)
found, found_node = tree.search(b2, n.data)
if found:
intersection.append(n.data)
if n.left:
to_visit.append(n.left)
if n.right:
to_visit.append(n.right)
return intersection
tree1 = tree.populate_tree_from([4,10,-20,3,15])
tree2 = tree.populate_tree_from([2,3,15,70,-40,4])
print(tree_intersection(tree1, tree2))
#%%
pf3
pf4

Anteprima parziale del testo

Scarica Esercizi di Programmazione in Python: Alberi Binari, Matrici e Liste - Prof. Paolucci e più Prove d'esame in PDF di Fondamenti di informatica solo su Docsity!

Scrivere una funzione che dati due alberi binari di ricerca b1 e b2 restituisca una lista con gli elementi comuni a b1 e b ''' #Ragionamento : si procede visitando b1 e si guarda se per ogni elemento di b #ne corrisponde uno di b import tree def tree_intersection(b1,b2): intersection=[] to_visit = [] to_visit.append(b1) while to_visit: n = to_visit.pop(0) found, found_node = tree.search(b2, n.data) if found: intersection.append(n.data) if n.left: to_visit.append(n.left) if n.right: to_visit.append(n.right) return intersection tree1 = tree.populate_tree_from([4,10,-20,3,15]) tree2 = tree.populate_tree_from([2,3,15,70,-40,4]) print(tree_intersection(tree1, tree2)) #%%

'''Data una matrice A NxM con M>N, scrivere una funzione che ritagli e restituisca una matrice quadrata Q NxN contentente l'elemento A00 e stampi il numero di colonne escluse e gli elementi esclusi colonna per colonna esempio: A = 1 2 3 4 5 6 Q = 1 2 4 5 Esempio Stampa : N_col = 1 3 6 ''' def sotto_matrice(mat): N = len(mat) #righe M = len(mat[0]) #colonne print(N, M) Q = [] for i in range(N): Q.append(mat[i][0:N]) print(f' Numero colonne escluse : {M-N}') for j in range(N, M): for i in range(N): print(mat[i][j]) return Q

L1 = []

L1 += L

for i in range(N-len(L)): L1.append(random.randint()) return L L = [3,5] N = 6 print(modifica(L, N))