Skip to content

Latest commit

Β 

History

History
89 lines (65 loc) Β· 2.32 KB

File metadata and controls

89 lines (65 loc) Β· 2.32 KB

πŸ“˜ Computer Science – Algorithms Notebook

A personal Jupyter Notebook collection focused on algorithmic thinking, complexity analysis, and classic computer science algorithms.


🧠 About This Course

This repository contains my study notes, implementations, and experiments developed while taking the Computer Science course.

The main goal of this class is to strengthen:

  • Algorithmic thinking
  • Problem-solving skills
  • Understanding of computational complexity
  • Implementation of fundamental algorithms

All content is implemented and documented using Jupyter Notebooks to combine theory, code, and examples in a clear learning workflow.


🎯 Topics Covered

1. Algorithmic Thinking

  • Breaking problems into smaller steps
  • Designing logical procedures to solve tasks
  • Writing clear and efficient pseudocode

2. Complexity Analysis

  • Time complexity (Big-O notation)
  • Space complexity
  • Comparing algorithm efficiency
  • Optimizing naive solutions

3. Sorting Algorithms

Classic sorting techniques implemented and analyzed:

  • Bubble Sort
  • Selection Sort
  • Insertion Sort
  • Merge Sort
  • Quick Sort

Each notebook includes:

  • Step-by-step explanation
  • Python implementation
  • Complexity discussion
  • Example test cases

4. Mathematical & Recursive Algorithms

  • Fibonacci sequence generation
  • Euclidean algorithm for GCD
  • Recursive vs iterative solutions
  • Performance comparisons

5. Array & Search Problems

  • Finding indexes efficiently
  • Maximum pair product in arrays
  • Basic searching strategies
  • Optimization from O(n log n) to O(n) solutions

πŸ› οΈ Technologies Used

  • Python for algorithm implementation
  • Jupyter Notebook for interactive learning
  • GitHub for version control and documentation

πŸ“‚ Repository Structure

computer-science/
β”‚
β”œβ”€β”€ notebooks/
β”œβ”€β”€ practice/
β”œβ”€β”€ workshops/
└── README.md