| 이전 주제 보기 :: 다음 주제 보기 |
| 글쓴이 |
메시지 |
임창원
가입: 2009년 9월 14일 올린 글: 21
|
올려짐: 2009년9월23일 20:24 주제: 숙제2 Ex1에서 질문있습니다 |
|
|
1번문제에서 구현해야하는 함수들에서 예외처리를 하려는데요
node가 빈 리스트를 받으면 빈 나무를 만드는데
1. 빈 나무도 나무구조인가요? 그렇다면 빈 나무는 잎새나무인가요?
그리고
2. nth-child 함수에서 원래 나무보다 긴 n을 받으면 그냥 원래 나무를 출력하면 되나요?
3. 'leaf-val 함수는 잎새가 가지는 데이터를 꺼낸다'에서 잎새라는것은 leav-val 함수가 잎새 하나를 argument로 받는다는 뜻인가요? 아니면 잎새는 나무구조에서 맨 위에 (맨 앞에) 있는 entry를 뜻하나요?? |
|
| 위로 |
|
 |
윤용호
가입: 2008년 9월 23일 올린 글: 257
|
올려짐: 2009년9월23일 22:27 주제: |
|
|
| 임창원 씀: |
node가 빈 리스트를 받으면 빈 나무를 만드는데
1. 빈 나무도 나무구조인가요? 그렇다면 빈 나무는 잎새나무인가요? |
빈나무도 나무구조입니다. subtree가 하나도 없는 나무.
잎새나무는 아닙니다. 정의에 따르면 잎새는 leaf로만 만들 수 있습니다.
2번은 조교님의 선언이 필요해보이네요. 사견으로는 원래의 subtree 수보다 큰 n을 받으면 적절한 에러처리를 해야할 것 같습니다.
| 임창원 씀: | | 3. 'leaf-val 함수는 잎새가 가지는 데이터를 꺼낸다'에서 잎새라는것은 leav-val 함수가 잎새 하나를 argument로 받는다는 뜻인가요? 아니면 잎새는 나무구조에서 맨 위에 (맨 앞에) 있는 entry를 뜻하나요?? |
leaf-val은 leaf 함수를 통해 만들어낸 잎새에서 값을 뽑아내는 함수죠. 잎새 하나를 argument로 받는게 맞습니다. leaf 함수의 역함수라고 보셔도 될 것 같습니다. (물론 따라서 node에 대해 leaf-val을 apply할 경우 에러를 내야 할 것 같군요.)
이번 과제의 tree는 이전에 구현해보셨을 tree들과 좀 다를텐데, 아마 자료구조 시간 등에 구현해보셨을 binary tree 등등은 internal node에도 데이터가 있고 child에도 각각 데이터가 있고 leaf에도 데이터가 있는 구조였을 것입니다. 데이터를 효율적으로 저장하기 위해 구현한 tree였을테니까요.
이 숙제의 tree는 조금 다르게, 모든 'tree가 아닌 데이터'는 leaf로만 저장되고 node는 기존의 tree들을 하나로 묶는 역할만 합니다. 토너먼트 대진표를 떠올리셔도 될 것 같습니다. 모든 참가팀들은 leaf에만 매달려있죠. |
|
| 위로 |
|
 |
조성근
가입: 2009년 9월 14일 올린 글: 283
|
올려짐: 2009년9월24일 11:57 주제: |
|
|
윤용호 님의 말씀대로입니다.
1. 빈 나무도 나무구조입니다. 하지만 잎새나무는 아닙니다.
2. subtree 수보다 큰 n을 받으면 적절한 에러처리를 하도록 해 주세요.
3. 'leaf-val 함수는 잎새가 가지는 데이터를 꺼낸다'에서 잎새라는것은 leav-val 함수가 잎새트리 하나를 argument로 받는다는 뜻입니다. 즉, 그것은 leaf 함수의 출력물이 되겠지요. |
|
| 위로 |
|
 |
|