2010-07-10 4 views
3

Python의 표준 라이브러리에있는 difflib.SequenceMatcher 클래스가 내 요구에 부적합하다는 것을 알게 된 후 문제 공간을 해결하기 위해 일반적인 "diff"모듈이 작성되었습니다. 재귀 적 알고리즘은 몇 달 동안 자신이하고있는 일에 대해 더 많은 것을 생각한 후에, 별도의 "검색 스레드"가 조사 할 수있는 순서로 동일한 영역을 다시 검색함으로써 필요 이상으로 검색하는 것으로 보입니다.재귀 알고리즘을 최적화하여 반복하지 않는 방법은 무엇입니까?

diff 모듈의 목적은 한 쌍의 시퀀스 (목록, 튜플, 문자열, 바이트, 바이트 등) 간의 차이점과 유사점을 계산하는 것입니다. 초기 버전은 코드의 현재 형태보다 훨씬 느려 속도가 10 배 증가했습니다. 성능 향상을 위해 재귀 알고리즘에서 검색 공간을 제거하는 방법을 구현할 사람이 있습니까?

답변

0

같은 매개 변수로 여러 번 호출 할 가능성이있는 값 비싼 메서드가있는 경우 매개 변수를 키로 사용하여 메서드의 결과를 캐시 할 수 있습니다.

관련 문제