pub fn insert(&mut self, value: T) {
// 중략
match *target {
None => *target = Some(Box::new(Tree::new(value))),
Some(ref mut sub) => sub.insert(value),
}
}
이거 꼬리재귀 맞지? while로 안 해도 스택 오버플로 안 일어나지?
// 중략
match *target {
None => *target = Some(Box::new(Tree::new(value))),
Some(ref mut sub) => sub.insert(value),
}
}
이거 꼬리재귀 맞지? while로 안 해도 스택 오버플로 안 일어나지?
어셈을 까보자
어셈 모르는데 ㅠㅠ
그럼 넣어서 터지나 안터지나 확인해보자
꼬리재귀 아님 insert가 computation을 못 끝냄
아니다 꼬리 맞는 것 같당 쏘리