Advanced Data Structures and Algorithms
Technical Publications, 2008 - 614 pages
C++ class overview - Class definition, Objects, Class members, Access control, Class scope, Constructors and destructors, Parameter passing methods, Inline functions, Static class members, This pointer, Friend functions, Dynamic memory allocation and deallocation (new and delete), Exception handling.
Function overloading, Operator overloading, Generic programming - Function and class templates, Inheritance basics, Base and derived classes, Inheritance types, Base class access control, Runtime polymorphism using virtual functions, Abstract classes, Streams I/O.
Algorithms, Performance analysis-time complexity and space complexity, O-notation, Omega notation and Theta notation, Review of basic data structures - The list ADT, Stack ADT, Queue ADT, Implementation using template classes in C++, Sparse matrix representation.
Dictionaries, Linear list representation, Skip list representation, Operations - Insertion, Deletion and searching, Hash table representation, Hash functions, Collision resolution-separate chaining, Open addressing-linear probing, Quadratic probing, Double hashing, Rehashing, Extendible hashing, Comparison of hashing and skip lists.
Priority queues - Definition, ADT, Realizing a priority queue using heaps, Definition, Insertion, Deletion, Application-Heap sort, External sorting - Model for external sorting, Multiway merge, Polyphase merge.
Search trees (Part I) : Binary search trees, Definition, ADT, Implementation, Operations-searching, Insertion and deletion, Balanced search trees - AVL trees, Definition, Height of an AVL tree, Representation, Operations-insertion, Deletion and searching.
Search trees (Part II) : Red - Black trees and splay trees, B-Trees-B-Tree of order m, Height of a B-Tree, Insertion, Deletion and searching, Comparison of search trees.Divide and Conquer-General method, Applications - Binary search, Merge sort, Quick sort, Strassen s matrix multiplication.
Efficient non recursive tree traversal algorithms, Biconnected components. Disjoint set operations, Union and find algorithms.
Greedy method and Dynamic programming : General method (Greedy), Minimum cost spanning trees, Job sequencing with deadlines, General method (Dynamic programming), Optimal binary search trees, 0/1 Knapsack problem, Ordering matrix multiplications.
What people are saying - Write a review
today only i started reading this book, till now i completed dictionary concepts only, for understanding dictionary concepts like representing dictionary and insertion of element (pair->key, value) in to the dictionary, deleting element by using key and finding length of dictionary is very difficulty for me before reading this book.
Chapter 1 Introduction 11 to 136
Chapter 2 Polymorphism and Inheritance 2 1 to 2
Chapter4 introduction to Data Structures 4 1 to 4 130
Review Questions 4129
Chapter 4 Introduction to Data Structures 41 to 4130
Chapter6 Priority Queues 61 to 620
Chapter 7 Searchi TreesPart1 71 to 7
Chapter 9 Divide and Conquer 9 1 to 9
Chapter 8 Search Trees Part II 81 to 834
Chapter11 Dynamic Programming 111to 1140
Advanced Data Structures and Algorithms Puntambekar