DATA STRUCTURES AND APPLICATIONS
Course Code BCS304 Course Category: PCC
Teaching Hours/Week (L:T:P) 2:2:0 Total Hours/Semester 50
CIE + SEE Marks 50 + 50 Semester III
SEE Duration 3 Hours Credits 03
Teaching Department: Computer Science & Engineering
Course Objectives
1 Explain the fundamentals of data structures and their applications in solving computational problems.
2 Illustrate the representation and operations of different data structures such as Stacks, Queues, Linked Lists,
Trees, and Graphs.
3 Design and develop efficient solutions to problems using linear data structures.
4 Discuss the applications of nonlinear data structures in real-world problem-solving scenarios.
5 Introduce advanced data structure concepts, including Hashing and Optimal Binary Search Trees, for
enhanced problem-solving capabilities.
Prerequisites for the Course:
Proficiency in C programming language (syntax, data types, pointers, functions, memory management), Fundamental
programming concepts, Problem-solving techniques, Basic computer science concepts (memory hierarchy, program
execution).
MODULE-I: Introduction to Data Structures 10 Hours
Introduction to Data Structures: Data Structures, Classifications (Primitive & Non-Primitive), Data structure
Operations, Review of Pointers and Dynamic Memory Allocation, Arrays, Dynamic Allocated Arrays, Structures and
Unions, Polynomials, Sparse Matrices, Representation of Multidimensional Arrays, Strings
Self-Study: Linear Search, Selection Sort, Insertion Sort, Matrix Operations using Arrays in C.
Text Book: Chapter-1: 1.2, Chapter-2: 2.1 to 2.7, Reference Book 1: 1.1 to 1.4
MODULE-II: Stacks and Queues 10 Hours
STACKS: Stacks, Stacks Using Dynamic Arrays, Applications of Stack: Recursion, Evaluation and conversion of
Expressions: Infix to Postfix, Prefix
QUEUES: Queues, Circular Queues Using Dynamic Arrays, Multiple Stacks and queues.
Self-Study: Conversion of Expressions: Prefix to Postfix, Dequeues, Priority Queues.
Text Book: Chapter-3: 3.1 to 3.4, 3.6, 3.7
MODULE-III: Linked Lists 10 Hours
LINKED LISTS : Singly Linked, Lists and Chains, Representing Chains in C, Linked Stacks and Queues, Polynomials,
Additional List Operations, Circular Linked List , Doubly Linked List.
Self-Study:, Sparse Matrices , Circular Doubly Linked List.
Text Book: Chapter-4: 4.1 to 4.5, 4.7, 4.8
MODULE-IV: Trees and Graphs 10 Hours
TREES: Introduction, Binary Trees, Binary Tree Traversals, Threaded Binary Trees. Binary Search trees, Selection
Trees, Forests
GRAPHS: The Graph Abstract Data Types, Elementary Graph Operations
Self-Study: Representation of Disjoint sets, Counting Binary Trees
Text Book: Chapter-5: 5.1 to 5.3, 5.5, 5.7 to 5.11, Chapter-6: 6.1, 6.2
MODULE-V: Advanced Data Structure 10 Hours
HASHING: Introduction, Static Hashing, Dynamic Hashing
PRIORITY QUEUES: Single and double ended Priority Queues, Leftist Trees
INTRODUCTION TO EFFICIENT BINARY SEARCH TREES: Optimal Binary Search Trees
Self-Study: Heap Sort, AVL Trees
Text Book: Chapter-8: 8.1 to 8.3, Chapter-9: 9.1, 9.2, Chapter-10: 10.1
Content Beyond the Syllabus
Visit [Link] and choose a topic like Arrays, Stacks, Queues, Linked
Lists, Trees, or Graphs. Select a problem based on difficulty level and solve it using C in the online compiler. Submit
your solution and ensure it passes all test cases before proceeding to the next challenge.
Use of e-Box Systems for Self -Study and Assignments, students can view their personal improvement in the coding.
Course Outcomes(COs)
COs At the end of the course, student will be able to
1 Outline the various data structures and their applications in computational tasks.
2 Apply array, stack, and queue data structures to solve given problems effectively.
3 Utilize linked lists in developing solutions for specific problem scenarios.
4 Develop solutions by leveraging trees and graphs to model and address real-world problems.
5 Demonstrate the advanced data structure concepts, including Hashing Techniques and Optimal Binary Search
Trees.
Course Outcomes Mapping with POs & PSOs
↓ CO / POs→ PO1 PO2 PO3 PO4 PO5 PO6 PO7 PO8 PO9 PO10 PO11 PO12 PSO1 PSO2 PSO3
1 3 2 1 1 1 - - - - - - 2 3 2 1
2 3 3 2 - - - - - - - - - 3 3 2
3 3 3 2 - - - - - - - - - 3 3 2
4 3 3 3 3 2 - - - - - - - 3 3 3
5 3 3 3 2 3 - - - - - - 2 3 3 3
CO-Course Outcomes, PO-Program Outcomes, PSO –Program Specific Outcomes 1: Low 2: Medium 3: High
Course Evaluation System
Course CIE Distribution Description
Type Marks
CIE Test : 25 Average of Two Tests of 25 Marks each
• Coursera Course with Report:05
PCC 50
Assignment: 25 • e-Box Assessment/Assignments: 15
• Writing Algorithms : 05
Semester End Examinations (SEE) Paper Pattern
The SEE will be conducted as per Scheduled Timetable announced by Controller of Examinations(CoE)
1. The SEE question paper contains Ten questions and 2 questions from each Module.
2. Student shall answer 5 full questions, selecting one full question from each module.
3. Each question in a module shall contains minimum 2 or maximum 3 sub divisions.
4. Question shall be asked from Laboratory experiments for IPCC Course.
Text Book:
1 Ellis Horowitz, Sartaj Sahni and Susan Anderson-Freed, Fundamentals of Data Structures in C, 2nd Ed,
Universities Press, 2014
Reference Books:
1 Seymour Lipschutz, Data Structures Schaum's Outlines, Revised 1st Ed, McGraw Hill, 2014.
2 Gilberg & Forouzan, Data Structures: A Pseudo-code approach with C, 2nd Ed, Cengage Learning,2014.
3 Reema Thareja, Data Structures using C, 3rd Ed, Oxford press, 2012.
4 Jean-Paul Tremblay & Paul G. Sorenson, An Introduction to Data Structures with Applications, 2 nd Ed,
McGraw Hill, 2013
5 A M Tenenbaum, Data Structures using C, PHI, 1989
6 Robert Kruse, Data Structures and Program Design in C, 2nd Ed, PHI, 1996.
e-Resources
1 [Link]
2 [Link]
3 [Link]
4 [Link]
5 [Link]
6 [Link]
7 [Link]
8 [Link]
9 [Link]
10 [Link]
11 [Link]
12 [Link]