본문 바로가기
공부/파이썬 Python

Pygorithm으로 알고리즘 공부하기

by 혼밥맨 2022. 3. 17.
반응형

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 정말 좋네요.

 

 

 

반응형

댓글