Advanced Data Structures
Advanced Data Structures
UNIT-I
Dictionaries: Definition, Dictionary Abstract Data Type, Implementation of Dictionaries.
Hashing: Review of Hashing, Hash Function, Collision Resolution Techniques in Hashing, Separate
Chaining, Open Addressing, Linear Probing, Quadratic Probing, Double Hashing, Rehashing, Extendible
Hashing.
UNIT-II
Skip Lists: Need for Randomizing Data Structures and Algorithms, Search and Update Operations on
Skip Lists, Probabilistic Analysis of Skip Lists, Deterministic Skip Lists
UNIT-III
Trees: Binary Search Trees, AVL Trees, Red Black Trees, 2-3 Trees, B-Trees, Splay Trees
UNIT IV
Text Processing: Sting Operations, Brute-Force Pattern Matching, The Boyer-Moore Algorithm, The
Knuth-Morris-Pratt Algorithm, Standard Tries, Compressed Tries, Suffix Tries, The Huffman Coding
Algorithm, The Longest Common Subsequence Problem (LCS), Applying Dynamic Programming to the
LCS Problem.
UNIT -V
Computational Geometry: One Dimensional Range Searching, Two Dimensional Range Searching,
constructing a Priority Search Tree, Searching a Priority Search Tree, Priority Range Trees, Quad trees, k-
D Trees. Recent Trends in Hashing, Trees, and various computational geometry methods for efficiently
solving the new evolving problem
Suggested Readings:
1. Mark Allen Weiss, Data Structures and Algorithm Analysis in C++, 2nd Edition, Pearson, 2004.
2. M T Goodrich, Roberto Tamassia, Algorithm Design, John Wiley, 2002.