There are many basic graph algorithms such as topological sort, strongly/weakly connected components, all-pairs/single-source shortest paths, reachability and so on. Incremental variants of these algorithms have a variety of important practical applications. By "incremental" I mean those graph algorithms that can compute small changes to their outputs given small changes (e.g. edge insertion and deletion) to the input graph without having to recompute everything. For example, a garbage collector accumulating the subgraph of heap allocated blocks reachable from the global roots. However, I do not recall seeing the subject of incremental graph algorithms discussed outside domain-specific literature (e.g. Richard Jones' new book on GC).
Where can I find information on incremental graph algorithms or, for that matter, incremental algorithms in general?
There's a survey article by Eppstein, Galil, and Italiano from 1999. They would describe what you're looking for as "fully dynamic algorithms"; "partially dynamic algorithms" are divided into "incremental algorithms", which allow only insertions, and "decremental algorithms", which allow only deletions.
Beyond that, I suspect you're going to have to read the research literature – there are only a handful of researchers who work on dynamic graph algorithms. You should be able to find articles by examining the papers that cite the survey.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With