평균, 중간 및 s.d.를 계산해야합니다. 벡터 내부 값의 평균을 찾기 위해 벡터를 정렬 할 수 있지만 물건을 추가하는 것보다 평균 및 표준 편차를 쉽게 찾을 수있는 방법이 있습니까?두배가 포함 된 벡터
답변
중간 값은 std::nth_element
입니다. (일반적으로 O (N) N) 정렬이 일반적으로 O (N) (선형) 인 정렬 (sorting)보다 더 빠릅니다. 당신이 std::accumulate
을 UST 수
double total = std::accumulate(std::begin(v), std::end(v), 0.0);
[참고 : 컴파일러가 얼마나 오래된에 따라, 당신은 begin(v) and
말 대신 v.begin()
및 v.end()
을 사용해야 할 수도 있습니다 (v)`). ]
차이 계산은 previous question에 설명되어 있습니다. 표준 편차는 단순히 분산의 제곱근입니다.
대단히 감사합니다! C의 관련 고차 기능 ++에 – user2117875
평균을 찾으려면 단순히 벡터 내용을 추가해야합니다. 실제로 벡터를 먼저 정렬하지 않고 중간 값을 찾을 수 있지만 정렬되지 않은 벡터에서 중앙값을 계산하는 알고리즘은 정렬 된 것보다 훨씬 더 복잡합니다. 또한 정렬되지 않은 벡터에서 중간 값을 찾는 데 걸리는 시간을 계산할 경우 중간 값을 정렬하고 추출하는 데 걸리는 시간보다 더 깁니다. (단지 기술적 인 도전을 위해 그것을하고 있다면, 나는 당신을 위해 하나를 쓸 것이다 ...)
아마 당신은 벡터를 정렬해야 할 것이므로, 당신은 평균을 계산할 수있다. 정렬.
당신은 나를 여기에서 잃어 버렸습니다 ... '정렬되지 않은 벡터에서 중간 값을 찾는 시간을 계산한다면, 그것은 거의 중앙값을 정렬하고 추출하는 결합 된 시간보다 더 될 것입니다.' – amdn
편집 : C++ 태그를 보지 못했습니다!
기능 프로그래밍 도구를 제공하는 언어를 사용하는 경우 + 기능으로 벡터를 폴드하고 평균 길이로 나눌 수 있습니다.
stddev의 경우 람다 : x -> (x - mean)^2를 사용하고 결과를 +로 폴드 할 수 있습니다.
더 효율적이지는 않지만 개발자에게는 많은 시간을 절약 할 수 있습니다!
정보 : http://en.wikipedia.org/wiki/Fold_%28higher-order_function%29#Folds_in_various_languages http://en.wikipedia.org/wiki/Anonymous_function# C.2B.2B http://en.wikipedia.org/wiki/Map_%28higher-order_function%29#Language_comparison – David
- 1. 벡터 또는 벡터 벡터가 포함 된 템플릿
- 2. 포함 된 유형에 따라 벡터 벡터 검색
- 3. Point2d 요소가 포함 된 NSMutableArray를 사용하는 벡터
- 4. 사용자 정의 벡터 유형이 포함 된 스택
- 5. 애니메이션이 포함 된 벡터 그래픽을 iOS 기본 앱에 포함
- 6. 벡터 그래픽 (ITextSharp 포함)
- 7. 메쏘드 오류 포함 벡터 자바
- 8. R에서 임의 샘플링 후 누락 된 값 포함 (합병 벡터 및 누락 된 값을 0으로 포함)
- 9. 벡터 벡터에서 벡터 얻기
- 10. 디스플레이 포함 된 벡터 안드로이드 노래 북 앱 내의 벡터 기반 pdf
- 11. 해시 된 벡터 (js)
- 12. 리눅스의 중첩 된 벡터
- 13. 범주화 된 벡터 합치기
- 14. 동기화 된 벡터 - 자바 서버
- 15. 특정 Visual Studio 2008 프로젝트에서 두배가 잘못 추가되는 이유는 무엇입니까?
- 16. 벡터 벡터로 된 세그먼트 오류
- 17. R : 요소가 포함 된리스트의 모든 벡터 찾기
- 18. SIMD 소니 벡터 수학 라이브러리 (C++ 포함)
- 19. 비트 별 또는 등호 사용 (| = 벡터 포함)
- 20. 사전이 포함 된 배열이 포함 된 사전?
- 21. 포함 된 OR이 포함 된 스마트 컬렉션?
- 22. 중첩 된 문자열의 벡터 이동
- 23. 쉼표로 구분 된 벡터 만들기
- 24. 링크 된 목록의 벡터 만들기?
- 25. 유도 된 벡터 : 수행 작업
- 26. 이미 생성 된 벡터 변경하기
- 27. 생성자에서 생성 된 외부 벡터
- 28. 정규화 된 고유 벡터 Maxima
- 29. 링크 된 목록의 포인터/벡터
- 30. 링크 된 목록 기반 벡터
나는이 말을하기 전에 두 번 생각했습니다. 당신은 무엇을 시도 했습니까? –
누적 알고리즘이 있습니다. – chris
정확히 "추가하는"것에 대해 어려운 점은 무엇입니까? –