Incremental algorithms, or online algorithms, are algorithms in which only additions of elements are allowed, possibly starting from empty/trivial input data.
Decremental algorithms are algorithms in which only deletions of elements are allowed, starting with the initialization of a full data structure.
If both additions and deletions are allowed, the algorithm is sometimes called fully dynamic.
The problem may be solved in O(N) time.
This is just the priority queue maintenance problem allowing for insertions and deletions; it can be solved, for example, using a binary heap in O ( log N ) {\displaystyle O(\log N)} time for an update and O ( 1 ) {\displaystyle O(1)} time for a query, with O ( N ) {\displaystyle O(N)} setup time (i.e., the initial processing of the data). Note that the value of N may change during the life of the structure.
Given a graph, maintain its parameters, such as connectivity, maximal degree, shortest paths, etc., when insertion and deletion of its edges are allowed.1
Examples:
D. Eppstein, Z. Galil, and G. F. Italiano. "Dynamic graph algorithms". In CRC Handbook of Algorithms and Theory of Computation, Chapter 22. CRC Press, 1997. /wiki/D._Eppstein ↩
Eppstein, David; Italiano, Giuseppe; Nissenzweig, Amnon (1997). "Sparsification—a technique for speeding up dynamic graph algorithms". Journal of the ACM. 44 (5): 669–696. ↩
Henzinger, Monika; King, Valerie (2001). "Maintaining minimum spanning forests in dynamic graphs". SIAM Journal on Computing. 31 (2): 364–374. ↩