A static algorithm is one that computes the result of a query about the output for a single, fixed input. For example, a static sorting algorithm is one that takes as input a set of keys, and permits queries about the relative order of these keys according to some ordering relation. A dynamic, or incremental, algorithm is one that permits queries about the output to be interleaved with operations that incrementally modify the input. For example, a dynamic sorting algorithm is one that would permit insertion or deletion of keys to be interleaved with queries about their relative ordering.
KeywordsModal Logic Dynamic Version Static Algorithm Sorting Algorithm Dynamic Algorithm
- 1.Acar, U.A., Blelloch, G.E., Harper, R.: Adaptive functional programming. In: Proceedings of the 29th Annual ACM Symposium on Principles of Programming Languages, pp. 247–259 (2002)Google Scholar
- 2.Acar, U.A., Blelloch, G.E., Harper, R.: Adaptive memoization. Technical report, Department of Computer Science, Carnegie Mellon University (March 2003), Available at http://www.cs.cmu.edu/~rwh/papers.htm#admem
- 3.Acar, U.A., Blelloch, G.E., Harper, R.: Selective memoization. In: Proceedings of the 30th Annual ACM Symposium on Principles of Programming Languages (2003)Google Scholar
- 4.Acar, U.A., Blelloch, G.E., Harper, R., Vittes, J.L., Woo, M.: Dynamizing static algorithms with applications to dynamic trees and history independence. In: ACM-SIAM Symposium on Discrete Algorithms, SODA (2004)Google Scholar
- 5.Acar, U.A., Blelloch, G.E., Vittes, J.L.: Convex hulls for dynamic data (2004) (in preparation)Google Scholar
- 6.Dietz, P.F., Sleator, D.D.: Two algorithms for maintaining order in a list. In: Proceedings of the 19th ACM Symposium on Theory of Computing, pp. 365–372 (1987)Google Scholar