C’è mai una buona ragione per usare Insertion Sort?

Per l’ordinamento general-purpose, la risposta sembra essere no, poiché l’ordinamento rapido, l’ordinamento e l’ordinamento dell’heap tendono a ottenere risultati migliori negli scenari medi e peggiori. Tuttavia, l’ordinamento di inserimento sembra eccellere nell’ordinamento incrementale, ovvero aggiungere elementi a un elenco uno alla volta per un lungo periodo di tempo mantenendo l’elenco ordinato, soprattutto se l’ordinamento di inserimento è implementato come un elenco collegato (O (registro n) caso medio vs O (n)). Tuttavia, un heap sembra essere in grado di eseguire solo (o quasi) anche per l’ordinamento incrementale (l’aggiunta o la rimozione di un singolo elemento da un heap ha uno scenario peggiore di O (log n)). Che cosa offre esattamente l’ordinamento di inserzione rispetto ad altri algoritmi o heap di confronto basati su confronto?