Course Objectives 1. To impart a thorough understanding of linear data structures such as stacks, queues and their applications. 2. To impart a thorough understanding of non-linear data structures such as trees, graphs and their applications. 3. To impart familiarity with various sorting, searching and hashing techniques and their performance comparison. 4. To impart a basic understanding of memory management. |
Syllabus Introduction to various programming methodologies, terminologies and basics of algorithms analysis, Basic Abstract and Concrete Linear Data Structures, Non-linear Data Structures, Memory Management, Sorting Algorithms, Searching Algorithms, Hashing. |
Expected Outcome: Students will be able to 1. compare different programming methodologies and define asymptotic notations to analyze performance of algorithms. 2. use appropriate data structures like arrays, linked list, stacks and queues to solve real world problems efficiently. 3. represent and manipulate data using nonlinear data structures like trees and graphs to design algorithms for various applications. 4. illustrate and compare various techniques for searching and sorting. 5. appreciate different memory management techniques and their significance. 6. illustrate various hashing techniques. |
Text Books: 1. Samanta D., Classic Data Structures, Prentice Hall India, 2/e, 2009. 2. Richard F. Gilberg, Behrouz A. Forouzan, Data Structures: A Pseudocode Approach with C, 2/e, Cengage Learning, 2005. References 1. Horwitz E., S. Sahni and S. Anderson, Fundamentals of Data Structures in C, University Press (India), 2008. 2. Aho A. V., J. E. Hopcroft and J. D. Ullman, Data Structures and Algorithms, Pearson Publication,1983. 3. Tremblay J. P. and P. G. Sorenson, Introduction to Data Structures with Applications, Tata McGraw Hill, 1995. 4. Peter Brass, Advanced Data Structures, Cambridge University Press, 2008 5. Lipschuts S., Theory and Problems of Data Structures, Schaum’s Series, 1986. 6. Wirth N., Algorithms + Data Structures = Programs, Prentice Hall, 2004. 7. Hugges J. K. and J. I. Michtm, A Structured Approach to Programming, PHI, 1987. 8. Martin Barrett, Clifford Wagner, And Unix: Tools For Software Design, John Wiley, 2008 reprint. |