게시판 인덱스

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

[HW2] 4번 문제 질문드립니다

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



가입: 2023년 3월 16일
올린 글: 8

올리기올려짐: 2023년3월23일 0:37    주제: [HW2] 4번 문제 질문드립니다 인용과 함께 답변

안녕하세요, hw2 4번 문제의 goLeft 함수를 이해하다가 궁금증이 생겼습니다.

예시로 나온 goLeft 함수를 보면, left sibling들 중에서 가장 왼쪽에 있는 곳으로 위치를 옮기는 것으로 보입니다(l::left의 l로 위치를 옮김). 그러나 이 과정을 따라가면 지퍼의 위치를 옮긴 후 left sibling과 right sibling이 실제와 다르게 나오는 것 같습니다. 가령 a,b,c,d가 sibling 관계라고 했을 때 c를 기준으로 left는 [a;b], right는 [d]입니다. c에서 goLeft한다면 지퍼는 a로 위치를 옮길 것이고, 함수에 따르면 left는 [b], right는 [c;d]가 되는 것으로 보입니다. 하지만 a로 자리를 옮겼을 때 left는 [], right는 [b;c;d]가 되어야 트리의 구조를 반영했다고 볼 수 있을 것 같습니다. 만약 함수의 결과(left가 [b], right가 [c, d])를 만족시키는 b,a,c,d의 배열이라고 생각하더라도, 그러면 지퍼의 위치를 옮기는 것이 트리의 구조를 바꿔버리는 것이 되기 때문에 말이 안 되는 것 같습니다.

혹시 제가 이해한 것이 틀렸다면 지적 부탁드립니다. 만약 맞다면, goRight 함수도 이와 유사한 이슈가 생길 것 같은데, 이런 이슈를 무시하고 문제를 풀어도 되는지 궁금합니다.
감사합니다.
위로
사용자 정보 보기 비밀 메시지 보내기
김도형



가입: 2022년 3월 8일
올린 글: 103

올리기올려짐: 2023년3월23일 13:22    주제: 인용과 함께 답변

안녕하세요.

지퍼가 트리를 찢어 놓는다는 것이 어떤 의미인지를 goLeft의 예시와 함께 생각해보시면 좋을 것 같습니다.

감사합니다.
위로
사용자 정보 보기 비밀 메시지 보내기
주승민



가입: 2023년 3월 16일
올린 글: 8

올리기올려짐: 2023년3월23일 20:44    주제: 인용과 함께 답변

제가 보충스펙을 제대로 안 읽고 이상하게 생각했었던 거였네요. 보충스펙 읽고 이해했습니다. 감사합니다.
위로
사용자 정보 보기 비밀 메시지 보내기
이전 글 표시:   
이 게시판은 잠겼으므로 글을 올리거나, 답변을 하거나 수정을 할 수 없습니다   이 주제는 잠겼으므로 답변을 하거나 수정을 할 수 없습니다     게시판 인덱스 -> 4190.310 Programming Languages (Spring 2023) 시간대: GMT + 9 시간(한국)
페이지 11

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


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