0% found this document useful (0 votes)
2 views

Data Structures Syllabus

The document outlines a course on Data Structures, covering fundamental concepts, implementation, and various types of data structures including primitive and non-primitive. It includes detailed modules on searching, sorting, linked lists, stacks, queues, trees, hashing, and graphs, along with practice problems for each topic. The course aims to equip students with skills in data organization, efficiency analysis, and algorithm development.

Uploaded by

Swaroop
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
2 views

Data Structures Syllabus

The document outlines a course on Data Structures, covering fundamental concepts, implementation, and various types of data structures including primitive and non-primitive. It includes detailed modules on searching, sorting, linked lists, stacks, queues, trees, hashing, and graphs, along with practice problems for each topic. The course aims to equip students with skills in data organization, efficiency analysis, and algorithm development.

Uploaded by

Swaroop
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 6

22BC109-DATA STRUCTURES

L T P C
3 0 2 4
PREREQUISITE KNOWLEDGE:

COURSE DESCRIPTION & OBJECTIVES:


This course is aimed at offering fundamentals concepts of data structures and explains how to
implement them. It begins with the basic concepts of data, data structures and then introduces the
primitive and non-primitive data structures in detail. It forms the basis for understanding various ways
of representing data and its usage in different computing applications.

MODULE -1
UNIT-1 8L+0T+8P=16 Hours
INTRODUCTION
Data Structures Basics: Basic terminology data, information, datatype; Data Structures
Introduction, storage structures- sequential and linked storage representations; classification of data
structures; Applications of data structures.
Searching: Linear Search and Binary Search
Sorting: Selection Sort, Bubble Sort, Insertion Sort, Quick Sort and Merge Sort.

UNIT-2 8L+0T+8P=16 Hours


LINKED LISTS, STACKS, QUEUES
Linked Lists: Introduction, Types of linked list Singly linked list, doubly linked list and circular
linked list, representation of linked list, Operations of linked list. Traverse forward/ reverse order,
searching, insertion into, deletion for linked lists; Multi lists; Applications of linked lists.
Stacks & Queues: Stacks Introduction, array and linked representations, implementation and their
applications; Queues Introduction, array and linked representations, implementation and their
applications; Types Linear, circular and doubly ended queues operations; Applications of Queues.

PRACTICE PROBLEMS ON RECURSION LEVEL 1


Find the product of 2 numbers using recursion
Find the sum of natural numbers using recursion
Find the factorial of a number using recursion
Find the Nth term of Fibonacci series using recursion
Calculate the power using recursion
Write a recursive program for checking if a given number is a prime number
Given two integers write a function to sum the numbers without using any arithmetic operators
Convert a decimal to binary using recursion
Print all factors using recursion
Find the maximum product of digits among numbers less than or equal to N

27
PRACTICE PROBLEMS RECURSION LEVEL 2
Implement insertion sort recursively
Write a program to find the numbers less than N that are product of exactly 2 distinct prime
numbers - using recursion
Implement selection sort recursively
Find the middle of a singly linked list using recursion
Find the sum of even numbers of an array using recursion
Check if a given array is in sorted order using recursion
Print alternate nodes of a linked list using recursion
Reverse a doubly linked list using recursion
Write a recursive function that returns all permutations of a given list
Implement bubble sort recursively

PRACTICE PROBLEMS ON SORTING AND SEARCHING LEVEL 1


Implement linear search function
Implement binary search function
Implement iterative search function
Implement the insertion sort function
Implement the bubble sort function
Implement the quick sort function
Implement the merge sort function
Implement the quick sort function
Implement the heap sort function
Implement the radix sort function

PRACTICE PROBLEMS ON STACKS LEVEL 1


Implement two stacks using a single array
Given an array replace every element with nearest greater element on the right
Given a stack reverse the elements using only push and pop functions
Postfix evaluation using stack
Maximum sum in sliding window
Balance symbols
Find middle element in a stack
Remove middle element from a stack
Implement push and pop using linked list
Given an array of characters with the middle marked by X, check if the string is a palindrome

PRACTICE PROBLEMS ON QUEUES LEVEL 1


Write a program to accept two numbers as input check if they are equal
Write a program to accept two characters as input and check if they are equal
Write a program to accept two numbers as input and print the greater of the 2 numbers
Write a program to accept two numbers as input and print the lesser of the 2 numbers
Write a program to accept 3 numbers as input and print the maximum of the 3
Write a program to accept 3 numbers as input and print the minimum of the 3
Write a program to accept a number as input and print EVEN if it is an even number and ODD
if it is an odd number

28
Write a program to accept a number as input and check if it is divisible by 3. If it is divisible by
3 print YES else print NO
Write a program to accept a number as input and check if it is divisible by both 3 & 5. If it is
divisible print YES else print NO
Write a program to accept a number as input and check if it is positive, negative or zero.

PRACTICE PROBLEMS ON SLL LEVEL 1


Implement the insert function to insert nodes into a singly linked list (ascending order)
Implement the insert function to insert nodes into a singly linked list (descending order)
Implement the search node function
Implement the delete node function
Display forwards function
Display backwards function
Count the number of nodes in a singly linked list
Swap alternate nodes of a singly linked list
Move last node to the front of the linked list
Move first node to the last of the linked list

PRACTICE PROBLEMS ON DLL LEVEL 1


Implement insert function
Implement display forward function
Implement display backward function
Implement search function
Implement delete function
Reverse a doubly linked list from M to N
Find the sum of the odd and even nodes
Count odd keys of the linked list
Merge two sorted lists
Delete adjacent duplicate nodes

