CS Sem2
CS Sem2
Course title & Credit Credit distribution of the course Eligibility Pre-requisite
Code s criteria of the course
Lecture Tutorial Practical/ (if any)
Practice
The course aims at developing the ability to use basic data structures like arrays, stacks,
queues, lists, trees to solve problems. C++ is chosen as the language to understand
implementation of these data structures.
Learning outcomes
On successful completion of the course, students will be able to:
● Compare two functions for their rates of growth.
● Understand abstract specification of data-structures and their implementation.
● Compute time and space complexity of operations on a data-structure.
● Identify the appropriate data structure(s) for a given application and understand the
trade-offs involved in terms of time and space complexity.
● Apply recursive techniques to solve problems.
39
UNIT – III (06 Hours)
Sorting: Insertion Sort, Count Sort and their complexity analysis.
UNIT – IV (03 Hours)
Recursion: Recursive functions, linear recursion, binary recursion.
UNIT – V (06 Hours)
Trees, Binary Trees. Trees: definition and properties, binary trees: definition and properties,
traversal of binary trees and their time complexity analysis.
Essential/recommended readings
1. Goodrich, M., Tamassia, R., & Mount, D., Data Structures and Algorithms Analysis in
C++, 2nd edition. Wiley, 2011.
2. Cormen, T.H., Leiserson, C.E., Rivest, R. L., Stein C., Introduction to Algorithms, 3rd
edition, Prentice Hall of India, 2010.
3. Drozdek, A., Data Structures and Algorithms in C++, 4th edition, Cengage
Learning, 2012.
Suggestive readings
(i) Sahni, S. Data Structures, Algorithms and applications in C++. 2nd Edition. Universities
Press, 2011.
(ii)Tanenbaum, A. M., Augenstein, M. J., & Langsam Y., Data Structures Using C and
C++. 2nd edition. Prentice Hall of India, 2009.
40