0% found this document useful (0 votes)
3 views2 pages

DS Syll

Download as pdf or txt
Download as pdf or txt
Download as pdf or txt
You are on page 1/ 2

JNTUGV B. Tech.

R23
Regulations

I Year-II Semester L T P C
3 0 0 3
DATA STRUCTURES
(Common to CSE, IT & allied branches)

Course Objectives:
• Understand the significance of linear data structures in problem-solving and basic time/space
complexity analysis.
• Create and manage linked lists to efficiently organize and manipulate data, emphasizing
memory efficiency.
• Implement and apply stacks to manage program flow and solve problems involving expression
evaluation and backtracking.
• Utilize queues to model real-world scenarios, such as process scheduling and breadth-first
search algorithms and understand the versatility of deques and prioritize data management using
priority queues.
• Impart basic understanding of non-linear data structures such as trees.
• Explore basic concepts of hashing and apply it to solve problems requiring fast data retrieval
and management.

UNIT I
Introduction to Linear Data Structures: Definition and importance of linear data structures,
Abstract data types (ADTs) and their implementation, Overview of time and space complexity
analysis for linear data structures. Searching Techniques: Linear & Binary Search, Sorting
Techniques: Bubble sort, Selection sort, Insertion Sort

UNIT II
Linked Lists: Singly linked lists, representation and operations, doubly linked lists and circular
linked lists, Comparing arrays and linked lists, Applications of linked lists.

UNIT III
Stacks: Introduction to stacks: properties and operations, implementing stacks using arrays and
linked lists, Applications of stacks in expression evaluation, backtracking, reversing list etc.

UNIT IV
Queues: Introduction to queues: properties and operations, implementing queues using arrays
and linked lists, Applications of queues in breadth-first search, scheduling, etc.
Deques: Introduction to deques (double-ended queues), Operations on deques and their
applications.

UNIT V
Trees: Introduction to Trees, Binary Search Tree – Insertion, Deletion & Traversals
Hashing: Brief introduction to hashing and hash functions, Collision resolution techniques:
chaining and open addressing, Hash tables: basic implementation and operations, Applications of
hashing in unique identifier generation, caching, etc.

42
JNTUGV B. Tech. R23
Regulations

Course Outcomes: At the end of the course, Student will be able to


• Explain the role of linear data structures in organizing and accessing data efficiently in
algorithms.
• Design, implement, and apply linked lists for dynamic data storage, demonstrating
understanding of memory allocation.
• Develop programs using stacks to handle recursive algorithms, manage program states, and
solve related problems.
• Apply queue-based algorithms for efficient task scheduling and breadth-first traversal in graphs
and distinguish between deques and priority queues, and apply them appropriately to solve data
management challenges.
• Devise novel solutions to small scale programming challenges involving data structures such as
stacks, queues, Trees
• Recognize scenarios where hashing is advantageous, and design hash-based solutions for
specific problems.

Textbooks:
1. Data Structures and algorithm analysis in C, Mark Allen Weiss, Pearson, 2nd Edition.
2. Fundamentals of data structures in C, Ellis Horowitz, Sartaj Sahni, Susan Anderson-Freed,
Silicon Press, 2008

Reference Books:
1. Algorithms and Data Structures: The Basic Toolbox by Kurt Mehlhorn and Peter Sanders
2. C Data Structures and Algorithms by Alfred V. Aho, Jeffrey D. Ullman, and John E. Hopcroft
3. Problem Solving with Algorithms and Data Structures" by Brad Miller and David Ranum
4. Introduction to Algorithms by Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest,
and Clifford Stein
5. Algorithms in C, Parts 1-5 (Bundle): Fundamentals, Data Structures, Sorting, Searching, and
Graph Algorithms" by Robert Sedgewick

43

You might also like