0% found this document useful (0 votes)
12 views6 pages

Dsa Syllabus

Uploaded by

jeelpatel4428
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
12 views6 pages

Dsa Syllabus

Uploaded by

jeelpatel4428
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 6

Charotar University of Science and Technology (CHARUSAT)

Faculty of Technology and Engineering (FTE)

Subject: Fundamentals of Data Structure and Algorithms (CSUC201)


Semester: 3rd
Teaching Scheme:
Teaching
Theory Practical Tutorial Total Credit
Scheme
Hours/Week 3 2 - 5
4
Marks 100 50 - 150

Course Pre-requisites:
➢ Programming Language Concepts (C or C++ or Java)
Course Description:
This course delves into essential data structures and algorithms, focusing on their implementation,
applications, and performance analysis. Students will gain expertise in solving computational
problems using arrays, linked lists, stacks, queues, trees, graphs, sorting, and searching algorithms.
Advanced topics like dynamic programming, greedy algorithms, and higher-dimensional data
structures are also explored, with practical applications in domains such as geospatial systems,
compression, and scheduling.
Course Objectives:
1. To understand Fundamental Concepts of data structures (such as arrays, linked lists, stacks,
queues, trees, and graphs) and algorithms, including their characteristics, uses, and
performance.
2. To develop skills to analyze and compare the efficiency of algorithms using Big O notation,
focusing on time and space complexity.
3. Learn to implement various data structures in a programming language of choice, ensuring
a practical understanding of their functionalities and applications.
4. To enhance problem-solving abilities by tackling a variety of algorithmic challenges and
real-world applications.

Course Outcomes:
By the end of the course, students will be able to:

1. CO1: Understand different types of data structures, analyze upper bound of algorithms, and
represent data structures in memory.
2. CO2: Implement linear and non-linear data structures, along with understanding their
practical applications.
3. CO3: Perform searching and sorting efficiently, understand upper bound of sorting
algorithms, and apply different sorting algorithms to real-world problems.
4. CO4: Implement and analyze hash tables, understand their significance, and use them in
real-world applications such as dictionaries.

Page 18 of 123
5. CO5: Develop the skills to select suitable data structures for addressing complex
computational challenges.

➢ Pre-requisites online video/ courses:


• Introduction to Data Structures and Algorithms by IIT Delhi,
https://nptel.ac.in/courses/106102064 .
• Introduction to Graph Algorithms by IISc Bangalore,
https://onlinecourses.nptel.ac.in/noc24_cs70/preview .

➢ Self-Study/Further Study components and materials:


Unit Unit/Topic Details
No.
INTRODUCTION TO DATA STRUCTURES AND ALGORITHMS
Study iterative and recursive problems like Factorial, Fibonacci series, Euclidean
1.1
GCD algorithm.
Explore real-world applications of algorithmic complexity (e.g., performance
1.2
bottlenecks).
1
Materials:
➢ Introduction to Data Structures and Algorithms
• https://www.geeksforgeeks.org/introduction-to-data-structures/
➢ Big-O Notation – GeeksforGeeks
• https://www.geeksforgeeks.org/analysis-algorithms-big-o-analysis/
ARRAYS AND LINKED LISTS
2.1 Implement and analyze image representation in memory using array.
Explore the role of linked lists in implementing undo and redo concepts in text
2.2
editor.
2
Materials:
➢ Arrays and Linked Lists
• https://www.geeksforgeeks.org/array-data-structure-guide/
• https://www.geeksforgeeks.org/linked-list-data-structure/
SORTING AND SEARCHING
3.1 Explore applications of sorting in databases and e-commerce (e.g., ranking).
3.2 Practice implementing counting and radix sorts for large datasets.
Explore applications of Binary search techniques to solve real-world
3.3
applications.
3
Materials:
➢ Linear Search – GeeksforGeeks
• https://www.geeksforgeeks.org/linear-search/
➢ Binary Search – GeeksforGeeks
• https://www.geeksforgeeks.org/binary-search/
STACKS AND QUEUES
4.1 Implement a browser history system using stacks.
4.2 Explore real-world queue applications in job scheduling and simulation.
4 Materials:
➢ Stacks and Queues
• https://www.geeksforgeeks.org/stack-data-structure/
• https://www.geeksforgeeks.org/queue-data-structure/
5 TREES AND BINARY SEARCH TREES

