Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/abdallahhemdan/algorithmic-toolbox-san-diego

βœ” My Solutions of (Algorithmic-Toolbox ) Assignments from Coursera ( University of California San Diego ) With "Go In Depth" Part Which Contains More Details With Each of The Course Topics
https://github.com/abdallahhemdan/algorithmic-toolbox-san-diego

advanced-algorithms advanced-data-structures algorithm algorithmic-toolbox algorithms big-o-notation binary-search coursera cpp data-structures fibonacci-numbers gcd knapsack-problem lcm longest-common-subsequence polynomial-multiplication san-diego selection-sort sum

Last synced: 5 days ago
JSON representation

βœ” My Solutions of (Algorithmic-Toolbox ) Assignments from Coursera ( University of California San Diego ) With "Go In Depth" Part Which Contains More Details With Each of The Course Topics

Awesome Lists containing this project

README

        



![Component 8](https://user-images.githubusercontent.com/40190772/83211365-3a474080-a15d-11ea-8064-3c1c5ce2ed57.png)

Algorithmic Toolbox


[![GitHub issues](https://img.shields.io/github/contributors/AbdallahHemdan/Algorithmic-Toolbox-San-Diego)](https://github.com/AbdallahHemdan/Algorithmic-Toolbox-San-Diego/contributors)
[![GitHub issues](https://img.shields.io/github/issues/AbdallahHemdan/Algorithmic-Toolbox-San-Diego)](https://github.com/AbdallahHemdan/Algorithmic-Toolbox-San-Diego/issues)
[![GitHub forks](https://img.shields.io/github/forks/AbdallahHemdan/Algorithmic-Toolbox-San-Diego)](https://github.com/AbdallahHemdan/Algorithmic-Toolbox-San-Diego/network)
[![GitHub stars](https://img.shields.io/github/stars/AbdallahHemdan/Algorithmic-Toolbox-San-Diego)](https://github.com/AbdallahHemdan/Algorithmic-Toolbox-San-Diego/stargazers)
[![GitHub license](https://img.shields.io/github/license/AbdallahHemdan/Algorithmic-Toolbox-San-Diego)](https://github.com/AbdallahHemdan/Algorithmic-Toolbox-San-Diego/blob/master/LICENSE)

# 🌟 Algorithmic Toolbox

> This repository will contain my work from the [Master Algorithmic Programming Techniques Specialization](https://www.coursera.org/specializations/data-structures-algorithms) that was created by UC San Diego and delivered through Coursera. I will be implementing solutions in C++.

## About This Specialization

> The Specialization covers algorithmic techniques for solving problems arising in computer science applications. It is a mix of theory and practice: you will not only design algorithms and estimate their complexity, but you will get a deeper understanding of algorithms by implementing them in the programming language of your choice (C, C++, C#, Haskell, Java, JavaScript, Python2, Python3, Ruby, and Scala).

> This Specialization is unique, because it offers two real-world projects. Advanced Shortest Paths project is offered in the end of the Algorithms on Graphs course. In this project, you'll deal with road network analysis and social network analysis. You'll learn how to compute the fastest route between New York and Mountain View thousands of times faster than classic algorithms and close to those used in Google Maps.

> Through Genome Assembly culminating project at the end of the Specialization, you'll learn how to assemble genomes from millions of short pieces and how algorithms fuel recent developments in personalized medicine.

## πŸ“ Table of Content
- [Week-1](/week1_programming_challenges)[ (pdf) ](/week1_programming_challenges/week1_programming_challenges.pdf)
* [Sum of two Digits](/week1_programming_challenges/1_sum_of_two_digits)
* [Maximum Pairwise Product](/week1_programming_challenges/2_maximum_pairwise_product)

- [Week-2](/week2_programming_challenges)[ (pdf) ](/week2_programming_challenges/week2_programming_challenges.pdf)
* [Small Fibonacci Number](/week2_programming_challenges/1_fibonacci_number)
* [The Last Digit of a Large Fibonacci Number](/week2_programming_challenges/2_last_digit_of_fibonacci_number)
* [Greatest Common Divisor](/week2_programming_challenges/3_greatest_common_divisor)
* [Least Common Multiple](/week2_programming_challenges/4_least_common_multiple)
* [Huge Fibonacci Number modulo m](/week2_programming_challenges/5_fibonacci_number_again)
* [Last Digit of a Sum of Fibonacci Numbers](/week2_programming_challenges/)
* [Last Digit of a Partial Sum of Fibonacci Numbers](/week2_programming_challenges/)
* [Last Digit of the Sum of Squares of Fibonacci Numbers](/week2_programming_challenges/)


- [Week-3](/week3_programming_challenges)[ (pdf) ](/week2_programming_challenges/week2_programming_challenges.pdf)
* [Money Change](/week3_programming_challenges/1_money_change)
* [Maximum Value of the Loot (Fractional Knapsack)](/week3_programming_challenges/2_maximum_value_of_the_loot)
* [Maximum Advertisement Revenue (Maximum Dot Product)](/week3_programming_challenges/3_maximum_advertisement_revenue)
* [Collecting Signatures (Covering Segments by Points)](/week3_programming_challenges/4_collecting_signatures)
* [Maximum Number of Prizes (Different Summands)](/week3_programming_challenges/5_maximum_number_of_prizes)
* [Maximum Salary (Largest Number)](/week3_programming_challenges/6_maximum_salary)

- [Week-4](/week4_programming_challenges)[ (pdf) ](/week4_programming_challenges/week4_divide_and_conquer.pdf)
* [binary search](/week4_programming_challenges/1_binary_search)
* [majority element](/week4_programming_challenges/2_majority_element)
* [improving quicksort](/week4_programming_challenges/3_improving_quicksort)
* [number of inversions](/week4_programming_challenges/4_number_of_inversions)
* [organizing a lottery](https://github.com/AbdallahHemdan/Algorithmic-Toolbox-San-Diego/blob/master/week4_programming_challenges/5_organizing%20a%20lottery/organizing%20a%20lottery.cpp)
* [closest points](https://github.com/AbdallahHemdan/Algorithmic-Toolbox-San-Diego/blob/master/week4_programming_challenges/6_Closest_Points/Closest_Points.cpp)


- [Week-5](/week5_programming_challenges)[ (pdf) ](/week5_programming_challenges/week5_dynamic_programming1.pdf)
* [money change again](https://github.com/AbdallahHemdan/Algorithmic-Toolbox-San-Diego/blob/master/week5_programming_challenges/1_money_change_again/change_dp.cpp)
* [primitive calculator](/week4_programming_challenges/2_majority_element)
* [edit distance](https://github.com/AbdallahHemdan/Algorithmic-Toolbox-San-Diego/blob/master/week5_programming_challenges/3_edit_distance/edit_distance.cpp)
* [longest common subsequence of two sequences](https://github.com/AbdallahHemdan/Algorithmic-Toolbox-San-Diego/blob/master/week5_programming_challenges/4_longest_common_subsequence_of_two_sequences/lcs2.cpp)
* [longest common subsequence of three sequences](https://github.com/AbdallahHemdan/Algorithmic-Toolbox-San-Diego/blob/master/week5_programming_challenges/5_longest_common_subsequence_of_three_sequences/lcs3.cpp)


- [Week-6](/week6_programming_challenges)[ (pdf) ](/week6_programming_challenges/week6_dynamic_programming1.pdf)
* [maximum amount of gold](/week6_programming_challenges/1_maximum_amount_of_gold)
* [partitioning souvenirs](/week6_programming_challenges/2_partitioning_souvenirs)
* [maximum value of an arithmetic expression](/week6_programming_challenges/3_maximum_value_of_an_arithmetic_expression)

## πŸ’‘πŸ“’ Go in Depth

> I Have Added a New Part **Go in Depth** Which Will Contain The Course Covered Topics But With More Details ,And more Than One Method To Solve Each Problem

- [Big O Notation](https://github.com/AbdallahHemdan/Algorithmic-Toolbox-San-Diego/tree/master/Go%20in%20depth%20with%20each%20topic/Big%20O%20Notation)
- [Fibonacci-Numbers](https://github.com/AbdallahHemdan/Algorithmic-Toolbox-San-Diego/tree/master/Go%20in%20depth%20with%20each%20topic/Fibonacci%20Numbers)
- [Greatest-Common-Divisor](https://github.com/AbdallahHemdan/Algorithmic-Toolbox-San-Diego/tree/master/Go%20in%20depth%20with%20each%20topic/Greatest%20Common%20Divisor)
- [Least-Common-Multiple](https://github.com/AbdallahHemdan/Algorithmic-Toolbox-San-Diego/tree/master/Go%20in%20depth%20with%20each%20topic/Least%20Common%20Multiple)
- [Fractional-Knapsack](https://github.com/AbdallahHemdan/Algorithmic-Toolbox-San-Diego/tree/master/Go%20in%20depth%20with%20each%20topic/Fractional%20Knapsack)
- [0_1_KnapSack](https://github.com/AbdallahHemdan/Algorithmic-Toolbox-San-Diego/tree/master/Go%20in%20depth%20with%20each%20topic/_0_1_KnapSack)
- [Linear Search](https://github.com/AbdallahHemdan/Algorithmic-Toolbox-San-Diego/tree/master/Go%20in%20depth%20with%20each%20topic/Linear%20Search)
- [Binary Search](https://github.com/AbdallahHemdan/Algorithmic-Toolbox-San-Diego/tree/master/Go%20in%20depth%20with%20each%20topic/Binary%20Search)
- [Polynomials Multiplication](https://github.com/AbdallahHemdan/Algorithmic-Toolbox-San-Diego/tree/master/Go%20in%20depth%20with%20each%20topic/Polynomials%20Multiplication)
- [Selection Sort](https://github.com/AbdallahHemdan/Algorithmic-Toolbox-San-Diego/tree/master/Go%20in%20depth%20with%20each%20topic/Selection%20Sort)
- [Merge Sort](https://github.com/AbdallahHemdan/Algorithmic-Toolbox-San-Diego/tree/master/Go%20in%20depth%20with%20each%20topic/Merge%20Sort)
- [All Sorting Algorithms](https://github.com/AbdallahHemdan/Algorithmic-Toolbox-San-Diego/tree/master/Go%20in%20depth%20with%20each%20topic/All%20sorting%20in%20one%20place)
- [Binary Search Tree](https://github.com/AbdallahHemdan/Algorithmic-Toolbox-San-Diego/tree/master/Go%20in%20depth%20with%20each%20topic/Binary%20Search%20Tree)
- [Binary Tree](https://github.com/AbdallahHemdan/Algorithmic-Toolbox-San-Diego/tree/master/Go%20in%20depth%20with%20each%20topic/Binary%20Tree)
- [Bubble Sort](https://github.com/AbdallahHemdan/Algorithmic-Toolbox-San-Diego/tree/master/Go%20in%20depth%20with%20each%20topic/Bubble%20Sort)
- [Heap Sort](https://github.com/AbdallahHemdan/Algorithmic-Toolbox-San-Diego/tree/master/Go%20in%20depth%20with%20each%20topic/Heap%20Sort)
- [Insertion Sort](https://github.com/AbdallahHemdan/Algorithmic-Toolbox-San-Diego/tree/master/Go%20in%20depth%20with%20each%20topic/Insertion%20Sort)
- [Minimum Spanning Tree](https://github.com/AbdallahHemdan/Algorithmic-Toolbox-San-Diego/tree/master/Go%20in%20depth%20with%20each%20topic/Minimum%20Spanning%20Tree)
- [Quick Sort](https://github.com/AbdallahHemdan/Algorithmic-Toolbox-San-Diego/tree/master/Go%20in%20depth%20with%20each%20topic/Quick%20Sort)
- [Shell Sort](https://github.com/AbdallahHemdan/Algorithmic-Toolbox-San-Diego/tree/master/Go%20in%20depth%20with%20each%20topic/Shell%20Sort)
- [Tower of Hanoi](https://github.com/AbdallahHemdan/Algorithmic-Toolbox-San-Diego/tree/master/Go%20in%20depth%20with%20each%20topic/Tower%20of%20Hanoi)
- [What's the stable sort](https://github.com/AbdallahHemdan/Algorithmic-Toolbox-San-Diego/tree/master/Go%20in%20depth%20with%20each%20topic/What's%20the%20stable%20sort)

## πŸŽ‰πŸŽˆ Certification

![coursera algorithmic toolbox certification-page-001](https://user-images.githubusercontent.com/40190772/52151053-78704500-267a-11e9-8f68-b7ed882afedd.jpg)

## License

> This software is licensed under MIT License, See [License](https://github.com/AbdallahHemdan/Algorithmic-Toolbox-San-Diego/blob/master/LICENSE) for more information Β©AbdallahHemdan.