21. Treap: Treap is a data structure that combines binary tree and binary heap (hence the name: tree + heap ⇒ Treap).
More specifically, treap is a data structure that stores pairs (X, Y) in a binary tree in such a way that it is a binary search tree by X and a binary heap by Y
22. Aho-Corasick: The Aho-Corasick algorithm constructs a data structure similar to a trie with some additional links, and then constructs a finite state machine (automaton) in O(mk) time, where k is the size of the used alphabet.
23. K-d tree: A K-D Tree(also called as K-Dimensional Tree) is a binary search tree where data in each node is a K-Dimensional point in space.
24. Splay Tree: A splay tree is a binary search tree with the additional property that recently accessed elements are quick to access again.
Like self-balancing binary search trees, it performs basic operations such as insertion, look-up and removal in O(log n) amortized time.
25. Palindromic Tree: Palindromic Tree’s actual structure is close to the directed graph. It is actually a merged structure of two Trees that share some common nodes
26. Ropes: A Rope is a binary tree structure where each node except the leaf nodes, contains the number of characters present to the left of that node.
27. Dancing Links: Dancing links is a technique for reverting the operation of deleting a node from a circular doubly linked list.
28. Radix Tree: Radix tree is a data structure that represents a space-optimized trie (prefix tree) in which each node that is the only child is merged with its parent.
29. Dynamic Suffix Array: Dynamic suffix array is a suffix data structure that reflects various patterns in a mutable string.
Dynamic suffix array is rather convenient for performing substring search queries over database indexes that are frequently modified.
30. Big O Notation: Big O notation is a mathematical notation that describes the limiting behaviour of a function when the argument tends towards a particular value or infinity.