English | 简体中文 | Deutsch | 日本語 | 한국어 | Português | Français
In diesem Repository finden Sie eine große Auswahl an Algorithmen und Datenstrukturen implementiert in Python 3.
Sie können sich gerne auch an diesem Projekt beteiligen. Zum Beispiel selbst Algorithmen und Datenstrukturen beisteuern, oder bereits bestehende Implementierungen verbessern, oder auch dokumentieren. Fühlen Sie sich frei und machen Sie einen Pull-Request. Alternativ können Sie auch den Issue-Tracker benutzen um auf Probleme (Bugs) in bereits bestehenden Implementierungen hinzuweisen.
In diesem Projekt halten wir uns an die PEP8 Codestyle Konventionen.
Um alle Tests laufen zu lassen, tippen Sie die unten stehende Befehlzeile in die Kommandozeile:
$ python3 -m unittest discover tests
Um einen besonderen Test laufen zu lassen, tippen Sie folgendes:
$ python3 -m unittest tests.test_sort
Zum ausführen aller Tests:
$ python3 -m pytest tests
Wenn Sie das Projekt installieren wollen, um es als Module in Ihren Projekten nutzen zu können. Dann tippen Sie unten stehende Befehlzeile in die Kommandozeile:
$ pip3 install git+https://github.com/keon/algorithms
Sie können die Installation testen in dem Sie unten stehenden Code in eine Datei packen und ausführen.
from algorithms.sort import merge_sort
if __name__ == "__main__":
my_list = [1, 8, 3, 5, 6]
my_list = merge_sort(my_list)
print(my_list)
Um das Projekt zu deinstallieren tippen Sie folgendes:
$ pip3 uninstall -y algorithms
- arrays
- backtrack
- bfs
- bit
- calculator
- dfs
- dp
- graph
- heap
- linkedlist
- map
- maths
- matrix
- queues
- search
- set
- sort
- stack
- strings
- fizzbuzz
- delete_reoccurring_characters
- strip_url_params
- validate_coordinates
- domain_extractor
- merge_string_checker
- add_binary
- breaking_bad
- decode_string
- encode_decode
- group_anagrams
- int_to_roman
- is_palindrome
- license_number
- make_sentence
- multiply_strings
- one_edit_distance
- rabin_karp
- reverse_string
- reverse_vowel
- reverse_words
- roman_to_int
- word_squares
- tree
- union-find
Das Projekt wird von folgenden Personen betreut.
Und danke an alle Contributors die geholfen haben das Projekt aufzubauen!