EE309

DATA STRUCTURES AND C++

  • Introduction – Tokens – expressions – structures - functions in C++, classes and objects, constructors and destructors, operator overloading and type conversions

 

  • Inheritance, Extending classes, Pointers, Virtual functions and polymorphism, File Handling Templates, Exception handling, Manipulating strings

 

  • Algorithm, Analysis, Lists, Stacks and queues, Priority queues - Application, Heaps – hashing - hash tables

 

  • Trees - Binary trees, search tree ADT, AVL trees, Graph Algorithms - Topological sort, shortest path algorithm network flow problems - minimum spanning tree - Introduction to NP - completeness

 

  • Sorting – Insertion, Shell, Heap, Merge, Quick, Indirect, Bucket, Introduction to Algorithm Design Techniques – Greedy algorithm (Minimum Spanning Tree), Divide and Conquer (Merge Sort), Dynamic Programming (all pairs shortest path problem)

 Referneces:

1. Robert Lafore, Object oriented programming in C++, Galgotia Publication.
2. E. Balagurusamy, “ Object Oriented Programming with C++”, McGraw Hill Company Ltd., 2007.
3. Mark Allen Weiss, “Data Structures and Problem solving using C++ “, second edition , Addison Wesley Longman 2000.
4. Michael T. Goodrich, “Data Structures and Algorithm Analysis in C++”, Wiley student edition, 2007.
5. Sahni, “Data Structures Using C++”, The McGraw-Hill, 2006.
6. Jean – Paul Tremblay & Paul G.Sorenson, An Introduction to data structures with applications, Tata McGraw Hill edition, II Edition, 2002.
7. John R.Hubbard, Schaum‟s outline of theory and problem of data structure with C++, McGraw-Hill, New Delhi, 2000.