I Bca II Sem Data Structures
I Bca II Sem Data Structures
I Bca II Sem Data Structures
• Describe how arrays, records, linked structures, stacks, queues, trees, and graphs are
represented in memory and used by algorithms
• Describe common applications for arrays, records, linked structures, stacks, queues, trees,
and graphs
• Write programs that use arrays, records, linked structures, stacks, queues, trees, and
graphs
• Demonstrate different methods for traversing trees
• Compare alternative implementations of data structures with respect to performance
• Describe the concept of recursion, give examples of its use
• Discuss the computational efficiency of the principal algorithms for sorting, searching, and
hashing
Course Content
Content Hours
Unit - 1
Introduction to data structures: Definition; Types of data structures - Primitive & 8 Non-primitive, Linear
and Non-linear; Operations on data structures.
Dynamic memory allocation: Static & Dynamic memory allocation; Memory allocation and de-
allocation functions - malloc, calloc, realloc and free.
Algorithm Specification, Performance Analysis, Performance Measurement
Recursion: Definition; Types of recursions; Recursion Technique Examples - GCD, Binomial
coe0fficient nCr, Towers of Hanoi; Comparison between iterative and recursive functions. 10
hours
Unit - 2
Arrays: Basic Concepts – Definition, Declaration, Initialisation, Operations on arrays; Types of 10
arrays; (ADT); Representation of Linear Arrays in memory;
Traversing linear arrays; Inserting and deleting elements; Sorting – Selection sort,
Bubble sort, Quick sort, Merge sort, Insertion sort; Searching - Sequential Search,
Binary search; Iterative and Recursive searching; Multidimensional arrays; Representation of
multidimensional arrays; Sparse matrices.
Unit - 3
Linked list: Basic Concepts – Definition and Representation of linked list, Types of linked lists - 8
Singly linked list, Doubly liked list, Header liked list, Circular linked list; Representation of Linked
list in Memory;
Operations on Singly linked lists – Traversing, Searching, Insertion, Deletion; Memory allocation;
Garbage collection,
Unit - 4
Stacks: Basic Concepts – Definition and Representation of stacks; Operations on stacks; 8
Applications of stacks; Infix, postfix and prefix notations; Conversion from infix to postfix using
stack; Evaluation of postfix expression using stack; Application of stack in function calls.
Queues: Basic Concepts – Definition and Representation of queues; Types of queues - Simple
queues, Circular queues, Double ended queues, Priority queues; Operations on Simple queues;
Unit - 5
Trees: Definition; Tree terminologies –node, root node, parent node, ancestors of a node, 8
siblings, terminal & non-terminal nodes, degree of a node, level, edge, path, depth;
Binary tree: Type of binary trees - strict binary tree, complete binary tree, binary search tree and
heap tree; Array representation of binary tree. Traversal of binary tree; preorder, inorder and
postorder traversal;
Graphs - Introduction
Text Books
1. Ellis Horowitz and Sartaj Sahni: Fundamentals of Data Structures
References