Christian Clauss
1f2b1a88ab
Typos in comments in hill_climbing.py ( #1667 )
...
* Typos in comments in hill_climbing.py
* fixup! Format Python code with psf/black push
2020-01-08 21:06:53 +08:00
harsh patel
d4fc55c5fc
Add files via upload ( #1657 )
2020-01-04 16:03:55 +01:00
Christian Clauss
28419cf839
pyupgrade --py37-plus **/*.py ( #1654 )
...
* pyupgrade --py37-plus **/*.py
* fixup! Format Python code with psf/black push
2020-01-03 22:25:36 +08:00
Samarth Sehgal
02b717e364
Update odd_even_transposition_parallel.py ( #1458 )
...
* Update odd_even_transposition_parallel.py
* arr = OddEvenTransposition(arr)
2019-12-08 23:43:56 +01:00
Níkolas Vargas
938dd0bbb5
improved prime numbers implementation ( #1606 )
...
* improved prime numbers implementation
* fixup! Format Python code with psf/black push
* fix type hint
* fixup! Format Python code with psf/black push
* fix doctests
* updating DIRECTORY.md
* added prime tests with negative numbers
* using for instead filter
* updating DIRECTORY.md
* Remove unused typing.List
* Remove tab indentation
* print("Sorted order is:", " ".join(a))
2019-12-07 06:39:08 +01:00
SHAKTI SINGH
ccc1ff2ce8
pigeonhole sorting in python ( #364 )
...
* pigeonhole sorting in python
* variable name update in pigeonhole_sort.py
* Add doctest
2019-12-06 07:34:21 +01:00
Bardia Alavi
494fb4fb49
address merge_soft duplicate files ( #1612 )
...
Here the old file merge_sort_fastest is renamed to unknown_sort. Because it is not merge sort algorithm.
Comments are updated accordingly.
2019-12-05 05:06:41 +01:00
Metehan
62e51fe487
recursive quick sort ( #1536 )
...
* recursive quick sort
* recursive quick sort
* Delete recursive-quick-sort
* Update recursive-quick-sort.py
2019-10-31 19:49:25 +01:00
Ankur Chattopadhyay
7592cba417
psf/black code formatting ( #1421 )
...
* added sol3.py for problem_20
* added sol4.py for problem_06
* ran `black .` on `\Python`
2019-10-22 19:13:48 +02:00
anubhav-sharma13
ce7faa5a3a
Largest subarray sum ( #1404 )
...
* Insertion_sort
* largest subarray sum
* updated print command
* removed extraspaces
* removed sys.maxint
* added explaination
* Updated function style
* Update largest_subarray_sum.py
* Update i_sort.py
* Delete bogo_bogo_sort.py
2019-10-22 09:30:11 +02:00
Sujitkumar Singh
38d7e7073a
The time complexity of every algorithms make its value ( #1401 )
...
* added timer in bubble sort
* Updated time of execution
* import time in main only
* Update bubble_sort.py
* start = time.process_time()
2019-10-19 22:12:54 +02:00
ayush246
ab65a3915c
Double sort (Added with required updates) ( #1399 )
...
* Added with required updates
* Updated
* required updates
* Update double_sort.py
* Update double_sort.py
2019-10-19 12:38:15 +02:00
Phyllipe Bezerra
455509acee
Add Topological Sort ( #1302 )
...
* add topological sort
* fix topological sort?
* running black
* renaming file
2019-10-18 08:13:58 +02:00
Du YuanChao
e80d248e65
optimization ( #1303 )
2019-10-08 13:25:00 +05:00
mvhb
067a9b5136
adding input option and increasing the number of doctest ( #1281 )
...
* adding input option and incresing the number of doctest
* mixing positive and negative numbers in the same test case
2019-10-06 23:55:55 +05:00
William Zhang
9eac17a408
psf/black code formatting ( #1277 )
2019-10-05 10:14:13 +05:00
William Zhang
0e333ae021
added bogobogosort ( #1258 )
...
* added bogobogosort
* fix indentation error
2019-10-03 11:17:30 +02:00
Parth Paradkar
390feb0b23
Add doctests for sorting algorithms ( #1263 )
...
* doctests and intro docstring added
* doctests, docstrings and check for empty collection added
* Intro docstring added
* python versions reversed
2019-10-03 10:19:11 +02:00
Charitoc
2375bfbee5
Adding stooge sort ( #1206 )
...
* Adding stooge sort
* Updated doctest
* Just added underscore in the name
2019-09-26 17:19:01 +02:00
Christian Clauss
47a9ea2b0b
Simplify code by dropping support for legacy Python ( #1143 )
...
* Simplify code by dropping support for legacy Python
* sort() --> sorted()
2019-08-19 15:37:49 +02:00
FrogBattle
e58a5e6842
Update tim_sort.py ( #972 )
...
* Update tim_sort.py
Update tim_sort.py
The previous algorithm was skipping numbers, according to issue #959 , and my own tests.
The version I am applying uses a while loop, which works correctly and is easier to compute, as there is no break statement.
* Update tim_sort.py
2019-07-30 18:06:48 +02:00
obelisk0114
1dc9ec8fb2
Update Bucket Sort time complexity analysis ( #918 )
2019-07-12 23:16:14 +08:00
Alfonso Rodríguez Pereira
5f991f7740
#315 Renamed all files to snake_case ( #993 )
2019-07-11 11:16:42 +02:00
cclauss
b7f13d991c
Travis CI: Run black, doctest, flake8, mypy, and pytest ( #964 )
...
* Travis CI: Add type checking with mypy
* Create requirements.txt
* script: mypy --ignore-missing-stubs=cv2,numpy .
* Delete requirements.txt
* script: mypy --ignore-missing-imports .
* Run doctests
* Disable doctest -v other/detecting_english_programmatically.py
* Pytest
* No |
* pytest || true
* Run black doctest flake8 mypy pytest
* after_success: Build Directory.md
* Typo in filename: Dictionary.txt --> dictionary.txt'
Discovered via doctest run in #964
* python -m doctest -v
* pip install black flake8 mypy pytest
* pytest --doctest-glob='*.py'
* pytest --doctest-modules
* pytest --doctest-modules ./sorts
* pytest --doctest-modules ./ciphers ./other ./searches ./sorts ./strings || true
* if __name__ == "__main__":
* if __name__ == "__main__":
* if __name__ == '__main__':
* if __name__ == '__main__':
* if __name__ == '__main__':
* Create requirements.txt
* Update requirements.txt
* if __name__ == "__main__":
* Lose the doctests
* if __name__ == '__main__':
* Remove print-a-tuple
* doctest: Added missing spaces
* Update tabu_search.py
* The >>> are not doctests so change to >>)
* Travis CI: Run black, doctest, flake8, mypy, and pytest
* Link to the separate DIRECTORY.md file
* Update README.md
2019-07-08 23:27:51 +08:00
Anup Kumar Panwar
4e413c0183
Updated README
2019-07-06 11:11:20 +05:30
PatOnTheBack
217615abf6
Removed Unused Variables ( #949 )
...
- Removed two unused variables.
- Changed `a` to `_` since the `a` variable is never used.
This addresses [3 alerts from lgtm](d55bbcd204/files/sorts/Odd-Even_transposition_parallel.py
).
2019-07-05 14:04:46 +05:30
Ashok Bakthavathsalam
03f9940775
Refactored to one pop() ( #917 )
2019-07-03 23:31:10 +08:00
PatOnTheBack
a2236cfb97
Improve Formatting and Code Quality ( #934 )
...
* Improved Formatting of basic_maths.py
- Added docstrings.
- Improved whitespace formatting.
- Renamed functions to match snake_case.
* Improved Formatting of factorial_python.py
- Added docstrings.
- Improved whitespace formatting.
- Renamed constants to match UPPER_CASE.
* Improved Formatting of factorial_recursive.py
- Improved whitespace formatting to meet PyLint standards.
* Improved Code to Conform to PyLint
- Renamed `max` to `max_num` to avoid redefining built-in 'max' [pylint]
- Removed unnecessary parens after 'while' keyword [pylint]
* Improved Formatting of factorial_recursive.py
- Added docstrings.
- Improved whitespace formatting.
2019-07-02 09:35:43 +05:30
PatOnTheBack
bd4017928e
Added Whitespace and Docstring ( #924 )
...
* Added Whitespace and Docstring
I modified the file to make Pylint happier and make the code more readable.
* Beautified Code and Added Docstring
I modified the file to make Pylint happier and make the code more readable.
* Added DOCSTRINGS, Wikipedia link, and whitespace
I added DOCSTRINGS and whitespace to make the code more readable and understandable.
* Improved Formatting
* Wrapped comments
* Fixed spelling error for `movement` variable
* Added DOCSTRINGs
* Improved Formatting
* Corrected whitespace to improve readability.
* Added docstrings.
* Made comments fit inside an 80 column layout.
2019-07-01 16:10:18 +08:00
BruceLee569
34889fc6d8
Update quick_sort.py ( #928 )
...
Use the last element as the first pivot, for it's easy to pop, this saves one element space.
Iterating with the original list saves half the space, instead of generate a new shallow copy list by slice method.
2019-06-28 23:55:31 +08:00
CharlesRitter
6e894ba3e8
Odd-Even Transposition Sort ( #769 )
...
* -Added a single-threaded implementation of odd-even transposition sort.
This is a modified bubble sort meant to work with multiple processors.
Since this is running on a single thread, it has the same running time
as bubble sort.
* -Added a parallel implementation of Odd-Even Transposition sort
This implementation uses multiprocessing to perform the swaps
at each step of the algorithm simultaneously.
2019-06-07 23:38:43 +08:00
Anup Kumar Panwar
71be23999c
refactor
2019-05-26 21:56:10 +05:30
Mehdi ALAOUI
02c0daf9e5
Adding unit tests for sorting functions, and improving readability on some sorting algorithms ( #784 )
...
* Adding variable to fade out ambiguity
* More readability on merge sorting algorithm
* Updating merge_sort_fastest description and explaining why
* Adding tests file with imports
* Standardazing filenames and function names
* Adding test cases and test functions
* Adding test loop
* Putting 'user oriented code' inside main condition for having valid imports
* Fixing condition
* Updating tests: adding cases and todo list
* Refactoring first euler problem's first solution
2019-05-25 21:41:24 +08:00
José Henrique Ivanchechen
9f982a83c8
add pigeon hole sort ( #833 )
2019-05-24 22:46:39 +05:30
BruceLee569
a0ab3ce098
Update quick_sort.py ( #830 )
...
Modify the list comprehensions to reduce the number of judgments, the speed has increased by more than 50%.
2019-05-24 23:54:03 +08:00
Níkolas Vargas
023f5e092d
fix empty list validation and code data structures ( #826 )
...
* fix empty list validation and code data structures
* Update bucket_sort.py
https://github.com/TheAlgorithms/Python/pull/826#pullrequestreview-240357549
2019-05-22 20:09:36 +08:00
Adam
c1130490d7
fix spelling on line 44 of bucket sort ( #824 )
...
* change besd to best
2019-05-20 21:22:20 +08:00
Andy Lau
f5abc04176
Update bucket_sort.py ( #821 )
...
* Some simplification
2019-05-19 17:00:54 +08:00
Tommy.Liu
3c40fda6a3
More elegant coding for merge_sort_fastest ( #804 )
...
* More elegant coding for merge_sort_fastest
* More elegant coding for merge_sort
2019-05-14 18:17:25 +08:00
Gattlin Walker
06dbef04a0
Adding quick sort where random pivot point is chosen ( #774 )
2019-04-30 21:16:42 +08:00
sakuralethe
48553da785
variable in function should be lowercase ( #768 )
2019-04-26 17:43:51 +08:00
Ishani
96c36f8286
added wiggle_sort.py ( #734 )
...
* Wiggle_sort
* Rename Wiggle_Sort to wiggle_sort.py
2019-03-18 02:12:22 +08:00
Aruj Sharma
a0d5c9aaf0
Create BitonicSort.py ( #386 )
2019-02-11 17:53:49 +08:00
Inno Fang
17a6d1c1a7
Fix sorts/radix_sort ( #338 )
2019-02-09 07:44:23 +05:30
Mickaël Schoentgen
2d70e9f747
Fix ResourceWarning: unclosed file ( #681 )
...
Signed-off-by: Mickaël Schoentgen <contact@tiger-222.fr>
2019-01-08 16:59:23 +08:00
Ishmeet-Singh-Saggu
ce0a013ad7
Update bubble_sort.py ( #535 )
2018-10-27 13:21:44 +02:00
Harshil
f0d5bc6ece
Merge branch 'improved_sorting_algo' of git://github.com/YasirChoudhary/Python
2018-10-26 17:25:36 +02:00
Alex Brown
91fccecb56
snake_case all the things
2018-10-19 17:14:25 -05:00
Yasir Choudhary
9561259285
Merge branch 'master' into improved_sorting_algo
2018-10-19 12:05:26 +05:30
ParthS007
0856a61859
Remove Multiple Unused Imports and Variable
2018-10-18 02:58:57 +05:30
Harshil
f9f5d402d3
Update bubble_sort.py
...
Added main method, Made it Python2 suitable, Enabled user input!
2018-10-16 20:39:22 +02:00
YasirChoudhary
98cc298e61
Optimised for loop iteration
2018-10-07 14:33:56 +05:30
YasirChoudhary
6a6349bdb0
Optimised for loop iteration
2018-10-07 14:32:48 +05:30
Prateek
356b51458d
done
2018-10-05 14:20:19 +05:30
Coregame
25c0bd3fbb
minor improvement (readability) in Insertion Sort
2018-10-04 13:36:16 +07:00
camilne
0e76ee9076
Remove duplicate counting sort ( #376 )
2018-10-02 15:06:24 +05:30
Harshil
38dbaef5f5
Merge pull request #384 from kelvins/comb_sort
...
Comb sort
2018-10-02 11:20:38 +02:00
rafa leyva ruiz
c0033f92ad
Use local insertion sort (solves #334 ) ( #370 )
2018-10-02 14:16:56 +05:30
Kelvin Salton do Prado
f4a80fbfcb
comb_sort: fix typo and indentation
2018-10-01 23:46:47 -03:00
Kelvin Salton do Prado
5fb6b31ea9
Add comb sort algorithm
2018-10-01 23:43:25 -03:00
PandllCom
ac30a97e99
typo: strip
2018-06-26 10:55:21 +08:00
Hossam Al-Dokkani
9489e8512d
Break if the collection is sorted
2018-06-23 17:01:06 +02:00
Harshil
31f968f589
small change!
2018-05-28 23:34:21 +02:00
Hyuntae
ca7eb46756
quicksort_3_partition
2018-05-28 19:19:15 +09:00
Harshil
71fd719ab7
Update merge_sort_fastest.py
2018-05-21 10:28:37 +02:00
Harshil
7f4b240d1a
Update merge_sort_fastest.py
...
I have modified the code a little to make it work as expected!
2018-05-21 10:21:33 +02:00
Syed Haseeb Shah
237df47a31
Create merge_sort_fastest.py
...
Python implementation of merge sort algorithm.
Takes an average of 0.6 microseconds to sort a list of length 1000 items.
Best Case Scenario : O(n)
Worst Case Scenario : O(n)
2018-05-20 23:00:17 +05:00
Sichen Liu
744dd71238
Add sorts for python3
2018-03-03 21:27:05 -05:00
Harshil
1611f40c51
Merge branch 'master' into revert-22-patch-1
2018-01-20 16:27:17 +05:30
Sayan Bandyopadhyay
5d4471d35a
Update cyclesort.py
...
Changing for Python 3 using exception handling for robust code
2018-01-07 13:21:05 +05:30
cclauss
2ed1bad747
Merge branch 'master' into modernize-python2-code
2017-12-13 16:32:28 +01:00
Harshil
491439ae50
Merge pull request #129 from Balance-Breaker/master
...
Fixed heading's formatting errors
2017-11-28 16:58:04 +05:30
cclauss
e31c780d94
Modernize Python 2 code to get ready for Python 3
2017-11-25 12:41:55 +01:00
cclauss
4e06949072
Modernize Python 2 code to get ready for Python 3
2017-11-25 10:23:50 +01:00
Harshil
bb3287ac0a
Merge pull request #157 from Sayan97/patch-1
...
Update radix_sort.py
2017-11-01 10:49:05 +05:30
Honey Sharma
8c5fd4b597
Create cyclesort.py
...
implementation of cycle sort in python3
2017-10-27 21:00:08 +05:30
Harshil
ad935df161
Merge pull request #179 from Shivams334/master
...
Added new code
2017-10-27 11:08:38 +05:30
Sayan Bandyopadhyay
b96412c019
Merge branch 'master' into patch-1
2017-10-23 19:17:45 +05:30
Shivam sharma
fe7b86c9ff
Add files via upload
2017-10-20 18:03:43 +05:30
Harshil
54eb79f53a
Merge pull request #135 from KuLi/radix_sort-fix
...
#130 fixed radix sort for python 3
2017-10-17 18:50:05 +05:30
Harshil
4c9efeacb8
Merge pull request #123 from theycallmemac/master
...
added timsort.py
2017-10-15 09:25:45 +05:30
André Almeida
35d3873716
Add counting sort
2017-10-14 03:07:02 +00:00
Sayan Bandyopadhyay
aac224dc1b
Update radix_sort.py
...
This will fix the error in the list index showing as float
2017-10-12 01:28:12 +05:30
Shivam sharma
14e6372196
Added counting sort in python
2017-10-10 21:41:01 +05:30
KyleScharnhorst
014786e340
Fix: typo in multiple files.
2017-10-07 06:47:50 -07:00
James Mc Dermott
a97ab2f4e4
Update timsort.py
2017-10-01 22:13:54 +01:00
KuLi
edcf6d54b6
#130 fixed radix sort for python 3
2017-09-29 23:47:24 +02:00
Ankit Dhankhar
1f0f4b2c92
Fixed heading's formatting errors
2017-09-29 23:15:33 +05:30
theycallmemac
1958cf25c5
added timsort.py
2017-09-28 20:54:15 +01:00
Omkar Pathak
ef01688b94
Added Bucket Sort implementation
2017-07-20 07:02:49 +05:30
Omkar Pathak
e8a36b12ce
Added Bucket Sort implementation
2017-07-20 06:59:42 +05:30
Zach Wild
16b0d62f28
Add topological_sort.py
2017-06-21 19:11:31 -04:00
Mehdi ALAOUI
7ae9759220
Added some other spaces
2017-04-06 03:55:28 +01:00
Mehdi ALAOUI
8d06eb2c63
Added some space before and after operators
2017-04-06 03:44:47 +01:00
Mehdi ALAOUI
183df6889b
Code more concise and more readable
2017-04-05 06:58:16 +01:00
James Mc Dermott
e823c55f62
Create radix_sort.py
2017-02-25 15:06:58 +00:00
Prateek Chanda
f42a1b8fbc
Create normal_distribution_QuickSort_README.md
2017-02-05 17:52:31 +05:30
Anup Kumar Panwar
ea36ef407b
Revert "Update Normal Distribution QuickSort Readme"
2017-02-04 18:15:41 +05:30
Anup Kumar Panwar
04f13daf10
Merge pull request #66 from prateekiiest/master
...
Update Normal Distribution QuickSort Readme
2017-02-04 18:15:16 +05:30
Prateek Chanda
d4e35fb430
Create normal_distribution_QuickSort_README.md
2017-02-04 15:02:23 +05:30
Prateek Chanda
f707513eea
Rename randomquicksort.py to random_normaldistribution_quicksort.py
2017-02-04 13:59:48 +05:30
Prateek Chanda
3040022f0b
Create randomquicksort.py
2017-02-04 12:20:55 +05:30
Prateek Chanda
a3ab980816
random_normaldistribution_quicksort
...
This is for creating an algorithm implementing QuickSort Algorithm where the pivot element is chosen randomly between first and last elements of the array and the array elements are taken from a Standard Normal Distribution.
This is different from the ordinary quicksort in the sense, that it applies more to real life problems , where elements usually follow a normal distribution. Also the pivot is randomized to make it a more generic one.
2017-02-03 22:02:05 +05:30
alvin562
839a84182c
updated version
2017-01-03 00:08:42 -08:00
Prateek Chanda
d521e5ecc6
Add files via upload
2016-12-13 16:17:57 +05:30
Tommi Laivamaa
8f93472071
Added implementations of gnome sort and cocktail shaker sort
2016-12-04 17:00:20 +02:00
Akshay Sharma
9deae5d14c
PEP style and tree traversals
2016-09-26 02:45:14 +05:30
phlai
119da45c52
for better bubble sort
2016-09-11 17:51:34 +08:00
yyeltsyn
a681b24f69
Update insertion_sort.py
...
Cleaner solution: shorter, less variables, straightforward logic.
2016-09-05 10:08:04 +03:00
yyeltsyn
bb70803c9e
Update heap_sort.py
2016-09-02 13:59:46 +03:00
yyeltsyn
66433a5f0b
Update quick_sort.py
...
Streamlining quick_sort function
2016-08-29 11:29:49 +03:00
Anup Kumar Panwar
a04d5c5e1e
Revert "Update bubble_sort.py"
2016-08-26 17:16:03 +05:30
yyeltsyn
ab8340cac7
Update bubble_sort.py
2016-08-26 09:02:54 +03:00
Harshil Darji
42e9b09fa4
fixed shell_sort
2016-08-17 17:21:40 +05:30
Harshil Darji
ca78a8a9af
fixed heap_sort
2016-08-17 17:18:11 +05:30
JakeBonek
d31387455e
Fixed spacing
2016-08-16 16:03:02 -04:00
JakeBonek
9e031e9783
Fixed spacing
2016-08-16 15:56:06 -04:00
JakeBonek
de8c5cbf00
Fixed typos
2016-08-16 12:56:38 -04:00
JakeBonek
e359b6efd4
Fixed typos and added the shell sort algorithm
2016-08-16 12:43:02 -04:00
arijit pande
7ce559ecdd
added __future__ module
2016-08-14 10:04:21 +00:00
arijit pande
04d15692a8
added implementation for heap sort algorithm
2016-08-14 09:51:52 +00:00
miczal
78402c5f42
[Quicksort]Added shuffling of input
2016-08-11 20:02:06 +02:00
Naveen Arunachalam
a2d2e4d6b5
Fix typo in documentation
2016-08-04 11:16:55 -07:00
Naveen Arunachalam
976e81f88d
Create bogosort.py
...
Bogosort randomly sorts a list until it is sorted. Its computational complexity has a best case of O(n) and a worst case of O(n!).
2016-08-04 11:07:45 -07:00
Sergey Tsaplin
ab2614574e
Move files to separate directories
2016-08-01 15:06:53 +05:00