Zájemcům mohu zapůjčit/dodat v elektronické podobě:

[Sedgewick] Algorithms in C++, Parts 1–4: Fundamentals, Data Structure, Sorting, Searching, Third Edition

[CLRS] T. H. Cormen, C. E. Leiserson, R. L. Rivest, C. Stein: Introduction to Algorithms, 3rd ed., MIT Press, 2009,

Text processing trees

.

2.3.


Trie
Suffix trie

16.3.


binary trie
radix trie

‘Radix tree’ = ‘radix trie’ = ‘patricia trie’: compressed trie, every internal node has at least two leaves.


Pattern Matching

Aho-Corasick

Knuth-Morris-Pratt

Boyer-Moore

Rabin-Karp

Finite automata (many variants)

More trees

Segment tree (geometry)

Treap

To implement

cycle detection ( hare and tortoise )

maximum matching in bipartite graphs (weighted and unweighted)

maximum flow (Ford-Fulkerson, Dinic )

convex hull

sweep line

Even more?

Huffman coding (static and dynamic )

Minimax, Alpha-beta pruning

Google Page rank


Other sources

http://cseweb.ucsd.edu/~kube/cls/100/lectures.html