 |
|
| 이전 주제 보기 :: 다음 주제 보기 |
| 글쓴이 |
메시지 |
최원태 손님
|
올려짐: 2006년4월3일 19:07 주제: 4번문제 nth child에 대해서 |
|
|
1.
nth-child 함수는 인자로 tree타입과 nat타입을 받는 것으로 되어있습니다.
node타입의 경우에는 문제가 없지만,
leaf타입의 경우에는 어떻게 처리해야 하는지 난감합니다.
leaf타입의 값을 0번째(혹은 첫번째) 자식이라고 봐야 하나요?
아니면 자신의 값이라고 봐야 하나요?
2.
5,6,7번 문제를 풀다보면
branch, mobile, zero, one, and, or, not 타입을 체크해야 합니다.
그런데 타입을 체크하려고 하면 구현에 따라서는 자식이 몇명인지
확인할필요가 있습니다.
이럴때 (null? (cdr (cdr (cdr (cdr x)))))로 해결할 수 도 있지만
자식이 몇개인지 확인해주는 how-many-children? 함수를 정의하면
좋을 것 같습니다.
그런데 이 함수는 4번에서 정의하라고 한 함수가 아닌, 트리 인터페이스 므로
정의하면 안되죠.
그렇다고 저 함수를 쓰지 않으면 자식의 수를 확인 하기 위해서 cdr cdr cdr로 트리 내부구조를 휘저어서 데이터 추상화에 문제가 생기는 것 같습니다.
어떻게 하면 좋겠습니까? |
|
| 위로 |
|
 |
박대준
가입: 2005년 10월 7일 올린 글: 245
|
올려짐: 2006년4월4일 1:21 주제: |
|
|
| 최원태 씀: | | leaf타입의 경우에는 어떻게 처리해야 하는지 난감합니다. |
nth-child 는 node 로 만들어진 tree 에서만 정의됩니다.
| 최원태 씀: | 그런데 타입을 체크하려고 하면 구현에 따라서는 자식이 몇명인지
확인할필요가 있습니다. |
어떻게 구현하셨는지 모르기때문에, 답변을 정확히 해 드리기 힘듭니다.
만약, 일반적인 구현이라면 자식의 개수에 따른 에러체크까지는 안하셔도 됩니다.
특별한 구현이라면 게시판에서 직접적으로 언급하기가 힘드니,
화요일 수업시간 이후에 개인적으로 연구실로 찾아오시기 바랍니다.
(연구실은 수업 강의실 맞은편에 있습니다.)
덧붙여..
| 최원태 씀: |
그런데 이 함수는 4번에서 정의하라고 한 함수가 아닌, 트리 인터페이스 므로
정의하면 안되죠.
그렇다고 저 함수를 쓰지 않으면 자식의 수를 확인 하기 위해서 cdr cdr cdr로 트리 내부구조를 휘저어서 데이터 추상화에 문제가 생기는 것 같습니다. |
문제의 의도를 정확히 파악하신 것 같군요. 보기 좋습니다.
| 최원태 씀: | | 이럴때 (null? (cdr (cdr (cdr (cdr x)))))로 해결할 수 도 있지만 |
다음과 같은 방법을 사용하면 괄호의 부담을 덜 수 있습니다.
참고
http://www.gnu.org/software/mit-scheme/documentation/mit-scheme-ref/Pairs.html#index-caar-1140 |
|
| 위로 |
|
 |
|
|
새로운 주제를 올릴 수 없습니다 답글을 올릴 수 없습니다 주제를 수정할 수 없습니다 올린 글을 삭제할 수 없습니다 투표를 할 수 없습니다
|
Powered by phpBB 2.0.21-7 (Debian) © 2001, 2005 phpBB Group Translated by kss & drssay
|