This group gathers pioneers of theory of computation whose primary contribution was designing and analyzing algorithms and data structures for general computational problems, including sorting and searching, graph algorithms, numerical and matrix algorithms, randomized and approximation algorithms, data compression, coding theory, and the data structures such as hash tables, B-trees and Fibonacci heaps that support them. It follows the Design and analysis of algorithms second-level heading of the ACM Computing Classification System under Theory of Computation. Their shared work is stating an algorithm precisely and proving how much time, space or other resource it needs, as distinct from classifying which problems admit an efficient algorithm at all, which belongs to Computational Complexity Theory, or building a cryptographic scheme, which belongs to Cryptography and Cryptanalysis.