Page 19 of 123
Practice tree traversal techniques in real-world hierarchical data (e.g., XML
5.1
parsers).
5.2 Implement balancing techniques in AVL and Red-Black Trees.
Materials:
➢ Tree Traversals
• https://www.geeksforgeeks.org/tree-traversals-inorder-preorder-and-postorder/
➢ Binary Search Tree
• https://www.geeksforgeeks.org/binary-search-tree-data-structure/
➢ AVL Trees – GeeksforGeeks
• https://www.geeksforgeeks.org/introduction-to-avl-tree/
➢ Heap Tree
• https://www.geeksforgeeks.org/heap-data-structure/
GRAPHS
Implement graph-based solutions for social networks (e.g., friend
6 6.1
recommendations).
6.2 Explore applications of MST in network design and logistics.
HASHING
7.1 Explore hashing techniques in database indexing
7.2 Explore hashing in cryptography for digital signature , message authentication.
7
Materials:
➢ Hashing in Data Structure – GeeksforGeeks
• https://www.geeksforgeeks.org/hashing-data-structure/
HIGHER DIMENSIONAL DATA STRUCTURES
8 8.1 Implement spatial data queries using K-d Trees.
8.2 Explore Quad Trees in image compression and Interval Trees in scheduling.

Syllabus:
Unit Unit/Topic Details Hours Evaluation
No. (hr) Weightage
(%)
INTRODUCTION TO DATA STRUCTURES AND ALGORITHMS
Introduction to Data Structure, Types of data structure, Data Types,
1.1
Introduction to Algorithms.
1.2 Big-O, Big-Ω, Big-Θ notations
1.3 Recursive algorithms and their complexity
1.4 Time and space complexity analysis
Prerequisites:
➢ Understanding of basic programming constructs (loops, functions).
➢ Familiarity with iterative algorithm and basic mathematical concepts
1 03 05
(e.g., summation, induction).
Materials:
➢ Introduction to Data Structures and Algorithms
• https://www.geeksforgeeks.org/introduction-to-data-structures/
➢ Big-O Notation – GeeksforGeeks
• https://www.geeksforgeeks.org/analysis-algorithms-big-o-analysis/
➢ Data Structures and Algorithms
• https://www.codechef.com/roadmap/data-structures-and-
algorithms

Page 20 of 123
ARRAYS AND LINKED LISTS
Arrays: Memory Representation of Array in Row Major Order and
2.1 Column Major Order (1-Dimensional, 2-Dimensionall, 3-
Dimensional, Multi-Dimensional), Applications of Array
Linked lists: Memory Representation of Linked List, Types of
Linked List: Singly Linked List, Singly Linked List Operations
(Insert, Delete, Search, Display, Reverse), Doubly Linked List
2.2
Operations (Insert, Delete, Search, Display, Reverse), Circular Singly
2 Linked List, Circular Doubly Linked List, Applications of Linked 06 15
List
Prerequisites:
➢ Understanding of array indexing and basic data storage concepts.
➢ Familiarity with pointers or references in programming.
Materials:
➢ Arrays and Linked Lists
• https://www.geeksforgeeks.org/array-data-structure-guide/
• https://www.geeksforgeeks.org/linked-list-data-structure/
SORTING AND SEARCHING
Searching Algorithms: Linear and Binary Search (Iterative and
3.1
Recursive)
Sorting Algorithms: Selection Sort, Bubble Sort, Insertion Sort,
3.2
Counting sort, Radix sort
3.3 Time complexity analysis
Prerequisites:
3 ➢ Familiarity with arrays and basic iteration constructs. 05 12
➢ Understanding of iterative and recursion algorithms.
Materials:
➢ Sorting Visualization
• https://www.cs.usfca.edu/~galles/visualization/ComparisonSort.ht
ml
➢ Binary Search - GeeksforGeeks
• https://www.geeksforgeeks.org/binary-search/
STACKS AND QUEUES
Stacks: Memory Representation of Stack using Array and Linked
4.1 List, Operations: push, pop, peep, change, Performance Analysis of
operations
Applications of Stack:
• Recursion: Head Recursion and Tail Recursion, Tower of Hanoi
4.2 Problem
• Conversion: Infix to Postfix, Infix to Prefix
4 • Evaluation: Prefix and Postfix expression 06 18
Queues: Memory Representation of queue using Array and Linked
List, Simple Queue: Insert and Delete operation, Circular Queue:
4.3
Insert and Delete operation, Performance Analysis of operations on
Queue,
4.4 Double-ended Queue, Applications of Queue
Prerequisites:
➢ Understanding of arrays and linked lists.
➢ Familiarity with problem-solving techniques.

