| 
 
	
		| 이전 주제 보기 :: 다음 주제 보기 |  
		| 글쓴이 | 메시지 |  
		| 정윤수 
 
 
 가입: 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
 |