Tries are data structures that store a set of strings and support efficient pattern matching operations. There are different types of tries including standard tries, compressed tries, and suffix tries. Standard tries use linear space but pattern matching operations take time linear in the pattern length. Compressed tries reduce the space usage by compressing chains of redundant nodes. Suffix tries store all suffixes of a text in linear space and support pattern matching in time linear in the pattern length. Tries have applications in text indexing for search engines as well as IP routing in computer networks.