Jawaharlal Nehru Technological University Anantapur: (9A05302) Advanced Data Structures
Jawaharlal Nehru Technological University Anantapur: (9A05302) Advanced Data Structures
Th C
TECHNOLOGICAL UNIVERSITY ANANTAPUR 4 4
B.Tech. II-I Sem. (C.S.E)
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.
Unit II:
Function Over Loading, 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.
Unit III:
Algorithms, performance analysis- time complexity and space complexity. Review of basic data
structures- The list ADT, Stack ADT, Queue ADT, Implementation using template classes in C++.
Unit IV:
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, comparision
of hashing and skip lists.
Unit V:
Priority Queues – Definition, ADT, Realizing a Priority Queue using Heaps, Definition, insertion,
Deletion, External Sorting- Model for external sorting, Multiway merge, Polyphase merge.
Unit VI:
Binary Search Trees, Definition, ADT, Implementation, Operations- Searching, Insertion and Deletion,
AVL Trees, Definition, Height of an AVL Tree, Operations – Insertion, Deletion and Searching
Unit VII:
Search trees (part- II): Introduction to Red – Black and Splay Trees, B-Tree of order m, height of a B-
Tree, insertion, deletion and searching, Comparison of Search Trees
Unit VIII:
Pattern matching and Tries: Pattern matching algorithms-Brute force, the Boyer – Moore algorithm, the
Knuth-Morris-Pratt algorithm, Standard Tries, Compressed Tries, Suffix tries.
TEXT BOOKS:
1. Data structures and Algorithms using C++, Ananda Rao Akepogu and Radhika Raju Palagiri,
Pearson Education.
2. Data structures, Algorithms and Applications in C++, S.Sahni, University Press (India) Pvt.Ltd,
2nd edition, Universities Press.
REFERENCES:
1. Data structures and Algorithms in C++, Michael T.Goodrich, R.Tamassia and .Mount, Wiley
student edition, John Wiley and Sons.
2. Data structures and Algorithm Analysis in C++, Mark Allen Weiss, Pearson Education. Ltd.,
Second Edition.
3. Data structures and algorithms in C++, 3rd Edition, Adam Drozdek, Thomson
4. Data structures using C and C++, Langsam, Augenstein and Tanenbaum, PHI.
5. Problem solving with C++, The OOP, Fourth edition, W. Savitch, Pearson education.
6. Data Structures using C++, D.S. Malik, Gengage Learning, India Edition.
Intel based desktop PC with minimum of 166 MHZ or faster processor with atleast 64 MB RAM
and 100 MB free disk space C++ compiler and STL Recommended
Week1:
Week2: Write C++ programs to implement the following using a singly linked list.
Week3:
Write C++ programs to implement the deque (double ended queue) ADT using a doubly linked list and an
array
Week 4:
Week 5:
Write C++ programs that use recursive functions to traverse the given binary tree in
Week 6:
Write C++ programs that use non-recursive functions to traverse the given binary tree in
Week 7:
Write C++ programs for the implementation of bfs and dfs for a given graph.
Week 8:
Week 9:
Week 10:
Week 11:
Write a C++ program to implement all the functions of a dictionary (ADT) using hashing.
Week 12:
Write a C++ program for implementing Knuth-Morris- Pratt pattern matching algorithm.
1. Data structures and Algorithms using C++, Ananda Rao Akepogu and Radhika Raju Palagiri,
Pearson Education.
2. Data Structures A Pseudocode Appoach with C++, India Edition, R.F.Gilberg and B.A. Fououzan,
Cengage Learning.
3. Programming Principles and Practice using C++, B.Stroustrup, Addison-Wesley(Pearson
education).
4. Data Structures and STL, W.J. Collins, Mc Graw Hill, International edition.
5. Data structures and Algorithms with OODesign patterns in C++, B.R.Press, John Wiley & sons.
6. The Art, Philosophy, and Science of OOP with C++, Rick Miller, SPD.
7. C++ for Programmers, P.J.Deitel and H.M. Deithel, PHI/Pearson