3 중첩 루프가 있습니다. 내부 값의 값은 바로 위에있는 값에 의존합니다. 성능은 실제로 지금 O (n * n * n)의 킬러입니다. 또한 immediate 루프에도 out.println이있을 수 있습니다.이 출력은 인쇄해야합니다. 재귀를 어떻게 대체 할 수 있습니까? 또는 중첩 루프를 피하고 성능을 향상시킬 수있는 다른 방법이 있습니까?중첩 루프를 재귀로 바꿉니다.
샘플 코드 :
String[] strArray = getOuterArray();
for(String x : strArray){
String[] internalStrArray = x.getArray();
System.out.println("I am in first");
for(String x: internalStrArray){
String[] internalinStrArray = x.getArray();
System.out.println("I am in second");
for(String x: internalinStrArray){
System.out.println("I am in third "+ x);
}
}
}
public String[] getOuterArray(){
}
public String[] getArray(){
}
재귀는 성능을 향상시키지 못할 것입니다 ... 코드가 더 작고 읽기 쉽도록 만들지 만 다른 이야기입니다. – arshajii
어? n^3 번 실행해야한다면 재귀를 사용하더라도 n^3이됩니다. –
왜 재귀가 O (n * n * n)을 바꿀까요? 뭔가가 있다면, 그것은 단지 당신의 스택을 태울 것입니다. – Thilo