12 개의 비교를 통해 중간 값을 찾을 수 있습니다. 그러나 최소 비교 횟수와이를 수행하는 방법을 알고 싶습니다.7 개의 숫자의 중간 값을 찾는 비교 횟수
답변
Donald Knuth는 볼륨 III의 "최소 비교 선택"에 관한 장을 컴퓨터 프로그래밍 기술으로두고 있습니다.
Knuth는 "최소의 비교 수에서 선택하는 일반적인 방법은 아직 없습니다"라고 말하지만 그는 최소한에 가까운 몇 가지 일반적인 방법을 제시합니다.
표 5.3.3-1을 보면 V4 (7) = 10 (즉, 최대 10 개의 비교를 사용하여 7 개 항목 중 네 번째로 큰 항목을 찾을 수 있음)과 알고리즘 ("수동으로 찾음 시행 착오로 ") 5.3.3-10 운동 방법에 주어진다.
TAoCP가 필요합니다. @ - @ – zerr
@zerr 의심의 여지없이 항상 필요합니다 –
병렬로 비교할 수있는 경우 (현대 CPU가이 작업을 수행 할 가능성이 높음) sorting network을 사용하여 6 단계로 문제를 해결할 수 있습니다.
6 비교 구현에 대한 참조를 제공해 주시겠습니까? 감사합니다 –
물론, 여기에 간다 : http://www.angelfire.com/blog/ronz/Articles/999SortingNetworksReferen.html – Rafe
나는 그 기사를 보았다. 그러나 나는 그것이 n = 7이 6 번의 비교로 끝날 수 있다고 말한다고 생각하지 않는다고 생각한다. . –
- 1. 문자열에서 숫자의 발생 횟수 계산하기
- 2. 스키마의 목록의 중간 값을 찾는 방법
- 3. 숫자의 제곱근을 찾는 알고리즘?
- 4. 숫자의 sqrt를 찾는 재귀 함수의 문제점
- 5. C에서 숫자의 모듈을 찾는 방법 #
- 6. 범위가 다른 표에서 동적으로 나오는 숫자의 범위를 찾는 방법은 무엇입니까?
- 7. 재귀 함수를 사용하여 숫자의 제곱근을 찾는 방법?
- 8. 숫자의 모든 제수를 효율적으로 찾는 것
- 9. 다른 기계에서 숫자의 중앙값을 찾는 가장 빠른 알고리즘은 무엇입니까?
- 10. 수천 개의 레코드를 기준으로 숫자의 범위 표시
- 11. 는 한 테이블에 두 개의 열을 비교
- 12. 두 개의 NSMutableDictionaries 비교
- 13. 두 개의 JSON 비교
- 14. 두 개의 배열 비교
- 15. 중간 양식 데이터 저장
- 16. 시퀀스를 만드는 숫자의 합
- 17. 라디오 버튼 값을 찾는 방법
- 18. jQuery로 라디오 버튼의 값을 찾는
- 19. 2 개의 fxcop 결과 비교
- 20. Xcode : 두 개의 NSMutableArrays 비교
- 21. 두 개의 음성 소리 비교
- 22. 두 개의 이진수 트리 비교
- 23. 벡터의 값을 입력 값과 비교
- 24. asp.net에서 JavaScript로 텍스트 상자 값을 찾는 방법
- 25. VBA. 문자열의 첫 번째 숫자의 위치를 찾는 방법
- 26. settings.bundle 토글 스위치의 값을 비교
- 27. 데이터 소스의 값을 문자열로 비교
- 28. 자바 열거 형 값을 비교
- 29. 보기에서 값과 모델의 값을 비교
- 30. 중간
나는 귀하의 구현을보고 싶습니다. 18 개 미만의 작업에서는 그것을 수행 할 수 없습니다. –
a, b, c, d, e, f, g에 대해 a zerr