이전 주제 보기 :: 다음 주제 보기 |
글쓴이 |
메시지 |
정윤수
가입: 2018년 9월 11일 올린 글: 2
|
올려짐: 2018년10월17일 21:58 주제: [과제 3-3] leaf 확인 질문 |
|
|
leaf는 왼쪽, 오른쪽 자식을 갖지 않고 따라서 {val := n}으로 구현될 것 같은데요.
이 때 tree를 입력받았을 때 leaf인지 혹은 양쪽 자식을 같는 tree인지를 구분해주고 싶습니다.
이 경우에 레코드 타입은 주소에서 값으로 가는 타입이기 때문에
let proc isLeaf(tree) = (tree = leaf(nodeVal(tree))) 과 같이 구현할 수도 없습니다.
만약에 leaf에 추가적인 구현을 더해주지 않거나, k.ml에서 레코드 필드에 접근하는 함수를 커스터마이징 하지 않고 leaf와 Tree를 구분할 수 있을까 궁금합니다.
그리고 만약 leaf에 추가적인 구현을 더해준다면, 전체적으로 빈 양쪽 자식을 가지는 경우보다 더 나은 구현일지가 의문이 들어서 질문드립니다.
1. 결론은 어떻게 leaf와 Tree를 구분할 수 있을까요. |
|
위로 |
|
|
로파스 Site Admin
가입: 2012년 9월 9일 올린 글: 280
|
올려짐: 2018년10월18일 10:05 주제: |
|
|
가장 간단한 방법은 레코드 필드에 treetype 필드를 추가해서 leaf인지 tree인지를 구별하는 것이겠지요. 예를들자면, treetype값이 0이면 leaf, 1이면 트리라고 생각하시면 될듯합니다.
-조교 드림. |
|
위로 |
|
|
|
|
새로운 주제를 올릴 수 없습니다 답글을 올릴 수 없습니다 주제를 수정할 수 없습니다 올린 글을 삭제할 수 없습니다 투표를 할 수 없습니다
|
Powered by phpBB 2.0.21-7 (Debian) © 2001, 2005 phpBB Group Translated by kss & drssay
|