다음과 같은 디자인이 있습니다 :
이벤트를 처리하는 데 필요한 몇 가지 객체를 처리하는 일련의 클래스가 있습니다.
각 클래스는 특정 유형의 이벤트 만 처리합니다.
이제 처리가 필요한 이러한 개체/이벤트가있을 때 모든 이벤트를 반복하고 모든 작업을 처리 할 때까지 루프 처리합니다.
내가 수행 한 유일한 최적화는 이벤트가 클래스 반환에 적합하지 않으면 immediatelly를 반환한다는 것입니다.
이 O(N^2)
루프를 제거하기 위해 디자인을 어떻게 변경할 수 있습니까? 아니면 아마도 가치있는 변화가 아니며 괜찮습니다.더블 루프 처리를 더 나은 것으로 변환하려면 어떻게해야합니까?
업데이트
algorith 코드 예 :
for(Event e:events) {
for(Processor p:processors) {
p.process(e);
}
}
예제를 제공 할 수있는 방법이 있습니까? 아니면 약간의 의사 코드 또는 다른 것이 있습니까? 정확히 무슨 뜻인지를 말하기는 어렵습니다. 그러나 'O (N^2)'시간을 피하기 위해 할 수있는 일이 있다면, 특히 반복 할 물건이 많이 생기면 적어도 시도해야합니다. –
옵저버는 내가 생각하는 것입니다. – nachokk
@SamuelReid : 업데이트 된 OP – Jim