by machine

finite state automata

pushdown automata

linear bounded automata

turing machines

by language

regular

context free

context sensitive

phrase structure

(uncomputable)

by algorithm

recursive descent parsing, top-down parser, predictive, no backtracking, LL(k) grammars, context free, only examines next k tokens, no left recursion, backup, backtracking, may not terminate at all, may take exponential time

skiplists, example, create sparser and sparser lists by randomly
selecting subelements, go along sparse list until you've gone to far,
then go down to next level, alternatively, can create a non-randomized,
amortized version of this algorithm

Bloom filters, similar to hashing, hash entries are just 1 bit each, indicating
whether that bucket has ever been used, if the Bloom filter returns false, the key has not
been previously added, if the Bloom filter returns true, the key may
have been added, or we may have a false
positive, repeat with multiple bits to get probability
estimates for false positives