게시판 인덱스

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

숙제1 5번 질문입니다.

 
글 쓰기   답변 달기     게시판 인덱스 -> 4190.310 Programming Languages (Fall 2013)
이전 주제 보기 :: 다음 주제 보기  
글쓴이 메시지
류원룡



가입: 2013년 9월 4일
올린 글: 4

올리기올려짐: 2013년9월12일 19:52    주제: 숙제1 5번 질문입니다. 인용과 함께 답변

기본으로 제공해 주신 함수중에 rank와 shake에 관하여 질문드립니다.

insert 코드에서 'terminal node의 경우 rank가 0'이라는 것을 유추할 수 있었는데요, rank 코드에서 보면 EMPTY heap의 rank 또한 0이라고 되어있었습니다.

따라서 shake에서 두 heap의 rank를 비교할 때, empty heap과 terminal node의 경우 둘 다 rank가 0이 되어 return되는 heap의 rank가 무조건 1 이상이 되어버립니다.

NODE (0, 3, NODE (0, 5, EMPTY, EMPTY), EMPTY) 의 형태가 되는 경우, root node의 rank는 1이 아닌 0이 되는게 옳은것이어야 할텐데 뼈대코드의 수정이 필요할 것 같습니다.

답변부탁드립니다. 감사합니다.
위로
사용자 정보 보기 비밀 메시지 보내기
최준원



가입: 2007년 3월 30일
올린 글: 149

올리기올려짐: 2013년9월12일 20:06    주제: 인용과 함께 답변

좋은 지적입니다 Smile

작년에도 같은 문제가 있었고, EMPTY heap 의 rank 를 -1 로 수정하였습니다.
이번에도 같은 방법을 적용하겠습니다.

코드:

let rank = function EMPTY -> -1
                  | NODE (r, _, _, _) -> r


와 같이 뼈대코드를 수정합니다.
위로
사용자 정보 보기 비밀 메시지 보내기
김원용



가입: 2009년 9월 29일
올린 글: 11

올리기올려짐: 2013년9월13일 3:01    주제: ㅠㅠㅠ 인용과 함께 답변

악.. 제가 그거 때문에 첫 베이스케이스를 shake를 안쓰고 구현했는데 ㅠㅠ 다시짜겠습니다 ㅠㅠㅠㅠ
위로
사용자 정보 보기 비밀 메시지 보내기
이전 글 표시:   
글 쓰기   답변 달기     게시판 인덱스 -> 4190.310 Programming Languages (Fall 2013) 시간대: GMT + 9 시간(한국)
페이지 11

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


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