Skip to content

Latest commit

 

History

10 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 

Repository files navigation

Core Algorithms in Python

About This Repository

Bringing theory to life: A collection of core algorithms I learned as pseudocode during my Computer Science and Statistics studies, now implemented in Python.

Instead of just reading about theoretical concepts, I created this space to document my academic journey. This repository serves as a practical, searchable index of my study notes turned into real, working code. It focuses on clean implementation, logical thinking, and problem-solving.

Algorithms Index

Here is a detailed list of the algorithms included. Click on any file name to view the Python code directly.

  • Searching Algorithms

    • Binary Search.py: Efficiently finds the position of a target value within a sorted array using a divide-and-conquer approach.
  • Math & Combinatorics

    • Combination.py: Calculates and generates all possible combinations of a dataset without repetitions.
    • Subsets.py: Generates all possible subsets (the power set) of a given mathematical set.
    • Find Greatest Common Divisor.py: Finds the greatest common divisor (GCD) of two numbers efficiently.
  • Computational Geometry

    • Convex Hull.py: Finds the smallest convex polygon that contains a given set of points (useful in pattern recognition and data modeling).
  • Dynamic Programming

    • Ways Num.py: Solves the classic "number of ways" problem. It calculates how many different ways you can reach a target sum using a specific set of numbers. This script demonstrates memoization (top-down dynamic programming) to optimize performance and avoid redundant calculations.

Author

Abdallah Abukhalil

Data Analyst | Data Scientist | B.Sc in Stat & CS - Ain Shams University

LinkedIn      GitHub

About

A collection of core algorithms originally studied as college pseudocode, now implemented in Python code.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Contributors

Languages