English | 简体中文 | Deutsch | 日本語 | 한국어 | Português
Python 3로 구현한 간단하고 명확한 자료구조와 알고리즘들의 예제 입니다.
프로젝트 활동 참여에 관심을 가져주셔서 감사합니다! 여러가지 방법으로 이 프로젝트에 기여해주세요. 기여 방법 소개
아래 명시된 모든 테스트 실행하기:
$ python3 -m unittest discover tests
특정 테스트 실행하기 위해선 아래 코드로 실행할 수 있습니다 (예시: sort):
$ python3 -m unittest tests.test_sort
아래 명시된 모든 테스트 실행하기:
$ python3 -m pytest tests
만약 API 알고리즘들을 당신의 코드에 사용하기를 원한다면, 아래 코드로 간단하게 실행할 수 있습니다:
$ pip3 install git+https://github.com/keon/algorithms
그리고 python 파일을 만듦으로 테스트할 수 있습니다: (예시: 'sort'안에서 'merge_sort'사용)
from sort import merge_sort
if __name__ == "__main__":
my_list = [1, 8, 3, 5, 6]
my_list = merge_sort.merge_sort(my_list)
print(my_list)
만약 당신이 알고리즘들을 삭제하기 원한다면, 아래 코드로 간단하게 실행할 수 있습니다:
$ 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 : 트리
- bst : 이진 탐색 트리
- red_black_tree : 레드 블랙 트리
- segment_tree : 세그먼트 트리
- traversal : 트리 순회
- trie : 트라이
- binary_tree_paths
- bintree2list
- deepest_left
- invert_tree
- is_balanced
- is_subtree
- is_symmetric
- longest_consecutive
- lowest_common_ancestor
- max_height
- max_path_sum
- min_height
- path_sum
- path_sum2
- pretty_print
- same_tree
- tree
- union-find : 합집합 찾기
이 저장소는 아래 사람들에 의해 유지되고 있습니다.
그리고 이 저장소를 만드는데 도움을 준 모든 기여자 분 들에게 감사를 표합니다.