Anteprima
Vedrai una selezione di 1 pagina su 4
Esercizi Informatica programmazione Python Pag. 1
1 su 4
D/illustrazione/soddisfatti o rimborsati
Disdici quando
vuoi
Acquista con carta
o PayPal
Scarica i documenti
tutte le volte che vuoi
Estratto del documento

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))

Data una matrice A NxM con M > N, scrivere una funzione che ritagli e restituisca una matrice quadrata Q NxN contenente 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
<pre><code>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

m = [[1, 2, 3, 4, 5],[10,20,30,40,50]]
print(sotto_matrice(m))
</code></pre>

<pre><code>def quad_mat(m):
    L = [0]*len(m)
    for i in range(len(m)):
        for j in m[i]:
            L[i] += j*j
    return L

m=[[1,2,3],[4,5,6]]
print(quad_mat(m))
</code></pre>

<pre><code>import random

def modifica(L, N):
    while len(L) < N:
        L.append(random.random())
    return L

L = [3,5]
N = 6
L = modifica(L, N)
print(L)
</code></pre>
N):L1 = []
L1 += L
Dettagli
A.A. 2021-2022
4 pagine
SSD Scienze matematiche e informatiche INF/01 Informatica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher stefanodenti06 di informazioni apprese con la frequenza delle lezioni di Fondamenti di informatica e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Università degli Studi di Firenze o del prof Paolucci Michela.