Anda di halaman 1dari 2

B V Raju Institute of Technology w.e.f.

2015-2016

II Year B.Tech. CSE I Sem L T P C


3 1 - 3

ADVANCED DATA STRUCTURES THROUGH C++


(Common to CSE, IT)

Pre-requisites: Data Structures through C

Objectives: The students will learn the following:


1. Develop programs in C++ to solve problems using data structures such as arrays, linked lists,
stacks, queues, trees, graphs, hash tables and search trees.
2. Conceptualize an object oriented way of solving problems.
3. Interpret ADTS for all data structures.
4. Apply programs in C++ to solve problems independently and in creatively manner.

Unit I: (11 Lectures)


C++ Basics: Basic OOP Concepts, 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: (11 Lectures)


C++ Advanced Basics: 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.

Unit III: (11 Lectures)


Algorithms Basics: Performance Analysis- Time Complexity and Space Complexity, Asymptotic
Notation- Big O, Omega and Theta Notations.
Review of Basic Data Structures: The List ADT, Stack ADT, Queue ADT, Array and Linked List
Implementations using Template Classes in C++.
Trees: Basic Terminology, Binary tree ADT, Array and Linked List Representations, Traversals,
Threaded Binary Trees.
Priority Queues: Definition, ADT, Realizing a Priority Queue using Heaps, Definition, Insertion,
Deletion, Heap sort, External Sorting.

Unit IV: (11 Lectures)


Dictionaries: Linear List Representation, Skip List Representation, Operations- Insertion, Deletion
and Searching.
Hashing: 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.
Text Processing Pattern Matching Algorithms: Brute Force, The Knuth-Morris-Pratt Algorithm
Tries: Standard Tries, Compressed Tries, Suffix Tries.

Unit V: (11 Lectures)


Search Trees (Part I): Binary Search Trees, Definition, ADT, Implementation, Operations- Searching,
Insertion and Deletion, AVL Trees, Definition, Operations – Insertion and Searching.
Search Trees (Part II): B-Trees, Definition, B-Tree of Order m, Insertion, Deletion and Searching,
Comparison of Search Trees
Graphs: Basic Terminology, Representations of Graphs, Graph Search Methods: DFS, BFS.

Outcomes: Upon the successful completion of the course, the student will be able:
1. Ability to identify the appropriate data structure for given problem.
2. Design and analyze the time and space complexity of algorithm or program.
3. Use compilers include library functions, debuggers and trouble shooting.
4. Apply data structure concepts for realistic problems.

Department of Computer Science and Engineering


B V Raju Institute of Technology w.e.f. 2015-2016

Textbooks:
1. Data Structures and Algorithm Analysis in C++, Mark Allen Weiss, Pearson Education. Ltd.,
Second Edition.
2. Data Structures, Algorithms and Applications in C++, S.Sahni, University Press (India)
Pvt.Ltd, Second edition, Universities Press Orient Longman Pvt. Ltd.

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 Algorithms in C++, Third Edition, Adam Drozdek, Thomson
3. Data Structures using C and C++, Langsam, Augenstein and Tanenbaum, PHI.
4. Advanced Data Structures and Algorithms in C++, V.V. Muniswamy Jaaico Publishing House.

Department of Computer Science and Engineering

Anda mungkin juga menyukai