Skip to content

Sanyam-2026/ADA_Assignment

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ADA-Assignment-Programs

This repo contains all the programs which i have done as a part of ADA assignment

Unit-1: Introduction to Algorithms:

  1. Implement a binary search algorithm for an array of integers.
  2. Implement a selection sort algorithm for an array of integers.
  3. Implement an insertion sort algorithm for an array of integers.
  4. Implement a merge sort algorithm for an array of integers.
  5. Implement a quick sort algorithm for an array of integers.
  6. Implement a linear search algorithm for an array of integers.
  7. Implement a hash table data structure using separate chaining collision resolution
  8. Implement a hash table data structure using linear probing collision resolution.

Unit-2: Divide and Conquer:

  1. Implement a recursive algorithm for computing the factorial of a given positive integer using divide-and-conquer.
  2. Implement a recursive algorithm for computing the Fibonacci sequence using divide-and-conquer.
  3. Implement a recursive algorithm for computing the greatest common divisor of two integers using divide-and-conquer.
  4. Implement a recursive algorithm for computing the Euclidean distance between two points in 2D space using divide-and-conquer.
  5. Implement a divide-and-conquer algorithm for merging two sorted arrays.
  6. Implement a divide-and-conquer algorithm for sorting a linked list.

Unit-3: Dynamic Programming:

  1. Implement the Fibonacci sequence using dynamic programming in C or Python.
  2. Implement the longest common subsequence problem using dynamic programming in C or Python. Analyze the time and space complexity of your implementation and compare it with the time and space complexity of a naive recursive implementation.
  3. Implement the knapsack problem using dynamic programming in C or Python. Analyze the time and space complexity of your implementation and compare it with the time and space complexity of a greedy algorithm.
  4. Implement the rod-cutting problem using dynamic programming in C or Python. Analyze the time and space complexity of your implementation and compare it with the time and space complexity of a naive recursive implementation
  5. Implement the matrix chain multiplication problem using dynamic programming in C or Python. Analyze the time and space complexity of your implementation and compare it with the time and space complexity of a naive recursive implementation.
  6. Develop a dynamic programming algorithm for the edit distance problem in C or Python. Analyze the time and space complexity of your implementation and compare it with the time and space complexity of a naive recursive implementation.
  7. Develop a dynamic programming algorithm for the coin change problem in C or Python. Analyze the time and space complexity of your implementation and compare it with the time and space complexity of a greedy algorithm.
  8. Develop a dynamic programming algorithm to find the longest increasing subsequence in C or Python. Analyze the time and space complexity of your implementation and compare it with the time and space complexity of a brute-force approach.

Unit-4: Greedy Algorithms:

  1. Implement Kruskal's algorithm to find the minimum spanning tree of a given graph in C or Python.
  2. Implement the Dijkstra algorithm to find the shortest path between two vertices in a graph in C or Python.
  3. Implement Prim's algorithm to find the minimum spanning tree of a given graph in flowchart.

Unit-5: Graph Algorithms:

  1. Implement Breadth First Search (BFS) algorithm to find the shortest path between two nodes in a graph in C or Python.
  2. Implement Depth First Search (DFS) algorithm to traverse a graph and find connected components in C or Python.
  3. Implement Dijkstra's algorithm to find the shortest path between two nodes in a weighted graph in C or Python.
  4. Implement the Prim's algorithm to find the minimum spanning tree of a given graph in C or Python.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages