avl trees operations on avl trees searching for node in an avl tree red-black trees properties of red-black trees operations on red-black trees applications of red-black trees splay trees operations on splay trees advantages and disadvantages of splay trees multi-way search trees introduction to -way search trees trees searching for an element in tree inserting new element in tree deleting an element from tree applications of trees btrees inserting new element in btree deleting an element from btree - trees searching for an element in - tree inserting new element in - tree deleting an element from - tree trie heaps binary heaps inserting new element in binary heap deleting an element from binary heap applications of binary heaps binomial heaps linked representation of binomial heaps operations on binomial heaps fibonacci heaps structure of fibonacci heaps operations on fibonacci heaps comparison of binarybinomialand fibonacci heaps applications of heaps graphs introduction graph terminology directed graphs terminology of directed graph transitive closure of directed graph bi-connected components representation of graphs adjacency matrix representation adjacency list representation adjacency multi-list representation graph traversal algorithms breadth-first search algorithm depth-first search algorithm topological sorting shortest path algorithms minimum spanning trees prim' algorithm kruskal' algorithm dijkstra' algorithm warshall' algorithm