게시판 인덱스

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

숙제 2-4의 설명이..

 
이 게시판은 잠겼으므로 글을 올리거나, 답변을 하거나 수정을 할 수 없습니다   이 주제는 잠겼으므로 답변을 하거나 수정을 할 수 없습니다     게시판 인덱스 -> 4190.310 Programming Languages (Fall 2008)
이전 주제 보기 :: 다음 주제 보기  
글쓴이 메시지
김재원
손님





올리기올려짐: 2008년9월25일 8:48    주제: 숙제 2-4의 설명이.. 인용과 함께 답변

숙제 2-4의 설명이 지나치게 추상적이라, 이해를 하기가 힘이 듭니다.
이거 저만 그런건가요 ㅠㅠ
저는 아무리 읽어도 지퍼의 의미를 파악할 수가 없습니다..
지퍼라는 것이 엣지에 위치하는지 노드에 위치하는지 부터 불명확하고, 지퍼의 정의가 불명확하다보니 HAND의 정의도 불명확합니다.. 왼쪽, 오른쪽의 기준은 무엇인지, 위 아래의 기준은 무엇인지, 전반적으로 설명을 부탁드립니다..

만약에 문제이해를 저만 못하고 있는거라면 어쩔 수 없지만요...ㅠㅠ

감사합니다 ^^
위로
hjshin



가입: 2008년 9월 25일
올린 글: 4

올리기올려짐: 2008년9월25일 15:56    주제: 인용과 함께 답변

수강생 신희제입니다.

"a*b + c*d"의 예제에서 나무구조로 표현되었을 때와 location으로 표현됐을때의 경우를 주목하셔야 할것 같습니다.



위의 그림은 그 예제를 트리로 그려본 것입니다. 이 트리가 빨간선을 따라 둘로 찢어진 모양을 zipper를 통해 표현하는 것입니다.



이렇게 거꾸로 트리를 보는 것이 유용할 수도 있겠습니다.

별표를 기준으로 나무의 왼편 형제는 c, 오른편 형제는 d가 될 것입니다.
그러므로 zipper는 z1= HAND(LEAF c, z2, LEAF d)의 형태가 될 것입니다.
한편 z2는 나무의 뿌리로부터 *까지 나무를 찢어 왔던 그 zipper입니다.
즉, 왼쪽 형제로 NODE(LEAF +, NODE(LEAF *, LEAF a, LEAF b))을 가지고 오른쪽 형제로 아무것도 가지지 않습니다.
따라서 z2= HAND(NODE(LEAF +, NODE(LEAF *, LEAF a, LEAF b)),z3, [])의 형태가 될 것입니다.
여기서 z3는 예제 나무의 뿌리까지 도달하였으므로 TOP이 됩니다.
결국 최종 zipper가 과제 문서에 나온것과 같이 표현됩니다.


인용:
HAND([LEAF c],
HAND([LEAF +, NODE[LEAF a, LEAF *, LEAF b]],
TOP,
[]),
[LEAF d])


도움이 될지 모르겠네요.
위로
사용자 정보 보기 비밀 메시지 보내기
이전 글 표시:   
이 게시판은 잠겼으므로 글을 올리거나, 답변을 하거나 수정을 할 수 없습니다   이 주제는 잠겼으므로 답변을 하거나 수정을 할 수 없습니다     게시판 인덱스 -> 4190.310 Programming Languages (Fall 2008) 시간대: GMT + 9 시간(한국)
페이지 11

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


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