Skip to content

Commit

Permalink
vault backup: 2025-03-09 19:12:55
Browse files Browse the repository at this point in the history
  • Loading branch information
AglaiaNorza committed Mar 9, 2025
1 parent 042e64c commit 9d5703f
Show file tree
Hide file tree
Showing 5 changed files with 27 additions and 7 deletions.
Empty file added basi di dati 2/UML.md
Empty file.
Original file line number Diff line number Diff line change
Expand Up @@ -43,4 +43,4 @@
> - [[strutture dati]]
> - [[tipi generici]]
> - [[tipi primitivi]]
> - [[UML]]
> - [[metodologie di programmazione/UML]]
5 changes: 0 additions & 5 deletions progettazione di algoritmi/esercizi/distanza tra nodi.md

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
Dato un albero di $n$ nodi rappresentato tramite il vettore dei padri $P$ e un nodo $x$, progettare un algoritmo che in tempo $O(n)$ produce la lista dei nodi presenti nel sottoalbero radicato in $x$.

```python
def salbero(P):
n = len(P)
alb = [[] for _ in range(n)]

for i in range(n):
if P[i] != i: alb[P[i]].append(i)

return alb

def DFS(G, x, sottoalbero):
sottoalbero.append(x)
for i in G[x]:
DFS(G, i, sottoalbero)

return sottoalbero

G = salbero(P)
sottoalbero = DFS(G, x, [])
```

- salbero è $O(n)$
- $G$ è un albero, quindi $O(n+m)=O(n)$ per la DFS
2 changes: 1 addition & 1 deletion progettazione di algoritmi/progettazione di algoritmi.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,4 @@
>- [[0 - introduzione]]
>- [[1 - introduzione ai grafi]]
>- [[2 - visita DFS, colorabilità, componenti connesse]]
>- [[3 - sort topologico]]
>- [[3 - sort topologico]]

0 comments on commit 9d5703f

Please sign in to comment.