974 Commits

Author SHA1 Message Date
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
b5667e5ee9 Removed the (incorrectly named) redundant file graph_list.py and renamed graph.py to graph_list.py (#820) 2019-05-21 14:06:05 +08:00
c1130490d7 fix spelling on line 44 of bucket sort (#824)
* change besd to best
2019-05-20 21:22:20 +08:00
316d5ffa37 Add NQueens backtracking search implementation (#504) 2019-05-20 04:36:46 +08:00
f5abc04176 Update bucket_sort.py (#821)
* Some simplification
2019-05-19 17:00:54 +08:00
b6c3fa8992 Interpolation search - fix endless loop bug, divide 0 bug and update description (#793)
* fix endless loop bug, divide 0 bug and update description

fix an endless bug, for example, if collection = [10,30,40,45,50,66,77,93], item = 67.

fix divide 0 bug,  when right=left it is not OK to point = left + ((item - sorted_collection[left]) * (right - left)) // (sorted_collection[right] - sorted_collection[left])

update 'sorted' to 'ascending sorted' in description to avoid confusion

* delete swap files

* delete 'address' and add input validation
2019-05-18 10:59:12 +08:00
f3608acfd5 Created shortest path using bfs (#794)
* Created shortest path using bfs
2019-05-17 11:12:06 +08:00
5b86928c4b Use ==/!= to compare str, bytes, and int literals (#767)
* Travis CI: Add more flake8 tests

* Use ==/!= to compare str, bytes, and int literals

./project_euler/problem_17/sol1.py:25:7: F632 use ==/!= to compare str, bytes, and int literals
			if i%100 is not 0:
      ^

* Use ==/!= to compare str, bytes, and int literals

* Update sol1.py
2019-05-16 19:26:46 +08:00
a65efd42c4 Implement check_bipartite_graph using DFS. (#808) 2019-05-16 19:24:56 +08:00
13c0c166d8 Update graph.py (#809) 2019-05-16 19:23:23 +08:00
c47c1ab03c enhancement (#803) 2019-05-16 19:20:42 +08:00
76061ab2cc added eulerian path and circuit finding algorithm (#787) 2019-05-16 19:20:27 +08:00
c4d16820bc Fix typo (#806) 2019-05-14 21:45:53 +04:30
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
70bb6b2f18 Added Huffman Coding Algorithm (#798) 2019-05-13 10:45:27 +05:30
3f7bec6c00 Added page-rank algorithm implementation (#780)
* Added page-rank algorithm implementation

* changed init variables
2019-05-12 19:46:47 +08:00
d8badcc6d5 Update README.md 2019-05-12 09:10:56 +05:30
36828b106f [FIX] maths/PrimeCheck (#796)
Current implementation is buggy and hard to read.

* Negative values were raising a TypeError due to `math.sqrt`
* 1 was considered prime, it is not.
* 2 was considered not prime, it is.

The implementation has been corrected to fix the bugs and to enhance
readability.

A docstring has been added with the definition of a prime number.

A complete test suite has been written, it tests the 10 first primes, a
negative value, 0, 1 and some not prime numbers.

closes #795
2019-05-11 19:20:25 +08:00
56513cb21f add-binary-exponentiation (#790) 2019-05-10 19:03:05 +08:00
30a3582983 fix: replaced outdated url (#791)
http://www.lpb-riannetrujillo.com/blog/python-fractal/ moved to http://www.riannetrujillo.com/blog/python-fractal/
2019-05-09 03:48:30 +08:00
7677c37011 update 'sorted' to 'ascending sorted' in comments (#789)
To avoid confusion all 'sorted' to 'ascending sorted' in comments
2019-05-06 17:54:31 +08:00
e22ea7e380 Update Directed and Undirected (Weighted) Graph.py 2019-05-04 21:53:06 +05:30
c5c3a74f8f Update README.md 2019-05-04 15:43:37 +05:30
7b89d03dd7 Added an O(1) solution to problem 002 (#776)
* Added an O(1) solution to problem 002

* Removed comments from sol3.py that were accidentally added to sol4.py
2019-05-02 00:44:21 +08:00
06dbef04a0 Adding quick sort where random pivot point is chosen (#774) 2019-04-30 21:16:42 +08:00
48553da785 variable in function should be lowercase (#768) 2019-04-26 17:43:51 +08:00
2fc2ae3f32 Created a generalized algo to edmonds karp (#724)
Edmonds Karp algorithm is traditionally with only one source and one sink. What do you do if you have multiple sources and sinks? This algorithm is a generalized algorithm that regardless of however many sinks and sources you have, will allow you to use this algorithm. It does this by using the traditional algorithm but adding an artificial source and sink that allows with "infinite" weight.
2019-04-25 19:48:14 +08:00
df04d94543 Some directories had a capital in their name [fixed]. Added a recursive factorial algorithm. (#763)
* Renaming directories
* Adding a recursive factorial algorithm
2019-04-22 22:53:56 +08:00
48bba495ae Rename is_Palindrome to is_Palindrome.py (#752) 2019-04-20 15:13:02 +08:00
a91f0e7ca0 Updated Euler problem 21 sol1.py 2019-04-19 21:30:40 +05:30
a170997eaf Add animation for heap sort 2019-04-19 21:01:06 +05:30
b2f1d9c337 implementation of tower_of_hanoi algorithm (#756) 2019-04-14 19:58:16 +08:00
52d2fbf3cf Add lowest common ancestor to data structures (#732)
* add longest common ancestor in data structures

* add lowest common ancestor to data structures
2019-04-10 23:59:49 +08:00
137871bfef feature to add input (#749) 2019-04-07 23:55:32 +08:00
56de3df784 Update basic_binary_tree.py (#748) 2019-04-07 23:53:50 +08:00
15bc87fb41 Create is_Palindrome (#740) 2019-04-04 16:40:11 +05:30
5b7730bef1 Added Trafid Cipher (#746) 2019-04-04 03:27:36 +08:00
bb29dc55fa Bitmasking and DP added (#705) 2019-03-28 01:59:31 +08:00
441b82a95f More matrix algorithms (#745)
* added matrix minor

* added matrix determinant

* added inverse,scalar multiply, identity, transpose
2019-03-28 01:50:43 +08:00
8b8a6d881c reduce indentation (#741) 2019-03-28 01:46:46 +08:00
d27968b78d Create Searching in sorted matrix (#738)
* Create Searching in sorted matrix

* Rename Searching in sorted matrix to searching_in_sorted_matrix.py
2019-03-20 23:59:35 +08:00
96c36f8286 added wiggle_sort.py (#734)
* Wiggle_sort

* Rename Wiggle_Sort to wiggle_sort.py
2019-03-18 02:12:22 +08:00
8e67ac3b76 Fix '__bool__' method (#735)
The method returns the truth when the stack is empty
2019-03-10 07:40:29 +05:30
2c67f6161c Update basic_binary_tree.py (#725)
I have added the comments for better understanding.
2019-03-07 23:53:29 +08:00
6f6510623c Update heap.py (#726)
Added comments for the better understanding of heap.
2019-03-04 16:49:36 +08:00
88b6caa30a fixed balanced_parentheses, Added infix-prefix & postfix evaluation (#621)
* Create infix_to_prefix_conversion.py

* Create postfix_evaluation.py

* Update balanced_parentheses.py
2019-03-02 00:53:29 +08:00
e6eb6dbb82 Delete Maths/find_hcf.py (#636) 2019-02-28 01:49:13 +08:00
dd9f0b3f2e fix comma spelling from coma to comma (#722) 2019-02-27 22:33:29 +08:00
2bbf8cd109 Added extended euclidean algorithm (#720)
* Added extended euclidean algorithm

* Fixed extended euclidean algorithm
2019-02-27 22:28:59 +08:00
9a44eb4479 Organize graph algorithms (#719)
* organized graph algorithms

* all graph algorithms in Graphs/ folder

* all graph algorithms are in one folder

* Rename number theory/factorial_python.py to maths/factorial_python.py
2019-02-25 17:35:24 +08:00