Algorisme |
Idea / Fórmula Matemàtica |
Usos Principals |
Selection Sort |
Complexitat: \(O(n^2)\) |
Ordenar llistes petites de manera senzilla |
Recursió |
\(T(n) = T(n-1) + f(n)\) |
Definir problemes en termes de subproblemes més petits |
Quicksort |
Complexitat mitjana: \(O(n \log n)\) |
Ordenar grans conjunts de dades de forma eficient |
Taules de dispersió (Hash Tables) |
Funció: \(h(x) = x \bmod m\) |
Cerca i inserció en \(O(1)\) de mitjana |
Cerca en amplada (BFS) |
Visita nivell a nivell |
Cerca de camins mínims en grafs no ponderats |
Arbres |
Estructura jeràrquica: nodes i fills |
Organització de dades, indexació |
Arbres equilibrats |
Alçada = \(O(\log n)\) |
Mantenir cerques i insercions eficients |
Algorisme de Dijkstra |
Relaxació: \(d[v] = \min(d[v],\, d[u] + w(u,v))\) |
Camí més curt en grafs amb pesos positius |
Algorismes golafres (Greedy) |
Elecció local òptima \(\rightarrow\) solució global |
Optimització (ex. canvi de monedes, MST) |
Programació dinàmica |
\(F(n) = \min/\max \; \text{sobre subsolucions}\) |
Problemes d’optimització (Knapsack, Fibonacci) |
K-Nearest Neighbors (KNN) |
\(\text{dist}(x,y) = \sqrt{\sum (x_i - y_i)^2}\) |
Classificació i predicció en ML |