반응형
Pygorithm으로 알고리즘 공부하기
알고리즘 공부를 파이썬에서 간단한 라이브러리만 설치해서 할 수 있다면 얼마나 간편할까라는 기대가 섞인 질문을 현실적으로 가능하게 한 라이브러리가 pygorithm이다.
알고리즘 공부는 어렵다. 어려운 것이 맞다. 외워야 할 때도 있고, 복잡하기도 하고, 이해하기 어렵기도 하다.
pygorithm 라이브러리는 다양한 모듈을 지원한다. sorting, binary, strings, data_structures, searching, geometry, greedy_algorithm, pathfinding 등 웬만한 알고리즘 모듈은 전부 있다.
설치
1
|
pip install pygorithm
|
cs |
Bubble Sort
1
2
3
|
from pygorithm.sorting import bubble_sort
print(bubble_sort.get_code())
|
cs |
1
2
3
|
from pygorithm.sorting import bubble_sort
print(bubble_sort.time_complexities())
|
cs |
Merge Sort
1
2
3
|
from pygorithm.sorting import merge_sort
print(merge_sort.time_complexities())
|
cs |
1
2
3
4
5
6
|
from pygorithm.sorting import merge_sort
my_list = [4,1,2,7,6,7,5,2,1]
print(merge_sort.sort(my_list))
|
cs |
팩토리얼
1
2
3
|
from pygorithm.math import factorial
print(factorial.get_code())
|
cs |
애너그램 (Anagram)
1
2
3
4
5
6
7
8
|
from pygorithm.sorting import anagram
s1 = "Andrew Laeddis"
s2 = "Edward Daniels"
print(anagram.is_anagram(s1, [s2, "Hello", "Not An Anagram"]))
print(anagram.get_code())
|
cs |
애너그럼이란, 한 단어의 철자를 분해해 다른 단어, 혹은 다른 문장으로 바꾸는 놀이를 뜻합니다. 같은 영어 알파벳을 가지고도 다른 뜻을 가지는 단어를 만들수 있다는 것이죠.
Andrew Laeddis와 Edward Daniels는 동일한 알파벳을 사용하여 만들 수 있는 애너그럼입니다.
이 외에도 더 흔히 공부하는 sorting, 정렬, searching, 검색 알고리즘에 대한 설명과 코드를 한 번에 확인할 수 있는 매우 도움적인 라이브러리들이 여럿 있습니다. pygorithm 정말 좋네요.
반응형
'공부 > 파이썬 Python' 카테고리의 다른 글
칼로리 트래커 / 대시보드 (1) (0) | 2022.03.18 |
---|---|
비밀번호 관리 매니저 만들기 using Python (0) | 2022.03.18 |
Python 대역폭 모니터 만들어보기 (Bandwidth Monitor Using Python) (0) | 2022.03.17 |
지문 (fingerprint) 일치 알고리즘 구현하기 (Python) (0) | 2022.02.27 |
GridSearchCV로 하이퍼파라미터 튜닝하기 (0) | 2022.02.22 |
댓글