This module will help the student to learn the logical model of a particular organization of data effectively.
Principles of Object -Oriented Programming, Defining & Using Classes, Controlling Access to Class Members, Class Constructors, Method Overloading, Class Variables & Methods, Objects as parameters, final classes, Object class, Garbage Collection. Performance Analysis: Time and Space Complexity. Arrays: Row and Column Major representation, matices: class Matrix, diagonal matrix, triangular matrix, Sparse matrices.
Linear Lists, Array Representation: ADT LinearList, Interface LinearList, Array Representation. Linked Representation: Singly linked lists and chains, Circular Lists and header nodes, Doubly linked lists
Stack: Definition, Primitive operations, Applications, ADT, array and linked representation. Queues: Definition, Primitive operations, Applications, ADT, array and linked representation.
Trees: Definition, Terminology, Binary Trees, properties, array and linked representation, ADT, Common binary tree operations, Traversals (Pre, post, in). Binary Search Trees, definition, operations
Graphs : Definition, properties, ADT Graph, representation of weighted and unweighted graphs, Graph search methods – Breadth First Search, Depth First Search and its Application.
1. S. Sahni, “Data Structures, Algorithms and Applications in Java”, Universities Press, 2005.
2. Robert Lafore, "Data Structures and Algorithms in Java, 2/E", Pearson/Macmillan Computer Publication ,2003
3. Goodrich, M. and Tamassia, R. "Data Structures and Algorithms Analysis in Java", 4th Edition, Wiley
1. E. Horowitz and S. Sahani, “Fundamentals of Data Structures”, Galgotia Book Pvt. Ltd, 2000.
2. Mark Allen Weiss, “Data Structures and Algorithms Analysis in Java", Pearson Education, 3rd edition, 2011.
3. D. S. Malik, P.S. Nair, "Data Structures Using Java", Course Technology, 2003