위키피디아에서는 Reverse().Aggregate(initval, func)
이 오른쪽 접지라고 말합니다. 이것은 사실이 아니지만 오히려 싸구려 경찰관처럼 들리지만 ... 누구든지이 문제에 대해 의견을 말할 수 있습니까? C#에 올바른 폴드가 있습니까?C# Enumerable.Reverse(). Aggregate (initval, func) True를 true로 설정 했습니까?
2
A
답변
0
오른쪽 접기를 정의하고 Reverse().Aggregate(initval, func)
이 들어 맞는지 확인하십시오.
정의 : 나머지를 결합의 결과에 첫 번째 요소를 결합은
권리 배 그래서 당신은
(1, 2, 3)
의 합을 CALC하려면
이라고합니다. Aggregate
의 경우 평가는 (1 + 2) + 3
이됩니다. Reverse().Aggregate
인 경우 정의에 가장 적합한 (3 + 2) + 1
이됩니다.
Reverse
은 값 비싼 조작이기 때문에 질문하는 것이 효율적 일지 모르지만 기능적으로는 오른쪽 배가 완벽합니다.
0
Aggregate
은 왼쪽에서 오른쪽입니다. 역방향 목록을 집계하는 것은 모든 역방향 목록에서 완전한 (비 게으름) 오른쪽 접기와 동일한 의미를가집니다.
관련 문제
- 1. NHibernate Aggregate Traversal (C#)
- 2. Dispose 메서드 실행없이 IsDisposed를 true로 설정 한 C# 컨트롤
- 3. Java VisualVM에서 기본 프로파일 CPU를 true로 설정
- 4. Aggregate() 예제에서 R
- 5. MySQL, Aggregate SubSelect 문제
- 6. C# WPF에서 button.IsEnabled = true를 설정할 수 없습니다
- 7. Response.Redirect는 IsPostBack을 true로 만듭니다.
- 8. 젠드 프레임 워크에서 include_path를 올바르게 설정 했습니까?
- 9. Dapper Correct Object/Aggregate Mapping
- 10. DDD : Aggregate boundaries에 대한 질문
- 11. C# Func <> 및 제네릭
- 12. C# Action 및 Func 매개 변수 오버로드
- 13. 는 왜이 법률, C++ 형식 정의 FUNC
- 14. 이해 func <T, TResult> C#
- 15. JavaScript를 사용하여 텍스트 상자 읽기 전용 속성을 true로 설정
- 16. Regex.IsMatch는 안되면 true를 반환합니다.
- 17. WITH_OBJECT_HEADERS에서 Dalvik의 GC를 사용하도록 설정 했습니까?
- 18. 누구나 EngineYard에서 이메일 설정을 성공적으로 설정 했습니까?
- 19. AutoHotkey에서 개발 IDE 단축키를 설정 했습니까?
- 20. 스트림 게시시 auto_publish = true를 사용하면 오류가 발생합니다.
- 21. WPF : ValidatesOnDataErrors = true를 프로그래밍 방식으로 설정하십시오.
- 22. 해킹 C, C func 대신 스크립팅 func를 호출 하시겠습니까?
- 23. C++ 런타임 오류가 발생 했습니까?
- 24. 왜 Autocommit을 true로 설정합니까?
- 25. 폴더가 있으면 true를 반환하십시오.
- 26. mysql_num_rows가 TRUE를 반환
- 27. CQRS + DDD + 이벤트 소싱의 Inter-Aggregate 통신
- 28. AutoGenerateColumns = true로 GridView의 열을 조작하는 방법은 무엇입니까?
- 29. Django : 사용자 지정 기본 키를 사용하여 uniqueiy = True로 지정해야합니까?
- 30. Good Func Spec의 예?
오른쪽 폴드가 '1 + (2 + 3)'이 아니어야합니까? –
@Andrey : 효율성에 대해 좀 더 자세히 설명해 주시겠습니까? 오른쪽 배를보다 효율적으로 구현하는 것이 어떻게 가능합니까? 나는 그것에 대해 많이 생각하고 있었고 단지 재귀를 사용하는 해결책을 생각해 냈습니다 (큰 순서에 스택 오버 플로우가 발생할 수 있음). –
@tomp'List' 나 다른 데이터 구조를 가지고 있으면 순방향에서 순방향으로 순회 할 수 있습니다. 가장 저렴한 옵션은 꼬리에서 끝까지 반복하는 것입니다. 어쨌든 당신은 1) 순수한 2) 연관 3) 교환 가능한 연산자/기능을 가지고 있다면 오른쪽 꺾는 데 어떤 포인트가 표시되지 않습니다. 'a + (b + c) == (a + b) + c' 그래서 아주 이국적인 경우가 아니면 접히지 않고 오른쪽 접기를 할 필요가 없습니다. – Andrey