Adloun

Files de priorité : le tas binaire

Cours · OCaml (option informatique), chapitre 19 · prépas MPSI et MP, option informatique · le début du chapitre, la suite sur Adloun

Un tas binaire et le tableau qui le représente : chaque parent est plus petit que ses enfants.

19.1 Introduction et motivation

Une file de priorité est une collection d'où l'on extrait toujours l'élément le plus prioritaire (ici, le plus petit) — comme un service d'urgences traite d'abord les cas les plus graves. C'est l'outil qui manquait au chapitre 16 : Dijkstra a besoin, à chaque étape, du sommet non traité de plus petite distance. Avec une liste ou un tableau, le trouver coûte ; une file de priorité bien faite le donne en .

La structure reine pour cela est le tas binaire, un arbre binaire presque complet rangé… dans un simple tableau (chapitre 5). Ce chapitre l'implémente — insertion, extraction du minimum, construction — puis en tire le tri par tas (chapitre 9) et une version efficace de Dijkstra (chapitre 16).

19.2 Le tas binaire

Définition 19.1Tas (min)

Un tas binaire est un arbre binaire presque complet (tous les niveaux remplis sauf peut-être le dernier, de gauche à droite) vérifiant la propriété de tas : tout nœud est ses enfants. Conséquence : le minimum est à la racine.

Exercices du chapitre

La suite du cours · Tous les exercices du chapitre