← retour aux snippets

bisect: insertion dans liste triée

Maintenir une liste triée efficacement lors des insertions.

python algorithms #bisect#sorted

objectif

Maintenir une liste triée efficacement lors des insertions.

code minimal

import bisect
arr = [1, 3, 4, 10]
bisect.insort(arr, 2)
print(arr == [1,2,3,4,10])  # attendu: True

utilisation

import bisect
arr = [1,2,4]
idx = bisect.bisect_left(arr, 3)
print(idx == 2)

variante(s) utile(s)

import bisect
arr = [1,1,1]
print(bisect.bisect_right(arr, 1) == 3)

notes

  • bisect_left insère avant les égaux, bisect_right après.
  • Idéal pour files d’attente triées simples.