순수 함수 프로그래밍 관례보다는 약간 새로운 것으로,이 동적 프로그래밍 사례를 구현하는 방법을 알 수 없습니다. 재귀 적으로 계산되고 그것을 암기하고자하는 함수 f :: String -> [String]
이 있습니다. 입력 String
은 임의적 일 수 있으므로 게으름 뱅이 Map
과 같은 것이 필요하지만 아무 것도 찾을 수 없다고 생각합니다. 어떻게 하스켈에서 그런 경우를 구현 하는가?하스켈의 문자열 키로 동적 프로그래밍
2
A
답변
1
가 memoizer 라이브러리를 사용 :
import qualified Data.MemoCombinators as Memo
f :: String -> [String]
f = Memo.list Memo.char memof -- because String = [Char]
where
memof x = ... f ... -- call *f* recusively (not memof)
더의 documentation를 참조 어쩌면 그것은 당신에게 몇 가지 통찰력을 줄 것이다. 또한 참조하십시오 MemoTrie
+0
외부 라이브러리로 구현되었으며 hackage에서 검색을 검색하지 않았다고 생각했습니다. 그런 기능이 기본 GHC 라이브러리에없는 것은 이상한 것 같습니다. – aplavin
0
이 기사는 이에 대한 좋은 정보를 제공합니다. 피보나치 함수가 어떻게 암기되었는지보십시오.
관련 문제
- 1. 하스켈의 Data.Map을 사용한 동적 프로그래밍?
- 2. 하스켈의 이차 프로그래밍
- 3. 하스켈의 하위 문자열
- 4. 문자열 및 동적 프로그래밍 알고리즘
- 5. 문자열과 문자열을 문자열 문자열 데이터베이스의 키로 비교
- 6. 하스켈의 로케일별로 문자열 정렬 및 비교?
- 7. 하스켈의 정규 표현식 및 문자열 라이브러리
- 8. unordered_set에서 문자열 *을 키로 사용
- 9. 하스켈의 생산자와 소비자 문제?
- 10. 동적 프로그래밍
- 11. 하스켈의 "예외"
- 12. 하스켈의 예외
- 13. 하스켈의 단락 (&&)
- 14. 하스켈의 무한한지도
- 15. 하스켈의 이상한 반환
- 16. 동적 값을 JSF 2.0에서 Map의 키로 전달
- 17. 동적 문자열 x 정적 문자열
- 18. JSON이 문자열 만 키로 허용하는 이유는 무엇입니까?
- 19. 문자열 객체를 Common Lisp의 해시 키로 사용하기
- 20. 구아바에서 문자열 키를 소프트 키로 만들어야합니까?
- 21. 문자열 공개 키를 RSA 공개 키로 변환
- 22. 언제 문자열 대신 ComponentResourceKey를 리소스 키로 사용해야합니까?
- 23. 숫자로 된 문자열 키로 배열을 디딤음
- 24. 하스켈의 투기적인 병렬 실행
- 25. 동적 프로그래밍 문제
- 26. 동적 언어로 보안 프로그래밍
- 27. 게으른 라켓의 동적 프로그래밍
- 28. 동적 프로그래밍 - 변경 만들기
- 29. 병렬 동적 프로그래밍
- 30. 동적 프로그래밍 솔루션을 찾고
당신은 해커를 보았습니까? 사용할 수있는 약 12 개의 메모 라이브러리가 있습니다. –