게시판 인덱스

 
 FAQFAQ   검색검색   멤버리스트멤버리스트   사용자 그룹사용자 그룹   사용자 등록하기사용자 등록하기 
 개인 정보개인 정보   비공개 메시지를 확인하려면 로그인하십시오비공개 메시지를 확인하려면 로그인하십시오   로그인로그인 

binary tree관련 질문입니다.

 
글 쓰기   답변 달기     게시판 인덱스 -> 4190.310 Programming Languages (Fall 2014)
이전 주제 보기 :: 다음 주제 보기  
글쓴이 메시지
방정호



가입: 2011년 9월 19일
올린 글: 40

올리기올려짐: 2014년10월7일 0:45    주제: binary tree관련 질문입니다. 인용과 함께 답변

leaf는 empty tree가 아닌 것이지요?
empty tree는 정말로 null인 상황을 말하는 것이라 생각하면 되나요.

그러면 isEmpty의 인자는 어떤 트리의 tree를 만드는 함수의 결과이거나,
rTree, lTree 의 결과만 가능한것인지요?
그런데 스펙문서에서,
인용:
6) rTree/lTree의 인자로 empty tree나 leaf가 들어오는 경우의 예외처리, 그리고 nodeVal의 인자로 empty tree가 들어오는 경우의 예외처리는 테스트하지 않겠으니 자유롭게 구현하시면 됩니다.

라고 하셨는데요.
rTree/lTree의 인자로 leaf가 들어오지 않는 것이라면,
isEmpty(lTree(leaf n))) 과 같은 상황은 고려하지 않아도 되는것인지요?
아니면 true라고 봐야 되는것인지요?

그리고 k- 에서는 예외처리를 어떻게 해야하는 것인지 궁금합니다.
정수를 write하는 기능 밖에 없는데다가,
semantics에도 예외와 관련된 것은 없어서요.


방정호 가 2014년10월7일 1:10에 수정함, 총 1 번 수정됨
위로
사용자 정보 보기 비밀 메시지 보내기
김용기



가입: 2014년 9월 30일
올린 글: 11

올리기올려짐: 2014년10월7일 9:02    주제: 인용과 함께 답변

제가 조교는 아니지만... 숙제를 해본 입장에서.
empty tree는 노드의 값이 null(unit)인 걸로 판단하면 되지 않을까 싶고...

예외란 semantics에서 정의되지 않은 경우가 예외일 겁니다.
예를들어, 4칙연산은 정수에 대해서만 정의되어 있는데,
match 패턴을 짜다보면, 정수가 아닌 경우도 고려해야 합니다.
저같은 경우는
코드:
raise (Error "임의의 에러 메세지")
로 예외를 발생시켰습니다.

참고가 되셨길 바랍니다.
위로
사용자 정보 보기 비밀 메시지 보내기
방정호



가입: 2011년 9월 19일
올린 글: 40

올리기올려짐: 2014년10월7일 9:36    주제: 인용과 함께 답변

김용기 씀:
제가 조교는 아니지만... 숙제를 해본 입장에서.
empty tree는 노드의 값이 null(unit)인 걸로 판단하면 되지 않을까 싶고...

예외란 semantics에서 정의되지 않은 경우가 예외일 겁니다.
예를들어, 4칙연산은 정수에 대해서만 정의되어 있는데,
match 패턴을 짜다보면, 정수가 아닌 경우도 고려해야 합니다.
저같은 경우는
코드:
raise (Error "임의의 에러 메세지")
로 예외를 발생시켰습니다.

참고가 되셨길 바랍니다.


답글 감사합니다!
그런데 제가 고민하고 있는 예외는 k-로 짠 프로그램에서 발생하는 예외인데요.
스펙문서에서 3번에 6)에 나와있는
rTree/lTree의 인자로 empty tree나 leaf가 들어오는 경우의 예외처리, 그리고 nodeVal의 인자로 empty tree가 들어오는 경우의 예외처리
이런것들입니다.
3-1 에서 k- 를 정의할 때 예외와 관련된 semantics가 보이질 않는 것 같아서요.
k- 프로그램에서 발생하는 예외는 어떻게 처리해야 할지 궁금합니다.
위로
사용자 정보 보기 비밀 메시지 보내기
강동옥



가입: 2009년 9월 18일
올린 글: 602

올리기올려짐: 2014년10월7일 11:24    주제: 인용과 함께 답변

* leaf는 empty tree가 아닙니다. empty tree의 정의는 https://ropas.snu.ac.kr/phpbb/viewtopic.php?t=4388 글을 참조해 주시기 바랍니다.

* isEmpty의 인자에는 아무런 제약이 없습니다. lTree, rTree, nodeVal 함수의 경우만 제약이 있습니다.

* isEmpty(lTree(leaf n)))의 경우 lTree에 잘못된 인자가 들어오기 때문에, 유효하지 않으며 이런 경우는 테스트하지 않습니다.

* K-언어의 경우 예외 처리를 위한 요소를 따로 제공하지 않기 때문에, 예외 상황의 처리는 신경쓰지 않아도 되는 것으로 합니다. 이를 위해서 rTree/lTree/nodeVal 함수의 인자에 제약을 둔 것입니다.
위로
사용자 정보 보기 비밀 메시지 보내기
이전 글 표시:   
글 쓰기   답변 달기     게시판 인덱스 -> 4190.310 Programming Languages (Fall 2014) 시간대: GMT + 9 시간(한국)
페이지 11

 
건너뛰기:  
새로운 주제를 올릴 수 없습니다
답글을 올릴 수 없습니다
주제를 수정할 수 없습니다
올린 글을 삭제할 수 없습니다
투표를 할 수 없습니다


Powered by phpBB 2.0.21-7 (Debian) © 2001, 2005 phpBB Group
Translated by kss & drssay