Go to file
Akash G Krishnan de2725f4ac
Update mergesort.py (#2563)
* Update mergesort.py

1) Updating the merge sort in python as the previous implementation was modifying the input array
2) divided the division part and conquer part of the merge sort algorithm as 2 functions namely mergeSort and merge.
3) function mergeSort divides the function into halves i.e the purpose of the function will be to divide the array
4) function merge will merge 2 halves into a sorted array
5)Added random test cases using shuffle as suggested by @dhruvmanila
6 The time and space complexity of the previous and my version remains the same. i.e (n log(n) time and n log(n) space
7) changed variables as per the python case as required and suggested by @dhruvmanila
8) Updated function names as suggested by @dhurvmanila

* Update mergesort.py

Added in few more test cases 
added type hints for the functions and parameters as suggested by @dhruvmanila
formatted the code using Auto Pep8

* Update mergesort.py

update and added new testcases

* Update mergesort.py

Added in doc test in merge function

* Update mergesort.py

fixing pre-commit fails

* Update mergesort.py

Co-authored-by: Dhruv <dhruvmanila@gmail.com>
2020-10-15 14:00:12 +05:30
.github Rename Project Euler directories and other dependent changes (#3300) 2020-10-15 12:43:28 +05:30
arithmetic_analysis Add __init__.py files in all the directories (#2503) 2020-09-28 19:42:36 +02:00
backtracking Added sudoku type hints [Hacktober Fest] (#3124) 2020-10-10 12:32:51 +05:30
bit_manipulation Add __init__.py files in all the directories (#2503) 2020-09-28 19:42:36 +02:00
blockchain Add __init__.py files in all the directories (#2503) 2020-09-28 19:42:36 +02:00
boolean_algebra Add __init__.py files in all the directories (#2503) 2020-09-28 19:42:36 +02:00
cellular_automata Add __init__.py files in all the directories (#2503) 2020-09-28 19:42:36 +02:00
ciphers fixed error (#3281) 2020-10-14 11:53:37 +02:00
compression Add __init__.py files in all the directories (#2503) 2020-09-28 19:42:36 +02:00
computer_vision Fix English grammar in computer vision (#3210) 2020-10-12 08:17:01 +08:00
conversions Added decimal_to_binary_recursion.py (#3266) 2020-10-14 12:27:08 +02:00
data_structures Add skew heap data structure. (#3238) 2020-10-14 12:35:53 +02:00
digital_image_processing Fixes: #2404. Fix PIL DeprecationWarnings in pytest output (#2678) 2020-10-03 09:22:22 +02:00
divide_and_conquer Update mergesort.py (#2563) 2020-10-15 14:00:12 +05:30
dynamic_programming Add __init__.py files in all the directories (#2503) 2020-09-28 19:42:36 +02:00
file_transfer Add __init__.py files in all the directories (#2503) 2020-09-28 19:42:36 +02:00
fuzzy_logic Add __init__.py files in all the directories (#2503) 2020-09-28 19:42:36 +02:00
genetic_algorithm Add __init__.py files in all the directories (#2503) 2020-09-28 19:42:36 +02:00
geodesy Fix imports for all namespace packages (#2506) 2020-09-28 23:41:04 +02:00
graphics Fix all errors mentioned in pre-commit run (#2512) 2020-09-30 10:38:00 +02:00
graphs feat: added prim's algorithm v2 (#2742) 2020-10-10 12:18:52 +05:30
greedy_method Fix imports for all namespace packages (#2506) 2020-09-28 23:41:04 +02:00
hashes Add __init__.py files in all the directories (#2503) 2020-09-28 19:42:36 +02:00
images Add __init__.py files in all the directories (#2503) 2020-09-28 19:42:36 +02:00
linear_algebra Fix all errors mentioned in pre-commit run (#2512) 2020-09-30 10:38:00 +02:00
machine_learning Add GitHub action for pre-commit (#2515) 2020-09-30 15:23:34 +02:00
maths Fixes: #2630 Add doctests and support for negative numbers (#2626) 2020-10-07 15:23:14 +05:30
matrix Add __init__.py files in all the directories (#2503) 2020-09-28 19:42:36 +02:00
networking_flow Add __init__.py files in all the directories (#2503) 2020-09-28 19:42:36 +02:00
neural_network Add __init__.py files in all the directories (#2503) 2020-09-28 19:42:36 +02:00
other Created max_sum_sliding_window in Python/other (#3065) 2020-10-09 17:51:04 +05:30
project_euler Rename Project Euler directories and other dependent changes (#3300) 2020-10-15 12:43:28 +05:30
quantum added script to perform quantum entanglement (#3270) 2020-10-14 12:25:20 +02:00
scheduling Add GitHub action for pre-commit (#2515) 2020-09-30 15:23:34 +02:00
scripts Fix imports for all namespace packages (#2506) 2020-09-28 23:41:04 +02:00
searches Fix: Multiple errors in fibonacci search. (#2659) 2020-10-08 09:06:19 +05:30
sorts Update insert sort (#2493) 2020-10-03 20:49:08 +05:30
strings Added swap case program and removed unexpected expression part (#3212) 2020-10-15 00:19:00 +02:00
traversals Add __init__.py files in all the directories (#2503) 2020-09-28 19:42:36 +02:00
web_programming Fetch CO2 emission information (#3182) 2020-10-12 01:31:56 +02:00
.coveragerc Add pytest-cov (#1578) 2019-11-17 19:37:58 +01:00
.gitignore contribution guidelines checks (#1787) 2020-03-04 13:40:28 +01:00
.gitpod.yml Change gitpod configuration for python3. (#1827) 2020-04-07 12:20:08 +02:00
.pre-commit-config.yaml Rename Project Euler directories and other dependent changes (#3300) 2020-10-15 12:43:28 +05:30
.travis.yml Fix Travis CI slow build on Project Euler Solution job (#3262) 2020-10-13 22:43:40 +05:30
CONTRIBUTING.md Update CONTRIBUTING.md (#3223) 2020-10-12 14:08:50 +05:30
DIRECTORY.md Project Euler 62 Solution (#3029) 2020-10-15 09:13:39 +05:30
LICENSE.md Update year in LICENSE.md (#1848) 2020-04-13 02:17:29 +02:00
pytest.ini Add pytest init file to define custom mark mat_ops (#2120) 2020-06-15 18:09:32 +02:00
README.md Update README.md (#3221) 2020-10-12 14:10:42 +05:30
requirements.txt Add First Quantum Qiskit Code Tutorial (#3173) 2020-10-12 21:41:05 +02:00
Travis_CI_tests_are_failing.md Add Travis_CI_tests_are_failing.md (#1499) 2019-10-28 13:38:08 +01:00

The Algorithms - Python

Gitpod Ready-to-Code Gitter chat  Build Status  LGTM  contributions welcome  Donate    pre-commit code style: black

All algorithms implemented in Python (for education)

These implementations are for learning purposes only. Therefore they may be less efficient than the implementations in the Python standard library.

Contribution Guidelines

Read our Contribution Guidelines before you contribute.

Community Channel

We're on Gitter! Please join us.

List of Algorithms

See our directory.