A tag is a keyword or label that categorizes your question with other, similar questions. Using the right tags makes it easier for others to find and answer your question.
a sequence of well-defined steps that defines an abstract solution to a problem. Use this tag when your issue is related to design and analysis of algorithms.
Questions related to the (computational) complexity of solving problems
Questions about graphs, discrete structures of nodes which are connected by edges. Popular flavors are trees and networks with edge capacity.
Questions related to formal languages, grammars, and automata theory
Questions about Turing machines, a theoretical model of mechanical computation capable of simulating any computer program.
The amount of time resources (number of atomic operations or machine steps) required to solve a problem expressed in terms of input size. If your question concerns algorithm analysis, use the [runti…
Questions about the science and art of determining properties of algorithms, often including correctness, runtime and space usage. Use the [runtime-analysis] tag for questions about the runtime of al…
Questions about ways of storing data so that it can be used advantageously by algorithms.
Questions related to computability theory, a.k.a. recursion theory
Questions about problems that entail selecting the best element from some set of available alternatives, and methods to solve them.
Questions about properties of the class of regular languages and individual languages.
Questions about mathematical devices that read an input stream symbol by symbol and use a state transition map to produce an output stream, maybe using secondary storage.
Questions about finite automata, an elementary automaton model with finite memory. It is equivalent to regular languages and the basis for many more complex models.
Questions about the set of languages (equivalently) described by context-free grammars or accepted by (non-deterministic) pushdown automata.
Questions about the hardest problems in NP, i.e. of those that can be solved in polynomial time by nondeterministic Turing machines.
Questions about asymptotic notations and analysis
Questions about how specific notions have to be understood as well as conventions of notation.
Questions about formal grammars, generative descriptions of formal languages.
Questions about computer algorithms that automatically discover patterns in data and make good decisions based on them.
In computability and complexity, finding mappings between problems that allow solving one problem using a solution of another one. For reduction in programming language theory (e.g. beta-reduction), s…
Questions about the organization and design of computer hardware.
Questions requesting papers in the literature on specific, narrow issues.
Questions about methods for estimating the increase in runtime of an algorithm as the input size increases.
Questions related to design, implementation, and analysis of programming languages. NOT for questions about how to program, which are off-topic on this site.
Questions related to mathematical logic and its use in computer science
Questions about problems which cannot be solved by any Turing machine.
the algorithmic problem of ordering a set of elements with respect to some ordering relation.
Questions about problems that can be solved by combining recursively obtained solutions of subproblems.
Questions about a special kind of graphs, namely connected and cycle-free ones.
Questions about algorithmic solutions of geometric problems, or other algorithms making usage of geometry.
Questions about regular expressions, a formalism to describe regular languages.
Questions about the principles of software that interfaces between hardware and applications.
at least as hard as NP-complete problems
Questions about general methods and techniques for proving multiple theorems. When asking about the proof of a single statement, use tags relating to what the proof is about instead.
Questions related to combinatorics and discrete mathematical structures
Algorithms for finding an element in some specified data-structure (most commonly, in a tree).