mirror of
https://github.com/jwasham/coding-interview-university.git
synced 2025-07-13 18:41:24 +08:00
Update README-it.md + Fixed Links
This commit is contained in:
@ -614,9 +614,9 @@ per testare la tua capacità nell'identificare la complessità del runtime di di
|
||||
|
||||
- ### Arrays
|
||||
- [ ] Riguardo gli Arrays:
|
||||
- [Arrays (Video in Inglese)](https://www.coursera.org/Lezione/data-structures/arrays-OsBSF)
|
||||
- [Arrays (Video in Inglese)](https://www.coursera.org/lecture/data-structures/arrays-OsBSF)
|
||||
- [UC Berkeley CS61B - Arrays Lineari e Multi-Dimensionali (Video in Inglese)](https://archive.org/details/ucberkeley_webcast_Wp8oiO_CZZE) (Comincia il video da 15m 32s)
|
||||
- [Arrays Dinamici (Video in Inglese)](https://www.coursera.org/Lezione/data-structures/dynamic-arrays-EwbnV)
|
||||
- [Arrays Dinamici (Video in Inglese)](https://www.coursera.org/lecture/data-structures/dynamic-arrays-EwbnV)
|
||||
- [Matrici Irregolari o Jagged Arrays (Video in Inglese)](https://www.youtube.com/watch?v=1jtrQqYpt7g)
|
||||
- [ ] Implementare un vettore (array mutabile con grandezza automatica):
|
||||
- [ ] Programma usando arrays, puntatori e l'aritmetica dei puntatori per raggiungere un index, piuttosto che usare l'indexing.
|
||||
@ -646,14 +646,14 @@ per testare la tua capacità nell'identificare la complessità del runtime di di
|
||||
|
||||
- ### Linked Lists
|
||||
- [ ] Descrizione:
|
||||
- [ ] [Liste Linkate Singolarmente (Video in Inglese)](https://www.coursera.org/Lezione/data-structures/singly-linked-lists-kHhgK)
|
||||
- [ ] [Liste Linkate Singolarmente (Video in Inglese)](https://www.coursera.org/lecture/data-structures/singly-linked-lists-kHhgK)
|
||||
- [ ] [CS 61B - Linked Lists 1 (Video in Inglese)](https://archive.org/details/ucberkeley_webcast_htzJdKoEmO0)
|
||||
- [ ] [CS 61B - Linked Lists 2 (Video in Inglese)](https://archive.org/details/ucberkeley_webcast_-c4I3gFYe3w)
|
||||
- [ ] [C Code (Video in Inglese)](https://www.youtube.com/watch?v=QN6FPiD0Gzo)
|
||||
- non il video intero, ma solo nozioni sulla struttura del nodo e l'allocazione della memoria
|
||||
- [ ] Linked List vs Arrays:
|
||||
- [Core Linked Lists Vs Arrays (Video in Inglese)](https://www.coursera.org/Lezione/data-structures-optimizing-performance/core-linked-lists-vs-arrays-rjBs9)
|
||||
- [Nel Mondo Reale, Linked Lists Vs Arrays (Video in Inglese)](https://www.coursera.org/Lezione/data-structures-optimizing-performance/in-the-real-world-lists-vs-arrays-QUaUd)
|
||||
- [Core Linked Lists Vs Arrays (Video in Inglese)](https://www.coursera.org/lecture/data-structures-optimizing-performance/core-linked-lists-vs-arrays-rjBs9)
|
||||
- [Nel Mondo Reale, Linked Lists Vs Arrays (Video in Inglese)](https://www.coursera.org/lecture/data-structures-optimizing-performance/in-the-real-world-lists-vs-arrays-QUaUd)
|
||||
- [ ] [Perché dovresti evitare le Linked Lists (Video in Inglese)](https://www.youtube.com/watch?v=YQs6IC-vgmo)
|
||||
- [ ] Ti aiuto un po': hai bisogno della conoscenza riguardo puntatori di puntatori:
|
||||
(per quando passi un puntatore ad una funzione che potrebbe cambiare l'indirizzo a cui il puntatore punta)
|
||||
@ -676,15 +676,15 @@ per testare la tua capacità nell'identificare la complessità del runtime di di
|
||||
- [ ] reverse() - reversa la lista
|
||||
- [ ] remove_value(value) - rimuove il primo elemento nella lista avente il valore dato
|
||||
- [ ] Liste Linkate Doppiamente
|
||||
- [Descrizione (Video in Inglese)](https://www.coursera.org/Lezione/data-structures/doubly-linked-lists-jpGKD)
|
||||
- [Descrizione (Video in Inglese)](https://www.coursera.org/lecture/data-structures/doubly-linked-lists-jpGKD)
|
||||
- Non c'è bisogno di implementarle
|
||||
|
||||
- ### Stack
|
||||
- [ ] [Stacks (Video in Inglese)](https://www.coursera.org/Lezione/data-structures/stacks-UdKzQ)
|
||||
- [ ] [Stacks (Video in Inglese)](https://www.coursera.org/lecture/data-structures/stacks-UdKzQ)
|
||||
- [ ] Non saranno implementati. Esercitarsi con l'array è quasi banale.
|
||||
|
||||
- ### Queue
|
||||
- [ ] [Queue (Video in Inglese)](https://www.coursera.org/Lezione/data-structures/queues-EShpq)
|
||||
- [ ] [Queue (Video in Inglese)](https://www.coursera.org/lecture/data-structures/queues-EShpq)
|
||||
- [ ] [Buffer Circolare/FIFO](https://en.wikipedia.org/wiki/Circular_buffer)
|
||||
- [ ] Implementazione usando le linked list, con puntatore alla coda:
|
||||
- enqueue(value) - aggiunge un valore alla posizione della coda
|
||||
@ -713,12 +713,12 @@ per testare la tua capacità nell'identificare la complessità del runtime di di
|
||||
- [ ] [(Avanzato) L'hashing perfetto (Video in Inglese)](https://www.youtube.com/watch?v=N0COwN14gt0&list=PL2B4EEwhKD-NbwZ4ezj7gyc_3yNrojKM9&index=4)
|
||||
|
||||
- [ ] Corsi Online:
|
||||
- [ ] [Core Hash Tables (Video in Inglese)](https://www.coursera.org/Lezione/data-structures-optimizing-performance/core-hash-tables-m7UuP)
|
||||
- [ ] [Core Hash Tables (Video in Inglese)](https://www.coursera.org/lecture/data-structures-optimizing-performance/core-hash-tables-m7UuP)
|
||||
- [ ] [Strutture Dati (Video in Inglese)](https://www.coursera.org/learn/data-structures/home/week/4)
|
||||
- [ ] [Problemi con gli Elenchi Telefonici (Video in Inglese)](https://www.coursera.org/Lezione/data-structures/phone-book-problem-NYZZP)
|
||||
- [ ] [Problemi con gli Elenchi Telefonici (Video in Inglese)](https://www.coursera.org/lecture/data-structures/phone-book-problem-NYZZP)
|
||||
- [ ] hash tables distribuite:
|
||||
- [Uploads Istantanei e Ottimizzazione dello Storage Su Dropbox (Video in Inglese)](https://www.coursera.org/Lezione/data-structures/instant-uploads-and-storage-optimization-in-dropbox-DvaIb)
|
||||
- [Hash Tables Distribuite (Video in Inglese)](https://www.coursera.org/Lezione/data-structures/distributed-hash-tables-tvH8H)
|
||||
- [Uploads Istantanei e Ottimizzazione dello Storage Su Dropbox (Video in Inglese)](https://www.coursera.org/lecture/data-structures/instant-uploads-and-storage-optimization-in-dropbox-DvaIb)
|
||||
- [Hash Tables Distribuite (Video in Inglese)](https://www.coursera.org/lecture/data-structures/distributed-hash-tables-tvH8H)
|
||||
|
||||
- [ ] Implementazione con gli array usando il sondaggio (probing) lineare
|
||||
- hash(k, m) - m è la grandezza dell'hash table
|
||||
@ -768,7 +768,7 @@ per testare la tua capacità nell'identificare la complessità del runtime di di
|
||||
## Alberi (Trees)
|
||||
|
||||
- ### Alberi - Appunti & Background
|
||||
- [ ] [Playlist: Alberi (Video in Inglese)](https://www.coursera.org/Lezione/data-structures/trees-95qda)
|
||||
- [ ] [Playlist: Alberi (Video in Inglese)](https://www.coursera.org/lecture/data-structures/trees-95qda)
|
||||
- costruzione basica di un albero
|
||||
- traversale
|
||||
- algoritmi per la manipolazione
|
||||
@ -790,7 +790,7 @@ per testare la tua capacità nell'identificare la complessità del runtime di di
|
||||
|
||||
- ### Alberi Binari di Ricerca: BSTs
|
||||
- [ ] [Review Alberi Binari di Ricerca (Video in Inglese)](https://www.youtube.com/watch?v=x6At0nzX92o&index=1&list=PLA5Lqm4uh9Bbq-E0ZnqTIa8LRaL77ica6)
|
||||
- [ ] [Introduzione (Video in Inglese)](https://www.coursera.org/learn/data-structures/Lezione/E7cXP/introduction)
|
||||
- [ ] [Introduzione (Video in Inglese)](https://www.coursera.org/learn/data-structures/lecture/E7cXP/introduction)
|
||||
- [ ] [MIT (Video in Inglese)](https://www.youtube.com/watch?v=76dhtgZt38A&ab_channel=MITOpenCourseWare)
|
||||
- C/C++:
|
||||
- [ ] [Alberi Binari di Ricerca - Implementazione in C/C++ (Video in Inglese)](https://www.youtube.com/watch?v=COZK7NATh4k&list=PL2_aWCzGMAwI3W_JlcBbtYTwiQSsOTa6P&index=28)
|
||||
@ -819,16 +819,16 @@ per testare la tua capacità nell'identificare la complessità del runtime di di
|
||||
- ### Heap / Coda di Priorita' / Heap Binario
|
||||
- visualizzato come un albero, ma è lineare nell'allocazione (array o linked list)
|
||||
- [ ] [Heap (Articolo in Inglese)](https://en.wikipedia.org/wiki/Heap_(data_structure))
|
||||
- [ ] [Introduzione (Video in Inglese)](https://www.coursera.org/Lezione/data-structures/introduction-2OpTs)
|
||||
- [ ] [Implementazione Ingenua (Video in Inglese)](https://www.coursera.org/learn/data-structures/Lezione/z3l9N/naive-implementations)
|
||||
- [ ] [Alberi Binari (Video in Inglese)](https://www.coursera.org/learn/data-structures/Lezione/GRV2q/binary-trees)
|
||||
- [ ] [Introduzione (Video in Inglese)](https://www.coursera.org/lecture/data-structures/introduction-2OpTs)
|
||||
- [ ] [Implementazione Ingenua (Video in Inglese)](https://www.coursera.org/learn/data-structures/lecture/z3l9N/naive-implementations)
|
||||
- [ ] [Alberi Binari (Video in Inglese)](https://www.coursera.org/learn/data-structures/lecture/GRV2q/binary-trees)
|
||||
- [ ] [Osservazione sull'Altezza Degli Alberi (Video in Inglese)](https://www.coursera.org/learn/data-structures/supplement/S5xxz/tree-height-remark)
|
||||
- [ ] [Operazioni Basiche (Video in Inglese)](https://www.coursera.org/learn/data-structures/Lezione/0g1dl/basic-operations)
|
||||
- [ ] [Alberi Binari Completi (Video in Inglese)](https://www.coursera.org/learn/data-structures/Lezione/gl5Ni/complete-binary-trees)
|
||||
- [ ] [Pseudocodice (Video in Inglese)](https://www.coursera.org/learn/data-structures/Lezione/HxQo9/pseudocode)
|
||||
- [ ] [Operazioni Basiche (Video in Inglese)](https://www.coursera.org/learn/data-structures/lecture/0g1dl/basic-operations)
|
||||
- [ ] [Alberi Binari Completi (Video in Inglese)](https://www.coursera.org/learn/data-structures/lecture/gl5Ni/complete-binary-trees)
|
||||
- [ ] [Pseudocodice (Video in Inglese)](https://www.coursera.org/learn/data-structures/lecture/HxQo9/pseudocode)
|
||||
- [ ] [Ordinamento Heap - consigli per iniziare (Video in Inglese)](https://youtu.be/odNJmw5TOEE?list=PLFDnELG9dpVxQCxuD-9BSy2E7BWY3t5Sm&t=3291)
|
||||
- [ ] [Ordinamento Heap (Video in Inglese)](https://www.coursera.org/Lezione/data-structures/heap-sort-hSzMO)
|
||||
- [ ] [Costruire un heap (Video in Inglese)](https://www.coursera.org/Lezione/data-structures/building-a-heap-dwrOS)
|
||||
- [ ] [Ordinamento Heap (Video in Inglese)](https://www.coursera.org/lecture/data-structures/heap-sort-hSzMO)
|
||||
- [ ] [Costruire un heap (Video in Inglese)](https://www.coursera.org/lecture/data-structures/building-a-heap-dwrOS)
|
||||
- [ ] [MIT: Heaps e Ordinamento Heap (Video in Inglese)](https://www.youtube.com/watch?v=B7hVxCmfPtM&index=4&list=PLUl4u3cNGP61Oq3tWYp6V_F-5jb5L2iHb)
|
||||
- [ ] [CS 61B Lezione 24: Code di Priorità (Video in Inglese)](https://archive.org/details/ucberkeley_webcast_yIUFT6AKBGE)
|
||||
- [ ] [Costruire un Heap (max-heap) (Video in Inglese)](https://www.youtube.com/watch?v=MiyLo8adrWw)
|
||||
@ -861,17 +861,17 @@ per testare la tua capacità nell'identificare la complessità del runtime di di
|
||||
- Per l'heapsort, leggi la struttura degli Heap sopra. Heap sort non è stabile, ma funziona bene
|
||||
|
||||
- [ ] [Sedgewick - Mergesort (5 video, in Inglese)](https://www.coursera.org/learn/algorithms-part1/home/week/3)
|
||||
- [ ] [1. Mergesort](https://www.coursera.org/Lezione/algorithms-part1/mergesort-ARWDq)
|
||||
- [ ] [2. Mergesort Dal Basso](https://www.coursera.org/learn/algorithms-part1/Lezione/PWNEl/bottom-up-mergesort)
|
||||
- [ ] [3. Complessità dell'Ordinamento](https://www.coursera.org/Lezione/algorithms-part1/sorting-complexity-xAltF)
|
||||
- [ ] [4. Comparatori](https://www.coursera.org/Lezione/algorithms-part1/comparators-9FYhS)
|
||||
- [ ] [5. Stabilità](https://www.coursera.org/learn/algorithms-part1/Lezione/pvvLZ/stability)
|
||||
- [ ] [1. Mergesort](https://www.coursera.org/lecture/algorithms-part1/mergesort-ARWDq)
|
||||
- [ ] [2. Mergesort Dal Basso](https://www.coursera.org/learn/algorithms-part1/lecture/PWNEl/bottom-up-mergesort)
|
||||
- [ ] [3. Complessità dell'Ordinamento](https://www.coursera.org/lecture/algorithms-part1/sorting-complexity-xAltF)
|
||||
- [ ] [4. Comparatori](https://www.coursera.org/lecture/algorithms-part1/comparators-9FYhS)
|
||||
- [ ] [5. Stabilità](https://www.coursera.org/learn/algorithms-part1/lecture/pvvLZ/stability)
|
||||
|
||||
- [ ] [Sedgewick - Quicksort (4 video)](https://www.coursera.org/learn/algorithms-part1/home/week/3)
|
||||
- [ ] [1. Quicksort](https://www.coursera.org/learn/algorithms-part1/Lezione/vjvnC/quicksort)
|
||||
- [ ] [2. Selezione](https://www.coursera.org/Lezione/algorithms-part1/selection-UQxFT)
|
||||
- [ ] [3. Chiavi Duplicate](https://www.coursera.org/Lezione/algorithms-part1/duplicate-keys-XvjPd)
|
||||
- [ ] [4. Metodi di Ordinamento del Sistema](https://www.coursera.org/Lezione/algorithms-part1/system-sorts-QBNZ7)
|
||||
- [ ] [1. Quicksort](https://www.coursera.org/learn/algorithms-part1/lecture/vjvnC/quicksort)
|
||||
- [ ] [2. Selezione](https://www.coursera.org/lecture/algorithms-part1/selection-UQxFT)
|
||||
- [ ] [3. Chiavi Duplicate](https://www.coursera.org/lecture/algorithms-part1/duplicate-keys-XvjPd)
|
||||
- [ ] [4. Metodi di Ordinamento del Sistema](https://www.coursera.org/lecture/algorithms-part1/system-sorts-QBNZ7)
|
||||
|
||||
- [ ] UC Berkeley:
|
||||
- [ ] [CS 61B Lezione 29: Sorting I (Video in Inglese)](https://archive.org/details/ucberkeley_webcast_EiUvYS2DT6I)
|
||||
@ -904,12 +904,12 @@ per testare la tua capacità nell'identificare la complessità del runtime di di
|
||||
|
||||
- [ ] Not required, but I recommended them:
|
||||
- [ ] [Sedgewick - Radix Sorts (6 video)](https://www.coursera.org/learn/algorithms-part2/home/week/3)
|
||||
- [ ] [1. Strings in Java](https://www.coursera.org/learn/algorithms-part2/Lezione/vGHvb/strings-in-java)
|
||||
- [ ] [2. Key Indexed Counting](https://www.coursera.org/Lezione/algorithms-part2/key-indexed-counting-2pi1Z)
|
||||
- [ ] [3. Least Significant Digit First String Radix Sort](https://www.coursera.org/learn/algorithms-part2/Lezione/c1U7L/lsd-radix-sort)
|
||||
- [ ] [4. Most Significant Digit First String Radix Sort](https://www.coursera.org/learn/algorithms-part2/Lezione/gFxwG/msd-radix-sort)
|
||||
- [ ] [5. 3 Way Radix Quicksort](https://www.coursera.org/Lezione/algorithms-part2/3-way-radix-quicksort-crkd5)
|
||||
- [ ] [6. Suffix Arrays](https://www.coursera.org/learn/algorithms-part2/Lezione/TH18W/suffix-arrays)
|
||||
- [ ] [1. Strings in Java](https://www.coursera.org/learn/algorithms-part2/lecture/vGHvb/strings-in-java)
|
||||
- [ ] [2. Key Indexed Counting](https://www.coursera.org/lecture/algorithms-part2/key-indexed-counting-2pi1Z)
|
||||
- [ ] [3. Least Significant Digit First String Radix Sort](https://www.coursera.org/learn/algorithms-part2/lecture/c1U7L/lsd-radix-sort)
|
||||
- [ ] [4. Most Significant Digit First String Radix Sort](https://www.coursera.org/learn/algorithms-part2/lecture/gFxwG/msd-radix-sort)
|
||||
- [ ] [5. 3 Way Radix Quicksort](https://www.coursera.org/lecture/algorithms-part2/3-way-radix-quicksort-crkd5)
|
||||
- [ ] [6. Suffix Arrays](https://www.coursera.org/learn/algorithms-part2/lecture/TH18W/suffix-arrays)
|
||||
- [ ] [Radix Sort](http://www.cs.yale.edu/homes/aspnes/classes/223/notes.html#radixSort)
|
||||
- [ ] [Radix Sort (Video in Inglese)](https://www.youtube.com/watch?v=xhr26ia4k38)
|
||||
- [ ] [Radix Sort, Counting Sort (linear time given constraints) (Video in Inglese)](https://www.youtube.com/watch?v=Nz1KZXbghj8&index=7&list=PLUl4u3cNGP61Oq3tWYp6V_F-5jb5L2iHb)
|
||||
@ -989,7 +989,7 @@ I grafi possono essere usati per rappresentare molti problemi in informatica, pe
|
||||
- Quando è appropriato usarla?
|
||||
- Perché la ricorsione in coda è migliore?
|
||||
- [ ] [Cos'è la ricorsione in coda e perché fa schifo? (Articolo in Inglese)](https://www.quora.com/What-is-tail-recursion-Why-is-it-so-bad)
|
||||
- [ ] [Ricorsione in Coda (Video in Inglese)](https://www.coursera.org/Lezione/programming-languages/tail-recursion-YZic1)
|
||||
- [ ] [Ricorsione in Coda (Video in Inglese)](https://www.coursera.org/lecture/programming-languages/tail-recursion-YZic1)
|
||||
|
||||
Backtracking Cheat-Sheet: [Java (Articolo in Inglese)](https://leetcode.com/problems/combination-sum/discuss/16502/A-general-approach-to-backtracking-questions-in-Java-(Subsets-Permutations-Combination-Sum-Palindrome-Partitioning))
|
||||
[Python (Articolo in Inglese)](https://leetcode.com/problems/combination-sum/discuss/429538/General-Backtracking-questions-solutions-in-Python-for-reference-%3A)
|
||||
@ -997,40 +997,40 @@ I grafi possono essere usati per rappresentare molti problemi in informatica, pe
|
||||
- Probabilmente non vedrai problemi di programmazione dinamica durante il tuo colloquio, ma è importante sapere classificare un problema come tale.
|
||||
- Questo argomento può essere complesso, dato che ogni soluzione per problemi di programmazione dinamica (DP) va realizata tramite ricorsione
|
||||
e questo potrebbe ingannare.
|
||||
- I suggest looking at many examples of DP problems until you have a solid understanding of the pattern involved.
|
||||
- [ ] video:
|
||||
- [ ] [Skiena: CSE373 2020 - Lezione 19 - Introduction to Dynamic Programming (Video in Inglese)](https://www.youtube.com/watch?v=wAA0AMfcJHQ&list=PLOtl7M3yp-DX6ic0HGT0PUX_wiNmkWkXx&index=18)
|
||||
- [ ] [Skiena: CSE373 2020 - Lezione 20 - Edit Distance (Video in Inglese)](https://www.youtube.com/watch?v=T3A4jlHlhtA&list=PLOtl7M3yp-DX6ic0HGT0PUX_wiNmkWkXx&index=19)
|
||||
- [ ] [Skiena: CSE373 2020 - Lezione 20 - Edit Distance (continued) (Video in Inglese)](https://www.youtube.com/watch?v=iPnPVcZmRbE&list=PLOtl7M3yp-DX6ic0HGT0PUX_wiNmkWkXx&index=20)
|
||||
- [ ] [Skiena: CSE373 2020 - Lezione 21 - Dynamic Programming (Video in Inglese)](https://www.youtube.com/watch?v=2xPE4Wq8coQ&list=PLOtl7M3yp-DX6ic0HGT0PUX_wiNmkWkXx&index=21)
|
||||
- [ ] [Skiena: CSE373 2020 - Lezione 21 - Dynamic Programming and Review (Video in Inglese)](https://www.youtube.com/watch?v=2xPE4Wq8coQ&list=PLOtl7M3yp-DX6ic0HGT0PUX_wiNmkWkXx&index=21)
|
||||
- [ ] [Simonson: Dynamic Programming 0 (starts at 59:18) (Video in Inglese)](https://youtu.be/J5aJEcOr6Eo?list=PLFDnELG9dpVxQCxuD-9BSy2E7BWY3t5Sm&t=3558)
|
||||
- [ ] [Simonson: Dynamic Programming I - Lezione 11 (Video in Inglese)](https://www.youtube.com/watch?v=0EzHjQ_SOeU&index=11&list=PLFDnELG9dpVxQCxuD-9BSy2E7BWY3t5Sm)
|
||||
- [ ] [Simonson: Dynamic programming II - Lezione 12 (Video in Inglese)](https://www.youtube.com/watch?v=v1qiRwuJU7g&list=PLFDnELG9dpVxQCxuD-9BSy2E7BWY3t5Sm&index=12)
|
||||
- [ ] List of individual DP problems (each is short):
|
||||
[Dynamic Programming (Video in Inglese)](https://www.youtube.com/playlist?list=PLrmLmBdmIlpsHaNTPP_jHHDx_os9ItYXr)
|
||||
- [ ] Yale Lezione notes:
|
||||
- [ ] [Dynamic Programming](http://www.cs.yale.edu/homes/aspnes/classes/223/notes.html#dynamicProgramming)
|
||||
- Consiglio di guardare molti esempi riguardo i problemi DP fino a che non comprenderai il meccanismo.
|
||||
- [ ] Video:
|
||||
- [ ] [Skiena: CSE373 2020 - Lezione 19 - Introduzione alla Programmazione Dinamica (Video in Inglese)](https://www.youtube.com/watch?v=wAA0AMfcJHQ&list=PLOtl7M3yp-DX6ic0HGT0PUX_wiNmkWkXx&index=18)
|
||||
- [ ] [Skiena: CSE373 2020 - Lezione 20 - Modifica della Distanza (Video in Inglese)](https://www.youtube.com/watch?v=T3A4jlHlhtA&list=PLOtl7M3yp-DX6ic0HGT0PUX_wiNmkWkXx&index=19)
|
||||
- [ ] [Skiena: CSE373 2020 - Lezione 20 - Modifica della Distanza (parte 2) (Video in Inglese)](https://www.youtube.com/watch?v=iPnPVcZmRbE&list=PLOtl7M3yp-DX6ic0HGT0PUX_wiNmkWkXx&index=20)
|
||||
- [ ] [Skiena: CSE373 2020 - Lezione 21 - Programmazione Dinamica (Video in Inglese)](https://www.youtube.com/watch?v=2xPE4Wq8coQ&list=PLOtl7M3yp-DX6ic0HGT0PUX_wiNmkWkXx&index=21)
|
||||
- [ ] [Skiena: CSE373 2020 - Lezione 21 - Revisione Programmazione Dinamica (Video in Inglese)](https://www.youtube.com/watch?v=2xPE4Wq8coQ&list=PLOtl7M3yp-DX6ic0HGT0PUX_wiNmkWkXx&index=21)
|
||||
- [ ] [Simonson: Programmazione Dinamica 0 (comincia a 59:18) (Video in Inglese)](https://youtu.be/J5aJEcOr6Eo?list=PLFDnELG9dpVxQCxuD-9BSy2E7BWY3t5Sm&t=3558)
|
||||
- [ ] [Simonson: Programmazione Dinamica I - Lezione 11 (Video in Inglese)](https://www.youtube.com/watch?v=0EzHjQ_SOeU&index=11&list=PLFDnELG9dpVxQCxuD-9BSy2E7BWY3t5Sm)
|
||||
- [ ] [Simonson: Programmazione Dinamica II - Lezione 12 (Video in Inglese)](https://www.youtube.com/watch?v=v1qiRwuJU7g&list=PLFDnELG9dpVxQCxuD-9BSy2E7BWY3t5Sm&index=12)
|
||||
- [ ] Lista di problemi DP individuali (ognuno di quelli presentati è breve):
|
||||
[Programmazione Dinamica (Video in Inglese)](https://www.youtube.com/playlist?list=PLrmLmBdmIlpsHaNTPP_jHHDx_os9ItYXr)
|
||||
- [ ] Appunti sulle lezioni di Yale:
|
||||
- [ ] [Programmazione Dinamica](http://www.cs.yale.edu/homes/aspnes/classes/223/notes.html#dynamicProgramming)
|
||||
- [ ] Coursera:
|
||||
- [ ] [The RNA secondary structure problem (Video in Inglese)](https://www.coursera.org/learn/algorithmic-thinking-2/Lezione/80RrW/the-rna-secondary-structure-problem)
|
||||
- [ ] [A dynamic programming algorithm (Video in Inglese)](https://www.coursera.org/Lezione/algorithmic-thinking-2/a-dynamic-programming-algorithm-PSonq)
|
||||
- [ ] [Illustrating the DP algorithm (Video in Inglese)](https://www.coursera.org/Lezione/algorithmic-thinking-2/illustrating-the-dp-algorithm-oUEK2)
|
||||
- [ ] [Running time of the DP algorithm (Video in Inglese)](https://www.coursera.org/learn/algorithmic-thinking-2/Lezione/nfK2r/running-time-of-the-dp-algorithm)
|
||||
- [ ] [DP vs. recursive implementation (Video in Inglese)](https://www.coursera.org/learn/algorithmic-thinking-2/Lezione/M999a/dp-vs-recursive-implementation)
|
||||
- [ ] [Global pairwise sequence alignment (Video in Inglese)](https://www.coursera.org/Lezione/algorithmic-thinking-2/global-pairwise-sequence-alignment-UZ7o6)
|
||||
- [ ] [Local pairwise sequence alignment (Video in Inglese)](https://www.coursera.org/learn/algorithmic-thinking-2/Lezione/WnNau/local-pairwise-sequence-alignment)
|
||||
- [ ] [Il problema della struttura secondaria dell'RNA (Video in Inglese)](https://www.coursera.org/learn/algorithmic-thinking-2/lecture/80RrW/the-rna-secondary-structure-problem)
|
||||
- [ ] [Un algoritmo di Programmazione Dinamica (Video in Inglese)](https://www.coursera.org/lecture/algorithmic-thinking-2/a-dynamic-programming-algorithm-PSonq)
|
||||
- [ ] [Illustrare l'algoritmo di DP (Video in Inglese)](https://www.coursera.org/lecture/algorithmic-thinking-2/illustrating-the-dp-algorithm-oUEK2)
|
||||
- [ ] [Tempo di esecuzioone di un algoritmo di DP (Video in Inglese)](https://www.coursera.org/learn/algorithmic-thinking-2/lecture/nfK2r/running-time-of-the-dp-algorithm)
|
||||
- [ ] [DP vs. implementazione della ricorsione (Video in Inglese)](https://www.coursera.org/learn/algorithmic-thinking-2/lecture/M999a/dp-vs-recursive-implementation)
|
||||
- [ ] [Pairwise Sequence Alignment Globale (Video in Inglese)](https://www.coursera.org/lecture/algorithmic-thinking-2/global-pairwise-sequence-alignment-UZ7o6)
|
||||
- [ ] [Pairwise Sequence Alignment Locale (Video in Inglese)](https://www.coursera.org/learn/algorithmic-thinking-2/lecture/WnNau/local-pairwise-sequence-alignment)
|
||||
|
||||
- ### Schemi Progettuali
|
||||
- [ ] [Revisione veloce di UML (Video in Inglese)](https://www.youtube.com/watch?v=3cmzqZzwNDM&list=PLGLfVvz_LVvQ5G-LdJ8RLqe-ndo7QITYc&index=3)
|
||||
- [ ] Learn these patterns:
|
||||
- [ ] strategia
|
||||
- [ ] Impara questi pattern:
|
||||
- [ ] strategy
|
||||
- [ ] singleton
|
||||
- [ ] adattatore
|
||||
- [ ] prototype
|
||||
- [ ] adapter
|
||||
- [ ] prototipo
|
||||
- [ ] decorator
|
||||
- [ ] visitor
|
||||
- [ ] factory, abstract factory
|
||||
- [ ] facade
|
||||
- [ ] factory, factory astratto
|
||||
- [ ] façade
|
||||
- [ ] observer
|
||||
- [ ] proxy
|
||||
- [ ] delegate
|
||||
@ -1040,13 +1040,13 @@ I grafi possono essere usati per rappresentare molti problemi in informatica, pe
|
||||
- [ ] iterator
|
||||
- [ ] composite
|
||||
- [ ] flyweight
|
||||
- [ ] [Series of video (27 video)](https://www.youtube.com/playlist?list=PLF206E906175C7E07)
|
||||
- [ ] [Book: Head First Design Patterns](https://www.amazon.com/Head-First-Design-Patterns-Freeman/dp/0596007124)
|
||||
- I know the canonical book is "Design Patterns: Elements of Reusable Object-Oriented Software", but Head First is great for beginners to OO.
|
||||
- [Handy reference: 101 Design Patterns & Tips for Developers](https://sourcemaking.com/design-patterns-and-tips)
|
||||
- [ ] [Serie di video (27 video in Inglese)](https://www.youtube.com/playlist?list=PLF206E906175C7E07)
|
||||
- [ ] [Libro: Prima i Design Patterns (Libro in Inglese)](https://www.amazon.com/Head-First-Design-Patterns-Freeman/dp/0596007124)
|
||||
- So che il libro canonico sarebbe "Design Patterns: Elements of Reusable Object-Oriented Software", ma questo proposto è migliore per i nuovi programmatori OO.
|
||||
- [Handy reference: 101 Design Pattern & Consigli per gli Sviluppatori](https://sourcemaking.com/design-patterns-and-tips)
|
||||
|
||||
- ### Calcolo Combinatorio (n sopra k) & Probabilita'
|
||||
- [ ] [Math Skills: How to find Factorial, Permutation and Combination (Choose) (Video in Inglese)](https://www.youtube.com/watch?v=8RRo6Ti9d0U)
|
||||
- [ ] [Conoscenze di Matematica: How to find Factorial, Permutation and Combination (Choose) (Video in Inglese)](https://www.youtube.com/watch?v=8RRo6Ti9d0U)
|
||||
- [ ] [Make School: Probability (Video in Inglese)](https://www.youtube.com/watch?v=sZkAAk9Wwa4)
|
||||
- [ ] [Make School: More Probability and Markov Chains (Video in Inglese)](https://www.youtube.com/watch?v=dNaJg-mLobQ)
|
||||
- [ ] Khan Academy:
|
||||
@ -1147,14 +1147,14 @@ I grafi possono essere usati per rappresentare molti problemi in informatica, pe
|
||||
- [ ] [How to write tests](http://jasonpolites.github.io/tao-of-testing/ch4-1.1.html)
|
||||
|
||||
- ### Ricerca Tramite Pattern-Matching e Manipolazione delle Stringhe
|
||||
- [ ] [Sedgewick - Suffix Arrays (Video in Inglese)](https://www.coursera.org/learn/algorithms-part2/Lezione/TH18W/suffix-arrays)
|
||||
- [ ] [Sedgewick - Suffix Arrays (Video in Inglese)](https://www.coursera.org/learn/algorithms-part2/lecture/TH18W/suffix-arrays)
|
||||
- [ ] [Sedgewick - Substring Search (video)](https://www.coursera.org/learn/algorithms-part2/home/week/4)
|
||||
- [ ] [1. Introduction to Substring Search](https://www.coursera.org/Lezione/algorithms-part2/introduction-to-substring-search-n3ZpG)
|
||||
- [ ] [2. Brute-Force Substring Search](https://www.coursera.org/learn/algorithms-part2/Lezione/2Kn5i/brute-force-substring-search)
|
||||
- [ ] [3. Knuth-Morris Pratt](https://www.coursera.org/learn/algorithms-part2/Lezione/TAtDr/knuth-morris-pratt)
|
||||
- [ ] [4. Boyer-Moore](https://www.coursera.org/learn/algorithms-part2/Lezione/CYxOT/boyer-moore)
|
||||
- [ ] [5. Rabin-Karp](https://www.coursera.org/Lezione/algorithms-part2/rabin-karp-3KiqT)
|
||||
- [ ] [Search pattern in text (Video in Inglese)](https://www.coursera.org/learn/data-structures/Lezione/tAfHI/search-pattern-in-text)
|
||||
- [ ] [1. Introduction to Substring Search](https://www.coursera.org/lecture/algorithms-part2/introduction-to-substring-search-n3ZpG)
|
||||
- [ ] [2. Brute-Force Substring Search](https://www.coursera.org/learn/algorithms-part2/lecture/2Kn5i/brute-force-substring-search)
|
||||
- [ ] [3. Knuth-Morris Pratt](https://www.coursera.org/learn/algorithms-part2/lecture/TAtDr/knuth-morris-pratt)
|
||||
- [ ] [4. Boyer-Moore](https://www.coursera.org/learn/algorithms-part2/lecture/CYxOT/boyer-moore)
|
||||
- [ ] [5. Rabin-Karp](https://www.coursera.org/lecture/algorithms-part2/rabin-karp-3KiqT)
|
||||
- [ ] [Search pattern in text (Video in Inglese)](https://www.coursera.org/learn/data-structures/lecture/tAfHI/search-pattern-in-text)
|
||||
|
||||
If you need more detail on this subject, see "String Matching" section in [Additional Detail on Some Subjects](#additional-detail-on-some-subjects).
|
||||
|
||||
@ -1163,14 +1163,14 @@ I grafi possono essere usati per rappresentare molti problemi in informatica, pe
|
||||
to track the path
|
||||
- I read through code, but will not implement
|
||||
- [ ] [Sedgewick - Tries (3 video)](https://www.coursera.org/learn/algorithms-part2/home/week/4)
|
||||
- [ ] [1. R Way Tries](https://www.coursera.org/learn/algorithms-part2/Lezione/CPVdr/r-way-tries)
|
||||
- [ ] [2. Ternary Search Tries](https://www.coursera.org/learn/algorithms-part2/Lezione/yQM8K/ternary-search-tries)
|
||||
- [ ] [3. Character Based Operations](https://www.coursera.org/learn/algorithms-part2/Lezione/jwNmV/character-based-operations)
|
||||
- [ ] [1. R Way Tries](https://www.coursera.org/learn/algorithms-part2/lecture/CPVdr/r-way-tries)
|
||||
- [ ] [2. Ternary Search Tries](https://www.coursera.org/learn/algorithms-part2/lecture/yQM8K/ternary-search-tries)
|
||||
- [ ] [3. Character Based Operations](https://www.coursera.org/learn/algorithms-part2/lecture/jwNmV/character-based-operations)
|
||||
- [ ] [Notes on Data Structures and Programming Techniques](http://www.cs.yale.edu/homes/aspnes/classes/223/notes.html#Tries)
|
||||
- [ ] Short course video:
|
||||
- [ ] [Introduction To Tries (Video in Inglese)](https://www.coursera.org/learn/data-structures-optimizing-performance/Lezione/08Xyf/core-introduction-to-tries)
|
||||
- [ ] [Performance Of Tries (Video in Inglese)](https://www.coursera.org/learn/data-structures-optimizing-performance/Lezione/PvlZW/core-performance-of-tries)
|
||||
- [ ] [Implementing A Trie (Video in Inglese)](https://www.coursera.org/learn/data-structures-optimizing-performance/Lezione/DFvd3/core-implementing-a-trie)
|
||||
- [ ] [Introduction To Tries (Video in Inglese)](https://www.coursera.org/learn/data-structures-optimizing-performance/lecture/08Xyf/core-introduction-to-tries)
|
||||
- [ ] [Performance Of Tries (Video in Inglese)](https://www.coursera.org/learn/data-structures-optimizing-performance/lecture/PvlZW/core-performance-of-tries)
|
||||
- [ ] [Implementing A Trie (Video in Inglese)](https://www.coursera.org/learn/data-structures-optimizing-performance/lecture/DFvd3/core-implementing-a-trie)
|
||||
- [ ] [The Trie: A Neglected Data Structure](https://www.toptal.com/java/the-trie-a-neglected-data-structure)
|
||||
- [ ] [TopCoder - Using Tries](https://www.topcoder.com/community/competitive-programming/tutorials/using-tries/)
|
||||
- [ ] [Stanford Lezione (real world use case) (Video in Inglese)](https://www.youtube.com/watch?v=TJ8SkcUSdbU)
|
||||
@ -1541,9 +1541,9 @@ You're never really done.
|
||||
- ### Information theory (video)
|
||||
- [Khan Academy](https://www.khanacademy.org/computing/computer-science/informationtheory)
|
||||
- More about Markov processes:
|
||||
- [Core Markov Text Generation](https://www.coursera.org/learn/data-structures-optimizing-performance/Lezione/waxgx/core-markov-text-generation)
|
||||
- [Core Implementing Markov Text Generation](https://www.coursera.org/learn/data-structures-optimizing-performance/Lezione/gZhiC/core-implementing-markov-text-generation)
|
||||
- [Project = Markov Text Generation Walk Through](https://www.coursera.org/learn/data-structures-optimizing-performance/Lezione/EUjrq/project-markov-text-generation-walk-through)
|
||||
- [Core Markov Text Generation](https://www.coursera.org/learn/data-structures-optimizing-performance/lecture/waxgx/core-markov-text-generation)
|
||||
- [Core Implementing Markov Text Generation](https://www.coursera.org/learn/data-structures-optimizing-performance/lecture/gZhiC/core-implementing-markov-text-generation)
|
||||
- [Project = Markov Text Generation Walk Through](https://www.coursera.org/learn/data-structures-optimizing-performance/lecture/EUjrq/project-markov-text-generation-walk-through)
|
||||
- See more in MIT 6.050J Information and Entropy series below
|
||||
|
||||
- ### Parity & Hamming Code (video)
|
||||
@ -1679,9 +1679,9 @@ You're never really done.
|
||||
attractive for data structures that may be built once and loaded without reconstruction, such as language
|
||||
dictionaries (or program dictionaries, such as the opcodes of an assembler or interpreter)
|
||||
- [MIT AVL Trees / AVL Sort (Video in Inglese)](https://www.youtube.com/watch?v=FNeL18KsWPc&list=PLUl4u3cNGP61Oq3tWYp6V_F-5jb5L2iHb&index=6)
|
||||
- [AVL Trees (Video in Inglese)](https://www.coursera.org/learn/data-structures/Lezione/Qq5E0/avl-trees)
|
||||
- [AVL Tree Implementation (Video in Inglese)](https://www.coursera.org/learn/data-structures/Lezione/PKEBC/avl-tree-implementation)
|
||||
- [Split And Merge](https://www.coursera.org/learn/data-structures/Lezione/22BgE/split-and-merge)
|
||||
- [AVL Trees (Video in Inglese)](https://www.coursera.org/learn/data-structures/lecture/Qq5E0/avl-trees)
|
||||
- [AVL Tree Implementation (Video in Inglese)](https://www.coursera.org/learn/data-structures/lecture/PKEBC/avl-tree-implementation)
|
||||
- [Split And Merge](https://www.coursera.org/learn/data-structures/lecture/22BgE/split-and-merge)
|
||||
|
||||
- **Splay trees**
|
||||
- In practice:
|
||||
@ -1844,12 +1844,12 @@ You're never really done.
|
||||
|
||||
|
||||
- **Union-Find**
|
||||
- [Overview](https://www.coursera.org/learn/data-structures/Lezione/JssSY/overview)
|
||||
- [Naive Implementation](https://www.coursera.org/learn/data-structures/Lezione/EM5D0/naive-implementations)
|
||||
- [Trees](https://www.coursera.org/learn/data-structures/Lezione/Mxu0w/trees)
|
||||
- [Union By Rank](https://www.coursera.org/learn/data-structures/Lezione/qb4c2/union-by-rank)
|
||||
- [Path Compression](https://www.coursera.org/learn/data-structures/Lezione/Q9CVI/path-compression)
|
||||
- [Analysis Options](https://www.coursera.org/learn/data-structures/Lezione/GQQLN/analysis-optional)
|
||||
- [Overview](https://www.coursera.org/learn/data-structures/lecture/JssSY/overview)
|
||||
- [Naive Implementation](https://www.coursera.org/learn/data-structures/lecture/EM5D0/naive-implementations)
|
||||
- [Trees](https://www.coursera.org/learn/data-structures/lecture/Mxu0w/trees)
|
||||
- [Union By Rank](https://www.coursera.org/learn/data-structures/lecture/qb4c2/union-by-rank)
|
||||
- [Path Compression](https://www.coursera.org/learn/data-structures/lecture/Q9CVI/path-compression)
|
||||
- [Analysis Options](https://www.coursera.org/learn/data-structures/lecture/GQQLN/analysis-optional)
|
||||
|
||||
- **More Dynamic Programming** (video)
|
||||
- [6.006: Dynamic Programming I: Fibonacci, Shortest Paths](https://www.youtube.com/watch?v=r4-cftqTcdI&ab_channel=MITOpenCourseWare)
|
||||
@ -1878,9 +1878,9 @@ You're never really done.
|
||||
|
||||
- **String Matching**
|
||||
- Rabin-Karp (video):
|
||||
- [Rabin Karps Algorithm](https://www.coursera.org/Lezione/data-structures/rabin-karps-algorithm-c0Qkw)
|
||||
- [Precomputing](https://www.coursera.org/learn/data-structures/Lezione/nYrc8/optimization-precomputation)
|
||||
- [Optimization: Implementation and Analysis](https://www.coursera.org/learn/data-structures/Lezione/h4ZLc/optimization-implementation-and-analysis)
|
||||
- [Rabin Karps Algorithm](https://www.coursera.org/lecture/data-structures/rabin-karps-algorithm-c0Qkw)
|
||||
- [Precomputing](https://www.coursera.org/learn/data-structures/lecture/nYrc8/optimization-precomputation)
|
||||
- [Optimization: Implementation and Analysis](https://www.coursera.org/learn/data-structures/lecture/h4ZLc/optimization-implementation-and-analysis)
|
||||
- [Table Doubling, Karp-Rabin](https://www.youtube.com/watch?v=BRO7mVIFt08&list=PLUl4u3cNGP61Oq3tWYp6V_F-5jb5L2iHb&index=9)
|
||||
- [Rolling Hashes, Amortized Analysis](https://www.youtube.com/watch?v=w6nuXg0BISo&list=PLUl4u3cNGP61Oq3tWYp6V_F-5jb5L2iHb&index=32)
|
||||
- Knuth-Morris-Pratt (KMP):
|
||||
|
Reference in New Issue
Block a user