Data Structure & Algorithm
Data Structure & Algorithm
BCA273CO
Year: II Semester: I
Teaching Schedule
Hours/Week Examination Scheme
Theory Tutorial Practical Internal Assessment Final Total
Theory Practical Theory Practical
3 1 2 20 20 60 - 100
Course Objective: To provide fundamental knowledge of data structure, various algorithms used, and their
implementations.
Course Contents:
1. Introduction [2 Hrs]
1.1 Data and Data types
1.2 Data structure and its operations and importance
1.3 ADT and its applications and importance
1.4 ADT vs DS
3. Stack [4 Hrs]
3.1 Definition
3.2 Primitive operations with examples representing stack in C
3.3 Stack implementation [PUSH/POP] operations,
3.4 Stack as an ADT
3.5 Prefix, infix and postfix expressions
3.5.1 Definitions
3.5.2 Algorithms for evaluation of infix and postfix expression
3.5.3 Converting an expression from infix to postfix and vice versa
4. Queue [3 Hrs]
4.1 Definition
4.2 Primitive operations with examples representing queue in C
4.3 Queue implementation [Enqueue/Dequeue] operations
4.4 Queue as an ADT
4.5 Types of queue [Linear, Circular, Priority queue and its types]
6. Recursion [4 Hrs]
6.1 Definition and recursive functions
6.2 Recursion vs iteration with advantages and disadvantages
6.3 Application of recursion — Factorial calculation, Fibonacci series, TOH, Natural numbers
multiplication with algorithms and examples
6.4 Efficiency of recursion
7. Trees [6 Hrs]
7.1 Concepts and definitions
7.2 Binary tree and its applications
7.3 Basic operations in binary tree — insertion/deletion, traversing
7.4 Binary tree traversals — pre-order, post-order and in-order
7.5 Height, depth and level of binary tree
7.6 Balanced trees — AVL balanced tree and balancing algorithm, Huffman Coding algorithm
8. Sorting [5 Hrs]
8.1 Definition and types of sorting [Internal and external sort, Insertion and selection sort,
Exchange/bubble sort, Quick sort, Merge sort, Radix sort, Shell sort, Heap and heap sort
8.2 Efficiency of sorting