Page 21 of 123
Materials:
➢ Stacks and Queues
• https://www.geeksforgeeks.org/stack-data-structure/
• https://www.geeksforgeeks.org/queue-data-structure/
➢ Circular Queue
• https://www.geeksforgeeks.org/introduction-to-circular-queue/
➢ Expression Evaluation Using Stack
• https://www.geeksforgeeks.org/videos/evaluation-of-postfix-
expression-dsa-problem/
TREES AND BINARY SEARCH TREES
Tree Concepts, Memory Representation of Tree, Applications of
5.1 Tree, Binary Tree and types, Tree Traversal Techniques: Pre-order,
Post order and In-order
Binary Search Tree: Insert, Delete and Search Operations with
5.2
analysis
5.3 AVL Trees: Insert, Delete and Search Operations with analysis
5.4 Tries, Red black tree, Multi-way search tree
5.5 Heaps: Binary Heaps, heap sort, Priority Queue
Prerequisites:
➢ Understanding recursion and binary relationships.
5 12 25
➢ Familiarity with hierarchical data structures.
Materials:
➢ Trees Traversals
• https://www.geeksforgeeks.org/tree-traversals-inorder-preorder-
and-postorder/
➢ Binary Search Tree
• https://www.geeksforgeeks.org/binary-search-tree-data-structure/
➢ AVL Trees – GeeksforGeeks
• https://www.geeksforgeeks.org/introduction-to-avl-tree/
➢ Heap Tree
• https://www.geeksforgeeks.org/heap-data-structure/
GRAPHS
6.1 Graph concepts, Memory Representation of Graph
Graph Traversals: Breadth First Search (BFS) and Depth First Search
6.2
(DFS)
6.3 Topological sort, Applications of Graph
Prerequisites:
6 ➢ Understanding of Array and Linked List theory concepts. 5 15
Materials:
➢ DFS and BFS
• https://www.geeksforgeeks.org/breadth-first-search-or-bfs-for-a-
graph/
• https://www.geeksforgeeks.org/depth-first-search-or-dfs-for-a-
graph/
HASHING
7.1 Introduction of Hashing, Applications of Hashing
7 Direct Address Table, Hashing Functions, properties of hash 04 07
7.2
functions
7.3 Collision-Resolution Techniques- open addressing and chaining

Page 22 of 123
Prerequisites:
➢ Familiarity with recursion and divide-and-conquer algorithms.
➢ Understanding of basic optimization problems.
Materials:
➢ Hashing in Data Structure – GeeksforGeeks
• https://www.geeksforgeeks.org/hashing-data-structure/
HIGHER DIMENSIONAL DATA STRUCTURES
8.1 Sparse matrices
8.2 K-d Trees, Quad Trees, Interval Trees
Prerequisites:
➢ Understanding of arrays and matrix operations.
➢ Familiarity with recursive partitioning techniques.
Materials:
8 04 03
➢ Sparse matrices
• https://www.geeksforgeeks.org/sparse-matrix-representation/
➢ K-d Trees – GeeksforGeeks
• https://www.geeksforgeeks.org/search-and-insertion-in-k-
dimensional-tree/
➢ Interval Trees – GeeksforGeeks
• https://www.geeksforgeeks.org/interval-tree/
Total Hours: 45
Course Articulation Matrix:
PO1 PO2 PO3 PO4 PO5 PO6 PO7 PO8 PO9 PO10 PO11 PO12 PSO1 PSO2
CO1 3 3 2 2 2 - - - - - - 2 3 2
CO2 3 3 3 2 2 - - - - - - 2 3 3
CO3 3 3 3 3 2 - - - - - - 2 3 3
CO4 3 3 2 3 3 - - - - - - 2 3 3
CO5 3 3 3 3 2 - - - - - - 3 3 3

Enter correlation levels 1, 2 or 3 as defined below:


1: Slight (Low) 2: Moderate (Medium) 3: Substantial (High), If there is no correlation, put “-”

Recommended Study Material:

❖ Text books:
1. “Data Structures using C & C++”, by Tanenbaum, Prentice-Hall International.
2. “An Introduction to Data Structures with Applications”, by Jean-Paul Tremblay & Paul G.
Sorenson, Tata McGraw Hill.

❖ Reference Books:
1. “Fundamentals of Data Structures in C++”, by Sartaj Sahani, Galgotia.Publishers.
2. “Introduction to Algorithms”, by Cormen, Leiserson, Rivest, and Stein (CLRS), 3rd Edition.
3. “Algorithms”, by Robert Sedgewick.
4. “Data Structures and Algorithm Analysis in C”, by Mark Allen Weiss.

Page 23 of 123

You might also like