Skip to content

A dual-language repository showcasing advanced Data Science foundations. It features R scripts for comprehensive statistical analysis, probability modeling (Normal, Poisson, Binomial), and EDA, alongside a Python library of recursive algorithms, sorting implementations (Quick, Selection, Insertion Sort), and mathematical series solutions from SLIIT

License

Notifications You must be signed in to change notification settings

dyneth02/DSA-Python-Scripts

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

42 Commits
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

Data Structures & Algorithms (DSA) in Python

Welcome to my DSA repository! This project is a curated collection of Python scripts developed to master fundamental and advanced algorithmic concepts. It covers a wide spectrum of topics including recursion, sorting algorithms, tree structures, and mathematical series.

๐Ÿš€ Overview

This repository serves as a technical showcase of my ability to implement complex logic and efficient data structures. Each script is designed for clarity, efficiency, and adherence to Pythonic coding standards.

๐Ÿ“‚ Project Structure

1. Sorting Algorithms

I have implemented several classic sorting algorithms, providing a deep dive into time and space complexity trade-offs.

I have implemented several classic sorting algorithms, providing a deep dive into time and space complexity trade-offs.

  • Bubble Sort: A fundamental comparison-based algorithm. ``
  • Selection Sort: Implementation focusing on finding minimum elements. ``
  • Insertion Sort: Efficient for small datasets or nearly sorted arrays. ``
  • Merge Sort: A robust Divide and Conquer implementation ensuring $O(n \log n)$ performance. ``
  • Quick Sort: A high-performance partitioning algorithm using the Lomuto/Hoare-style logic. ``

2. Tree Structures (Binary Search Tree)

A comprehensive Binary Search Tree (BST) implementation featuring:

  • Dynamic Operations: Insertion, search, and deletion (handling leaf, single-child, and two-child nodes). ``
  • Traversals: In-Order, Pre-Order, and Post-Order traversal methods. ``
  • Tree Stats: Methods to retrieve the root, minimum value, and maximum value within the structure. ``

3. Recursion & Combinatorics

Demonstrating the power of recursive thinking through various mathematical and string manipulation problems:

  • Permutations: Algorithms to generate all possible string arrangements and count permutation totals. ``
  • Factorials & Fibonacci: Standard recursive implementations with input validation for negative or decimal values. ``
  • Exponentiation: Recursive power function ($x^y$). ``

4. Mathematical Series & Patterns

A collection of scripts solving specific series challenges, often found in competitive programming:

  • Triangular Numbers & Cube Series: Recursive logic to calculate cumulative sums and cubic progressions. ``
  • Custom Progressions: Implementations for specific series logic, such as $f(n) = f(n-1) + 4n + 1$. ``

๐Ÿ› ๏ธ Technical Highlights

  • Input Validation: Robust handling of edge cases (negative numbers, non-integers, and empty lists). ``
  • Object-Oriented Programming (OOP): Use of classes and static methods for complex structures like BSTs. ``
  • Performance Metrics: Inclusion of helper functions to calculate statistical data like Median and Range from sorted arrays. ``

About

A dual-language repository showcasing advanced Data Science foundations. It features R scripts for comprehensive statistical analysis, probability modeling (Normal, Poisson, Binomial), and EDA, alongside a Python library of recursive algorithms, sorting implementations (Quick, Selection, Insertion Sort), and mathematical series solutions from SLIIT

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages