diff --git a/content/Funzione di Ackermann.md b/content/Funzione di Ackermann.md index 3d93b5a..dd4a28a 100644 --- a/content/Funzione di Ackermann.md +++ b/content/Funzione di Ackermann.md @@ -2,3 +2,6 @@ tags: - Algoritmi/PrimaProva --- +# Funzione di Ackermann + +Usiamo la [[Notazione di Knuth|Notazione 'uparrow' di Knuth:]] $\uparrow$  diff --git a/content/Heap Binomiali.md b/content/Heap Binomiali.md index 0699bd2..30146e9 100644 --- a/content/Heap Binomiali.md +++ b/content/Heap Binomiali.md @@ -2,4 +2,5 @@ tags: - Algoritmi/PrimaProva - Algoritmi/StruttureDati + - Algoritmi/MergeableHeap --- diff --git a/content/Heap di Fibonacci.md b/content/Heap di Fibonacci.md index b19e4bd..9870ee4 100644 --- a/content/Heap di Fibonacci.md +++ b/content/Heap di Fibonacci.md @@ -2,5 +2,6 @@ tags: - Algoritmi/PrimaProva - Algoritmi/StruttureDati + - Algoritmi/MergeableHeap draft: false --- diff --git a/content/Mergeable Heaps.md b/content/Mergeable Heaps.md index b0c1385..48613d5 100644 --- a/content/Mergeable Heaps.md +++ b/content/Mergeable Heaps.md @@ -1,7 +1,8 @@ --- tags: - Algoritmi/PrimaProva - - Algoritmi + - Algoritmi/StruttureDati + - Algoritmi/MergeableHeap --- [[Algoritmi/Heap Binomiali|Heap Binomiali]] diff --git a/content/Metodo degli Accantonamenti.md b/content/Metodo degli Accantonamenti.md index 8ddab7e..430b35d 100644 --- a/content/Metodo degli Accantonamenti.md +++ b/content/Metodo degli Accantonamenti.md @@ -5,24 +5,30 @@ tags: --- # Metodo degli Accantonamenti -Nel metodo degli accantonamenti assegnamo costi variabili a operazioni differenti: cioè qualche operazione potrebbe avere costo maggiore o minore del suo effettivo costo reale. Quando il costo assegnato di un'operazione supera il costo effettivo, la differenza viene assegnata a specifici oggetti della struttura dati sotto forma di _credito_. (concetto logico, assolutamente virtuale).
-Questo credito, sempre **non negativo**, viene depositato o prelevato a seconda delle esigenze. -In questo caso, le operazioni hanno costo variabile (e quindi non è lo stesso per tutte le operazioni), per cui, la scelta dei costi ammortizzati è di fondamentale importanza.
-Siano $op_{1},op_{2},\dots,op_{n}$ le nostre operazioni, e
-$c_{i}=_{def}\text{costo-reale}(op_{i})$
-$\hat{c}_{i}=_{def}\text{costo-ammortizzato}(op_{i}) \qquad$ Definito da noi. +Nel metodo degli accantonamenti assegnamo costi variabili a operazioni differenti: cioè qualche operazione potrebbe avere costo maggiore o minore del suo effettivo costo reale. Quando il costo assegnato di un'operazione supera il costo effettivo, la differenza viene assegnata a specifici oggetti della struttura dati sotto forma di _credito_. (concetto logico, assolutamente virtuale).  -Obiettivo: definire i costi ammortizzati in modo tale che valga: +Questo credito, sempre **non negativo**, viene depositato o prelevato a seconda delle esigenze.  -$T(n) = \displaystyle\sum^n_{i=1}c_{i}\leq \sum^n_{i=1}\hat{c}_{i}$ +In questo caso, le operazioni hanno costo variabile (e quindi non è lo stesso per tutte le operazioni), per cui, la scelta dei costi ammortizzati è di fondamentale importanza.   +Siano $op_{1},op_{2},\dots,op_{n}$ le nostre operazioni, e  -Se $\hat{c}_{i}>c_{i}, \text{ allora } c_{i}$ unità di costo sono utilizzate per pagare il costo della i-esima operazione $op_{i}$.
-Se $\hat{c}_{i}Definito da noi.  -A questo punto, viene raggiunto l'obiettivo prefissato pocanzi. +Obiettivo: definire i costi ammortizzati in modo tale che valga:  + +$T(n) = \displaystyle\sum^n_{i=1}c_{i}\leq \sum^n_{i=1}\hat{c}_{i}$  + +Se $\hat{c}_{i}>c_{i}, \text{ allora } c_{i}$ unità di costo sono utilizzate per pagare il costo della i-esima operazione $op_{i}$.  + +Se $\hat{c}_{i}[!example] Esempi: +>- [[Stack Multipop#Multipop con Metodo degli Accantonamenti Accantonamenti|Stack Multipop]] +>- [[Contatore binario#Contatore Binario con Metodo degli Accantonamenti Accantonamenti|Contatore Binario]] -Esempi: -- [[Stack Multipop#Multipop con Metodo degli Accantonamenti Accantonamenti|Stack Multipop]] -- [[Contatore binario#Contatore Binario con Metodo degli Accantonamenti Accantonamenti|Contatore Binario]] \ No newline at end of file diff --git a/content/Metodo del Potenziale.md b/content/Metodo del Potenziale.md index e69de29..23b53f7 100644 --- a/content/Metodo del Potenziale.md +++ b/content/Metodo del Potenziale.md @@ -0,0 +1,6 @@ +--- +tags: + - Algoritmi/PrimaProva + - Algoritmi/AnalisiAmmortizzata +--- +Anziché rappresentare il lavoro prepagato come credito memorizzato su specifici oggetti nella struttura dati \ No newline at end of file diff --git a/content/Metodo dell'Aggregazione.md b/content/Metodo dell'Aggregazione.md index 4ab0233..89ed6c8 100644 --- a/content/Metodo dell'Aggregazione.md +++ b/content/Metodo dell'Aggregazione.md @@ -1,13 +1,14 @@ --- tags: - - Algoritmi - Algoritmi/PrimaProva + - Algoritmi/AnalisiAmmortizzata draft: false --- Consiste nello stimare il costo $\mathbf{T}(n)$ di $n$ operazioni e di equidistribuire tale costo tra le $n$ operazioni $\left( \dfrac{\mathbf{T}(n)}{n} \right)$ Tutte le operazioni hanno lo stesso costo ammortizzato. -Esempi: -- [[Stack Multipop#Multipop con Metodo dell'Aggregazione Aggregazione|Stack Multipop]] -- [[Contatore binario#Contatore Binario con Metodo dell'Aggregazione Aggregazione|Contatore Binario]] + +>[!example] Esempi: +> - [[Stack Multipop#Multipop con Metodo dell'Aggregazione Aggregazione|Stack Multipop]] +> - [[Contatore binario#Contatore Binario con Metodo dell'Aggregazione Aggregazione|Contatore Binario]] diff --git a/content/Notazione di Knuth.md b/content/Notazione di Knuth.md index b91015e..1461b5d 100644 --- a/content/Notazione di Knuth.md +++ b/content/Notazione di Knuth.md @@ -3,3 +3,4 @@ tags: - Algoritmi/PrimaProva draft: true --- +# Notazione $\uparrow$ di Knuth \ No newline at end of file diff --git a/content/Splay Tree.md b/content/Splay Tree.md index 4c69562..037270d 100644 --- a/content/Splay Tree.md +++ b/content/Splay Tree.md @@ -2,5 +2,5 @@ tags: - Algoritmi/StruttureDati - Algoritmi/PrimaProva -draft: true +draft: false --- diff --git a/content/Union-Find.md b/content/Union-Find.md index 3069339..063f355 100644 --- a/content/Union-Find.md +++ b/content/Union-Find.md @@ -3,5 +3,6 @@ tags: - Algoritmi - Algoritmi/PrimaProva - Algoritmi/StruttureDati -draft: true +draft: false --- +# Strutture dati per insiemi disgiunti \ No newline at end of file diff --git a/content/index.md b/content/index.md index e15ec6a..6b4abbf 100644 --- a/content/index.md +++ b/content/index.md @@ -13,23 +13,21 @@ Questa pagina funge da indice. _(esiste solo perché quartz🪴 lo richiede)_ -Currently working on: [[Prima Itinere]] +Currently working on: [[Prima Itinere]]  ## Prima Parte -- [[Alberi Binomiali]] -- [[Analisi Ammortizzata]] -- [[B-Tree]] -- [[Contatore binario]] -- [[Funzione di Ackermann]] -- [[Heap Binomiali]] -- [[Heap di Fibonacci]] -- [[Union-Find]] -- [[Kruskal's Algorithm]] -- [[Mergeable Heaps]] -- [[Move To Front]] + +- [[Analisi Ammortizzata]]: + - [[Metodo dell'Aggregazione]] + - [[Metodo degli Accantonamenti]] + - [[Metodo del Potenziale]] +- Strutture Dati: + - [[Splay Tree]] + - [[B-Tree]] + - [[Alberi Binomiali]] + - [[Mergeable Heaps]] + - [[Union-Find]] - [[Notazione di Knuth]] -- [[Prim's Algorithm]] -- [[Splay Tree]] -- [[Stack Multipop]] +- [[Funzione di Ackermann]] ## Seconda Parte - TBD \ No newline at end of file