A worklist algorithm is an algorithm that operates by iterating over sequence of work items (or work list items) and processes each work item, one at a time. The literature often calls this sequence of work items a worklist or workset, though some authors prefer the term work queue. A key property of a worklist algorithm is that processing one work item may add new items to the worklist.
Examples of worklist algorithms are - Martelli/Montanari's Unification algorithm - The MFP algorithm - IFDS and IDE
For many worklist algorithms in program analysis, the work items represent insights about the program under analysis, and duplicating elements will not change the outcome of the analysis.