요소의 프로그래밍 인터뷰-16.4 생성하는 파워를 설정-해결 방법 1 시간 복잡성 질문

cs.stackexchange https://cs.stackexchange.com/questions/125539

문제

모든 희망을 하고 있습니다.

에 관한 질문이 있을 시간 복잡도의 질문에 대한 해결 방법 1 16.4 생성하는 파워를 설정 책에서 요소의 프로그래밍 인터뷰 Adnan 및 Tsung-Hsien.

질문 지시하는 리더를"쓰는 함수 입력으로 세트를 반환한 전력 설정".입력 set S={0,1,2}.

enter image description here

내가 있다는 것을 이해에서 가장 2^n 재귀적화의 방법 directedSoFar.그러나 내가 이해하지 못하는 왜 우리가 지출 O(n) 시간 이내에 전화 directedSoFar.루프가 없는 내부 메서드에만이 2 라인에서 재귀한 경우 추가 요소를 제거으로 현재 selectedSoFar 솔루션,및 다른 2 라인에는 사례가 있습니다.지 않는 이미 우리만을 보내는 일정한 시간 내에 통과하지 O(n) 시간입니까?

내가 고생이고에 게시된 공식적인 포럼을 뿐만 아니라 레딧지만,없어 응답합니다.나는 그것을 감사하겠습니다 만약 사람이 될 것이 충분히 관대 한 자세한 정보를 이용할 수 있습니다.

감사

도움이 되었습니까?

해결책

참고 다음과 같은 라인의 코드:

powerSet.add(new ArrayList<>(SelectedSoFar);

때마다 우리가 만드는 일부에,우리는 하위 집합(목)목록에 명부: power set.의 크기는 하위 집합이 될 것입니다 $n$ (실제로 그에 따라 다를 것입니다 $1$ 하기 $n$, 하지만 우리는 그것을 걸릴 수 있습할 $n$).

지만 목록 추가 필요 한 줄의 코드, 지만,그것은 복사를 포함하는 모든 요소입니다.이런 이유로 그것은 걸릴 것입니다 O(n) 시간입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 cs.stackexchange
scroll top