Skip to content

Design and Analysis of Algorithms, Machine Learning and Blockchain Technology code base.

Notifications You must be signed in to change notification settings

Shriharsh-Deshmukh/DAA-ML-BT-Algo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

50 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DAA-ML-BT-Algo

Design and Analysis of Algorithms and Machine Learning code base.



Repository Overview
To download all complete codes ‎ ‎

Algorithm and Machine Learning Projects

This repository contains a collection of algorithms, data structures, and machine learning projects implemented in various programming languages. Each project folder includes code, explanations, and examples. The topics range from fundamental algorithms like Fibonacci and Knapsack problems to machine learning models like K-Nearest Neighbors and K-Means Clustering.

Table of Contents

  1. Fibonacci Program (non-recursive and recursive approaches)
  2. Huffman Encoding using a Greedy Strategy
  3. Fractional Knapsack Problem using a Greedy Algorithm
  4. 0-1 Knapsack Problem
  5. n-Queens matrix using backtracking method
  6. Quick Sort Analysis using Deterministic Partitioning
  7. Uber Ride Price Prediction
  8. Email Spam Detection
  9. Neural Network-Based Classifier
  10. 10. Gradient Descent Algorithm
  11. K-Nearest Neighbors Algorithm (Diabetes Dataset)
  12. K-Means Clustering (Sales Data Sample)
  13. Bank Solidity Contract
  14. Student Solidity Contract

Project Descriptions

A classic algorithm to generate Fibonacci numbers, implemented using both recursive and non-recursive (iterative) methods. This project explores the time complexity and performance differences between the two approaches.

Implementation of the Huffman Encoding algorithm, which compresses data by using variable-length codes for characters based on their frequencies. This project uses a greedy approach to build the optimal encoding tree.

Solution to the fractional knapsack problem, where items can be divided. The algorithm aims to maximize the total value within a given weight limit by selecting items or fractions of items based on a greedy strategy.

This project solves the 0-1 Knapsack problem, where items cannot be divided, using dynamic programming. It explores ways to maximize the total value while staying within the weight constraint.

The n-Queens matrix using the backtracking method is a solution approach to place n queens on an n×n chessboard so that no two queens threaten each other by exploring possible placements recursively and backtracking when conflicts arise.

Analysis of the Quick Sort algorithm, using deterministic partitioning. This project explains the partitioning process and compares the efficiency of Quick Sort against other sorting algorithms under various conditions.

A machine learning model to predict the price of Uber rides based on various factors such as distance, time of day, and location. This project demonstrates data preprocessing, feature engineering, and model training for regression tasks.

A machine learning classifier to detect spam emails. The project includes data preprocessing, feature extraction (e.g., term frequency-inverse document frequency), and model evaluation metrics for text classification.

Implementation of a neural network classifier for binary or multi-class classification tasks. This project includes training, validation, and tuning of neural networks using a sample dataset.

The Gradient Descent algorithm is an optimization technique used to minimize a function by iteratively moving towards the steepest descent (negative gradient) of the function, updating parameters in the direction of the gradient to find the minimum value.

A K-Nearest Neighbors (KNN) classifier applied to the Diabetes dataset. This project explores the application of KNN for binary classification, parameter tuning, and performance evaluation.

An unsupervised machine learning model using K-Means clustering applied to sales data. This project includes preprocessing, clustering analysis, and visualization of clusters to understand customer segmentation.

A Bank Solidity Contract is a smart contract on the Ethereum blockchain that simulates a bank's functionalities, such as depositing, withdrawing, and transferring funds, while ensuring secure and transparent transactions through smart contract logic.

A Student Solidity Contract is a smart contract designed to manage student-related data, such as registration, grades, and course enrollments, using blockchain technology for secure and tamper-proof record-keeping.

How to Run the Projects

Linux (Ubuntu) Terminal Commands

Python

python3 code.py

C++

g++ code.cpp
./a.out

Java

javac code.java
java code

Clone this repository:

git clone https://github.com/Shriharsh-Deshmukh/DAA-ML-BT-Algo.git

About

Design and Analysis of Algorithms, Machine Learning and Blockchain Technology code base.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages