나는 Text
의 목록을 가지고 있으며, 정렬 된 순서로되어 있습니다. 선형 검색 대신 이진 검색으로 구현하여 훨씬 더 빠른 elem
버전을 작성할 수 있습니다. 그런 버전이 이미 존재합니까?더 빠른`elem` Haskell에서 이진 검색 사용
3
A
답변
12
6
이진 검색에는 임의 액세스가 필요합니다. haskell리스트는 랜덤 액세스를 제공하지 않기 때문에 (중간에 엘리먼트에 액세스하는 것은 선형 시간이 걸린다) 바이너리 검색은 도움이되지 않는다.
데이터가 임의 액세스를 제공하는 Array
인 경우 이진 검색이 가능합니다.
1
나는 텍스트 목록을 가지고 있으며 정렬 된 순서로되어 있습니다.
데이터 구조를 변경하면 알고리즘이 명확 해집니다 (Brooks를 바꾸어 말함).
이것은 우리의 데이터 구조가 전형적으로 가변 배열 (포인터 해킹으로 돌아 가지 않음을 의미)이 아닌 하스켈에 특히 해당됩니다.
예 : 텍스트를 저장하는 힙 또는 트리를 사용하면 O (log (n)) 요소를 쉽게 구현할 수 있습니다. 그들이 더 빨리 삽입 할 수 있도록 정렬되어 있다는 사실을 활용할 수 있습니다.
관련 문제
- 1. haskell에서 이진 관계에 대한 라이브러리
- 2. 빠른 검색은 선형 검색보다 빠른 이진 검색입니까?
- 3. 이진 배열 빠른 할당
- 4. 더 빠른, 정규식 검색 또는 배열 검색 중 어느 것입니까?
- 5. 분기없는 이진 검색
- 6. ruby의 이진 검색 트리
- 7. 일반적인 이진 검색 ++
- 8. 이진 검색의 사용 예제
- 9. 이진 검색 트리에서 값 검색
- 10. 파이썬에서 빠른 이진 데이터 변환
- 11. 재귀 이진 검색
- 12. Magento 빠른 검색 방법
- 13. Android에서 빠른 미리보기 검색
- 14. 이 내 이진 검색입니다 이진 검색
- 15. 웹 서버에서 더 빠른 코어 대 더 빠른 코어
- 16. 이진 검색 트리에 목록을 변환하고,
- 17. 이진 검색 C++ STL
- 18. 이진 검색 구현
- 19. Xcode 4 이진 검색
- 20. LINQ가있는 이진 필드에서 검색
- 21. 이진 검색 트리 업데이트
- 22. 이진 검색 트리
- 23. 이진 검색 트리 소멸자
- 24. 이진 검색 트리 공식
- 25. 자바 이진 검색 트리
- 26. 자바 이진 검색 arraylist
- 27. Ruby의 이진 데이터 검색
- 28. Java의 이진 검색 트리
- 29. 이진 검색 트리 문제
- 30. 배열의 이진 검색
['Data.Set'] (http://www.haskell.org/ghc/docs/latest/html/libraries/containers-0.4.2.1/Data-Set.html)이 로 전환. – dave4420
@ dave4420 : 감사합니다. 나는 완전히 그것을 언급하는 것을 잊었다 : –
['Data.HashSet'] (http://hackage.haskell.org/packages/archive/unordered-containers/latest/doc/html/Data-HashSet.html)은 가능성도. – huon