[[객체A,[객체B,[객체C,[객체D,[객체A,객체B]]]],[객체A]・・・・・・・・・・・・・] ->수백개가 거미줄처럼 짜여져있음
리스트에 리스트안에 리스트 중첩이 엄청 많이 되어있는데
그 리스트안에 있는 객체로 먼가를 하는거고 객체가 하나의 클래스에서 만들어진것도 아니고, 서로 다른종류이고,
여기서 A클래스에서 만들어진 객체를 다 뽑아와서
리스트를 다시만들어주고 실행하는데
재귀말고는 불가능하지않냐 이거임
반복문으로 가능하노??
왠 놈이 재귀는 스택이 쌓인다고 반복문보다 성능안좋다는데,
성능이고 나발이고, 반복문으로 이걸 어찌쳐내노??
반복문 수백개 쓸거임??
수백개쓰면 그럼 성능이 재귀보다 빠르다??
반복문으로 짠다고 스택이 없어지는게 아님
그래서 저런식으로 수백개 거미줄이면 재귀말고 해결방법있느냐임
아 이거 lens 생각나네
재귀는 스택이 쌓인다고 반복문보다 성능안좋다는데, <- 이건 낭설임
해당 댓글은 삭제되었습니다.
굿 그놈이 그리말한거보면 내가 설명이 부족했나보다
그냥 편하게 재귀로 할거 같은데 콜 스택 한계 터질만큼 거대하다면 분할해서 재귀로하거나 할거 같음. 애초에 콜스택 한계 에러가 날정도로 중첩된 데이터를 다뤄야하는 상황이 더 문제 처람 보이긴하네
굳이 for루프로 한다면 현재 접근한 인덱스 키들을 따로 스택 객체 만들어서 쌓아두고 한다거나 이전 부모 객체 참조를 스택으로 쌓아놓고 몇번째 요소인지 까지 저장해놓고 순회하면 되긴한데 굳이 그래야될까 싶음