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

Assignment 1 2 3

The document outlines three assignments related to advanced data structures and algorithms. It includes problems related to arrays, linked lists, stacks, queues, trees, searching, and hashing. Students are asked to write code in Java or Python to demonstrate concepts like inserting and deleting nodes from a binary search tree, implementing stacks and queues using linked lists, solving the Tower of Hanoi problem recursively, and resolving hash collisions. Students must also analyze search tree efficiencies and write programs for data structures like quad trees and oct trees.
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
36 views

Assignment 1 2 3

The document outlines three assignments related to advanced data structures and algorithms. It includes problems related to arrays, linked lists, stacks, queues, trees, searching, and hashing. Students are asked to write code in Java or Python to demonstrate concepts like inserting and deleting nodes from a binary search tree, implementing stacks and queues using linked lists, solving the Tower of Hanoi problem recursively, and resolving hash collisions. Students must also analyze search tree efficiencies and write programs for data structures like quad trees and oct trees.
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 3

Advanced Data Structures and Algorithms

E2UC503C
ASSIGNMENT 1
Note: In case of programming problem, write your code in Java
or Python Only.

1 Explain the concept of single-dimensional and multi-


dimensional arrays.
2 Describe how arrays are represented in the row major order.
3 Explain how arrays are represented in the column major
order.
4 Define what a sparse matrix is and describe its
representation.
5 Explain how insertion and deletion operations work in a singly
linked list. Write its code also.
6 Derive the index formulae for 1-D, 2-D, and 3-D arrays.
7 Evaluate the time complexity of the insertion operation in a
singly linked list.
8 Given an array of size N with integers in the range of [1, N],
the task is to find the missing number from the first N
integers. There are no duplicates in the list. Write its program
also.
9 Write a program that, given an array of n elements that
contains elements from 0 to n-1, with any of these numbers
appearing any number of times. Find these repeating
numbers in O(n).
Advanced Data Structures and Algorithms
E2UC503C
ASSIGNMENT 2
Note: In case of programming problem, write your code in Java
or Python Only.

1 Describe the process of converting an infix expression to a


postfix expression. Write its program.
2 Define tail recursion and explain its significance.
3 Write a program to implement stack data structure using a
linked list.
4 Write a program to implement queue data structure using a
linked list.
5 Describe the steps involved in evaluating a postfix
expression.
6 Explain the principles of recursion and how it differs from
iteration.
7 How is a queue different from a stack, and in what scenarios
is each useful?
8 Analyse the advantages and disadvantages of using
recursion in problem-solving compared to iterative
approaches.
9 Implement a recursive function to solve the Tower of Hanoi
problem.
10 Create a program that demonstrates the use of a stack to
check the balance of parentheses in an expression.
11 Write a program to implement stack using queue and vice
versa.
Advanced Data Structures and Algorithms
E2UC503C
ASSIGNMENT 3
Note: In case of programming problem, write your code in Java
or Python Only.

1 Explain the index sequential search and its principles.


2 Describe the basic concept of hashing in data structures.
3 List common collision resolution techniques used in hashing.
4 Compare and contrast sequential search and binary search
algorithms.
5 Write code to insert, delete, and search for a node in a
binary search tree.
6 Create a program that constructs a binary tree from given
in-order and pre-order traversals.
7 Implement a basic AVL tree and demonstrate insertion,
deletion, and searching operations.
8 Given the following input (4322, 1334, 1471, 9679, 1989,
6171, 6173, 4199) and the hash function x mod 10, find the
number of collisions.
9 Evaluate the efficiency of different types of search trees,
such as AVL trees, B+ trees, Quad trees, and Oct trees, for
specific applications.
10 Write a code to implement Quad tree, and oct tree.

You might also like