PRACTICE PROBLEMS ON CLL LEVEL 1


Insert function (circular doubly linked list)
Search function
Display forward
Display backward
Delete node (circular doubly linked list)
Print the middle N nodes of a circular singly linked list
Move the last node of a circular singly linked list to the beginning
Delete adjacent duplicate nodes of a circular singly linked list
Delete nodes greater than a value from a circular doubly linked list
Find the sum of the nodes of a circular linked list

PRACTICE PROBLEMSON LINKED LIST LEVEL 2


Given 2 sorted linked lists, print the common elements
Reverse a list (using Stack)
Given a pointer to a node (not the last node), delete the node
Reverse a list (Recursive)
Reverse a list (Iterative)
29
Reverse a singly linked list in pairs (recursive)
Reverse a singly linked list in pairs (iterative)
Check if a singly linked list is a palindrome or not
Remove the loop if exists
Given 2 linked lists with data in the ascending order, merge them into a single list

MODULE -2
UNIT -1 8L+0T+8P=16 Hours
TREES & HASHING
Trees: Introduction, Properties, Binary Tree Introduction, properties, array and linked
representations; Tree traversals and their implementation; Expression trees; BST definition and
operations, AVL trees definition and construction; Applications of binary trees.
Hashing: Introduction, Different hash functions, collision-collision avoidance, handling methods
UNIT-2 8L+0T+8P=16 Hours
GRAPHS
Graphs: Introduction, Properties, Graphs representations adjacency matric, adjacency list, set
representation; Traversals - breath first search and depth first search; Applications of graphs.
PRACTICE PROBLEMS ON BST LEVEL 1
Insert function
Insert function (recursive)
Search function
Pre order traversal
Post order traversal
In order traversal
Level order traversal
Delete child node
Delete parent node
Delete nodes greater than a value from a circular doubly linked list

PRACTICE PROBLEMS ON PRIORITY QUEUES LEVEL 1


Meeting rooms problem
Ugly number
Find median from data stream
Find the top K frequent elements
Find K Pairs with smallest sums
Find the Kth smallest element in a sorted matrix
Trapping Rain Water
Rearrange String k distance apart
Sort characters by frequency
Solve the maze problem

PRACTICE PROBLEMS ON GRAPHS LEVEL 1


Implement Graph data structure
Implement BFS - iterative solution
Implement BFS - recursive solution
30
Implement DFS - iterative solution
Implement DFS - recursive solution
Check if given graph is strongly connected or not
Check if given graph is strongly connected or not - using DFS
Given a graph find the arrival and departure time of its vertices in DFS. Arrival time is the time
when the vertex was explored for the first time, and departure time is the time at which all the
neighbours are explored and are ready to backtrack
Given a directed acyclic graph and a source vertex, find the cost of the shortest path from
source vertex to all other vertices present in the graph. If a vertex cannot be reached from given
source vertex that distance may be printed as infinite
Given an undirected graph, check if the graph is 2 edge connected or not

PRACTICE PROBLEMS ON HASHING LEVEL 1


Print a binary tree in vertical order
Find whether an array is subset of another array
Given an array A[] and a number x, check for pair in A [] with sum as x
Minimum operation to make all elements equal in array
Maximum distance between two occurrences of same element in array
Check if a given array contains duplicate elements within k distance from each other
Find duplicates in a given array when elements are not limited to a range
Most frequent element in an array
Smallest subarray with all occurrences of a most frequent element
First element occurring k times in an array

PRACTICE PROBLEMS ON GRAPHS LEVEL 2


Find the shortest graph distances between every pair vertices in a given path. Assume that the
graph does not have any negative edges
Find the shortest graph distances between every pair of vertices in a given path. The graph can
have negative edges
Detect cycle in DFS
Count the number of connected components of a graph represented in the adjacent matrix
Count the number of connected components of a graph represented in the adjacent matrix -
using DFS
Find a spanning tree - not necessarily a minimum spanning tree
Detect cycle in an undirected graph
Given an undirected graph, find its depth
Determine if a directed graph has a unique topological ordering
Given a directed acyclic graph and two vertices v and w, find the lowest common ancestor

SKILLS:
Experienced to Store data and various types of data to handle
Ordering and sorting of data
Indexing and Searching of required data from large data sequences
Exposed to various characteristics such as Linear or non-linear, Homogeneous or
heterogeneous and Static and Dynamic

31
ACTIVITIES:
Analyze the data structures required for various applications
Implement array or linked lists for a given scenario
Describe pros and cons of each data structure
Implementation of various trees and graphs for a given scenario

COURSE OUTCOMES:
Upon completion of the course, the student will be able to achieve the following outcomes:
No. Course Outcome Blooms PO
Level
1 Understand the organization of several ADTs and the Understand 1
manipulation (searching, insertion, deletion, traversing) of
data stored in various data structures.
2 Apply different data structures to solve a given problem. Apply 1
3 Analyze the efficiency of using different data structures and Analyze 2
choose the efficient data structure for solving a given
problem.
4 Develop new algorithms to solve various problems. Implement 3,4

TEXT BOOK:
nd
1. Edition, Eastern Economic Prentice hall private
limited press, 2000.

REFERENCE BOOKS:
1.
Computer Science Press, 2006.
2.
2nd edition, Addison-Wesley publishing company, 2002.
nd
3. edition, Impression edition,
1998.

32

You might also like