Leçon 13 : Tas (heaps) et top-K
Imagine les urgences d'un hôpital : les patients ne sont pas traités par ordre d'arrivée, mais par urgence. La structure qui fait exactement ça s'appelle un « tas » (heap) — une file de priorité qui donne toujours un accès rapide à l'élément extrême (le plus petit ou le plus grand). En Python : heap
Un tas, c'est comme une file d'hôpital qui appelle toujours le patient le plus urgent suivant. Dans le heapq de Python, « le plus urgent » est simplement le nombre le plus petit.
- tas (heap)
- Une structure de données (file de priorité) qui permet push et pop en O(log n), et un peek en O(1) de l'élément extrême (min/max).
- tas-min (min-heap)
- Un tas où l'élément le plus petit est toujours à la racine ; le heapq de Python est un tas-min, et heappop renvoie le minimum.
- top-K
- Trouver les K plus grands (ou plus petits) éléments. Cela peut se faire en O(n log K) avec un tas de taille K, plus rapide qu'un tri complet.