게시판 인덱스

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

2-6 에서 dequeue 에 대해 질문이 있습니다.

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



가입: 2008년 9월 26일
올린 글: 8

올리기올려짐: 2008년9월27일 22:20    주제: 2-6 에서 dequeue 에 대해 질문이 있습니다. 인용과 함께 답변

인용:
큐를 [a1,...,am,b1,...bn] 라고 합시다 (bn이 머리). 이 큐를 두개의 리스트 L과 R로 표현할 수 있습니다:
L = [a1,...,am], R = [bn,...,b1].
한 원소 x를 삼키면 새로운 큐는 다음이 됩니다:
[x,a1,...,am],[bn,...,b1].
원소를 하나 빼고 나면 새로운 큐는 다음이 됩니다:
[a1,...,am][bn-1,...,b1].
뺄때, 때때로 L 리스트를 뒤집어서 R로 같다 놔야하겠습니다.


입니다.
결국에는 [a1,...,am,b1,..,bn] 에서 dequeue 시에 bn 을 뺀다는 이야기인것 같습니다.
그러기 위해서 때때로 들어간 x (와 L에 있는 element를 순차적으로) R로 옮겨줘야하는데 이 때때로가 언제인지 잘 모르겠습니다.
L의 element의 갯수가 일정이상을 넘었을때인지
아니면 dequeue가 이뤄질때인지
또 옮겨줄때 몇개나 옮겨줘야하는지
아니면 이 모든것이 자유롭게 구현되는지
궁금합니다.
위로
사용자 정보 보기 비밀 메시지 보내기 이메일 보내기
윤용호



가입: 2008년 9월 23일
올린 글: 257

올리기올려짐: 2008년9월27일 22:57    주제: 자유롭게 해도 되지 않을까요? 인용과 함께 답변

값 중심의 언어이지만 '외부에 공개되는 모듈'이라는 표현에서
(signature에 대해 그렇게 표현되어 있더라구요)

OOP의 개념을 좀 가져와보자면... 내부 구현이 어찌되었든

외부의 입장에선 Queue의 작동을 하기만 하면 된다면..

스펙에 '때때로' 옮기라고 되어있으면 말 그대로 '때때로' 옮기면 되는것 같아요.

아마 성능을 고려한다면 최대한 적게 옮기는게 좋을 것 같지만...
위로
사용자 정보 보기 비밀 메시지 보내기
JeongSangMin



가입: 2008년 9월 27일
올린 글: 7

올리기올려짐: 2008년9월28일 0:40    주제: ... 인용과 함께 답변

잘 생각해보시면 언제 옮겨야 할지 바로 아실 수 있을겁니다. Smile

기억해야 할 것은 이것이 큐처럼 작동해야 한다는 거죠.
위로
사용자 정보 보기 비밀 메시지 보내기
최원태



가입: 2006년 9월 16일
올린 글: 369

올리기올려짐: 2008년9월28일 2:09    주제: 인용과 함께 답변

두분의 답변에 제가 보텔 부분이 없어보입니다.
가장 간단하게 짜는게 성능은 제일 좋을겁니다.

윤용호씩의 답변에 사족을 하나만 달께요.
발견하신 OOP와의 공통점은 Data Abstraction이라는 추상화기법입니다.
"자료가 있고 함수가 있는데, 함수를 부르기 전에 이렇던 것이 후에 이렇게 된다"
이런 약속만 지켜진다면 내부구현이야 내 알바 아니다

라고 생각하면 프로그램 짜기 참 편하더라는 거죠.

OO언어, nML뿐만 아니라 C에서도 가능합니다.
라이브러리 버전을 바꿔서 링킹해도 잘 돌아가는 것이
C에서의 Data Abstraction의 대표적인 예가 됩니다.
위로
사용자 정보 보기 비밀 메시지 보내기 이메일 보내기 글 올린이의 웹사이트 방문
곽원영



가입: 2008년 9월 26일
올린 글: 8

올리기올려짐: 2008년9월28일 2:38    주제: 인용과 함께 답변

충분한 답변이 되었습니다.
감사합니다 Smile
위로
사용자 정보 보기 비밀 메시지 보내기 이메일 보내기
이전 글 표시:   
이 게시판은 잠겼으므로 글을 올리거나, 답변을 하거나 수정을 할 수 없습니다   이 주제는 잠겼으므로 답변을 하거나 수정을 할 수 없습니다     게시판 인덱스 -> 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