Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 2

MALLA REDDY UNIVERSITY

II Year B.Tech I-Sem L /T/P/C


3/ -/-/3
(MR23 – 1CS0202) Data Structures and Algorithms
Course Objectives:
 Understand basic data structures such as Array, List, searching and sorting techniques.
 Ability to design linear data structures such as stacks and queues
 Ability to design non-linear data structures such as trees and its applications
 Understand the concept of graph and its implementations.
 Ability to analyse the running time and prove the correctness of basic algorithms.
UNIT – I:
Data Structures: Types-User Define, Predefine, Comprehension and its types, Arrays vs.
List
Searching: Linear Search, Binary search
Sorting: Bubble Sort, Selection Sort, Insertion Sort, and Quick Sort, Merge sort (Concepts
and Implementation). [Reference 1 & 2]

UNIT-II:
Linear Data Structures: Stacks – Operations, Applications – Infix to Prefix and Infix to
postfix conversions, Postfix Evaluation – Queues – Operations and Type - Circular queues.
Implementation of Single Linked List. [Reference 1 & 2]

UNIT-III:
Non-Linear Data Structures: Trees - Overview of Trees, Tree Terminology, Binary Trees:
Introduction, Implementation, Applications. Tree Traversals, Binary Search Trees:
Introduction, Implementation, AVL Trees: Introduction, Rotations, Implementation, B-Trees.
[Reference 1 & 2]

UNIT-IV:
Non-Linear Data Structures: Graphs -Introduction, Directed vs Undirected Graphs,
Weighted vs Unweighted Graphs, Representations, Breadth First Search Implementation,
Depth First Search Implementation, and Directed Acyclic Graph: Topological sorting, Heap
sort. [Reference 1 & 2]

UNIT-V:
Hashing, Introduction to Algorithms, performance analysis-space complexity, time
complexity, asymptotic notation, Shortest Paths: Dijkstra's algorithm, Floyd-Warshall
Algorithm. [Reference 1 & 2]
REFERENCES:
[1] Data Structures and Algorithms in Java, Michael T.Goodrich, Roberto Tamassia, Michael
H.Goldwasser, Sixth Edition, Wiley, 2021.
[2] Data Structures using C, Reema Thareja, Sixth Edition, Oxford University, 2014.
[3] Advanced Data Structures, Reema Thareja, S. Rama Sree, Oxford University Press, 2018
[4] Advanced Data Structures, Peter Brass, Cambridge University Press, 2008.
COURSE OUTCOMES:
 Understand the basic principles and operations of data structures
 Apply Stacks and queues data structures concepts for solving problems effectively.
 Apply the concepts of advanced trees and graphs for solving problems effectively
 Analyse the given scenario and choose appropriate data structures for solving
problems
List of Exercises:
1) Implement a Java program for quicksort algorithm to sort an array of integers.
2) Implement a Java program for Merge sort algorithm to sort an array of integers.
3) Implement a Java program to perform binary search operation for a key value in a
given list of integers.
4) Design a stack data structure that supports the following operations: push(), pop(), and
peek(). Implement it using an array or a linked list.
5) Design a queue data structure and implement the enqueue() and dequeue() operations.
6) Implement a Java program to convert an infix expression to postfix notation using a
stack.
7) Develop a Java program that uses functions to perform the creation, insertion, and
deletion and traversal operations on singly linked list.
8) Create a binary search tree (BST) and implement the functions to insert a node, search
for a value, and perform an in-order traversal.
9) Implement a Java program to perform a depth-first search (DFS) and a breadth-first
search (BFS) starting from a specific vertex.
10) Implement a java program to find the shortest path between two vertices using
Dijkstra’s algorithm.

You might also like