6월, 2019의 게시물 표시

C언어로 쉽게 풀어 쓴 자료구조 개정 2판 6장 큐 연습문제

1. 문자 A,B,C,D,E를 큐에 넣었다가 다시 꺼내어 출력하면 어떻게 되는가? (1) A,B,C,D,E // FIFO 2. 10,20,30,40,50을 큐에 넣었다고 가정하고 3개의 항목을 삭제하였다. 남아 있는 항목은? 40, 50 3. 다음 중 큐에 대한 설명 중 맞는 것은? (4) 큐는 원형으로 요소들이 연결되어 있다고 가정할 수 있다. (1) FIFO (2) 양쪽 끝 4. 크기가 8인 원형 큐에서 front가 3이고 rear가 5라고 하면 현재 원형 큐에 저장된 요소들의 개수는? index :  [0]  [1]  [2]  [3]  [4]  [5]  [6]  [7] pointer :                f          r  value :   x    x    x    x    o    o   x     x cf. 원형 큐에서 front는 empty와full을 판별하기 위해 맨 앞 요소의 하나 앞(공백)을 가리킴 5. 다음 중 원형 큐에서 공백 상태에 해당하는 조건은? 또 포화 상태에 해당하는 조건은? 공백 : (3) front == rear // (1)은 공백은 맞는데 1개를 넣고 1개를 빼면 둘 다 1을 가리키면서 공백상태이기 때문에 (1)은 공백상태의 한 종류라 할 수 있음 포화 : (4) front == (rear+1) // 교재 참고 6 . 큐에 항목들을 삽입하고 삭제하는 연산은 시간 복잡도가 어떻게 되는가? (1) O(1) 7. 다음 중 큐가 사용될 수 있는 상황은? (2) 키보드에서 입력된 키스트로크를 잠시 저장할 때 풀이 : 키보드는 먼저 입력한 문자들이 모니터에 먼저 출력되므로 큐의 특성(FIFO)에 들어 맞는다고 할 수 있음. ex) 자료구조 -> ㅈ ㅏ ㄹ ㅛ ㄱ ㅜ ㅈ ㅗ 8. 9. 크기가 10이고 front가 3, rear가 5인 원형 큐에서 새로운 항목이 삽입됐을 경우. front와 rear의 새로운 값은? front는 3, rear는 6 풀이 : befo

C언어로 쉽게 풀어 쓴 자료구조 개정 2판 4장 리스트 연습문제

이미지
1. 리스트에 대한 설명 중 틀린 것은? (4) 리스트는 집합과 동일하다. 풀이 : 집합에는 각 항목 간에 순서의 개념이 없으나 리스트에는 항목들 간에 순서가 있다. 리스트의 예로는, 월~일요일, 가~하, ace~king ... 2. 다음은 순차적 표현과 연결된 표현을 비교한 것이다. 설명이 틀린 것을 모두 표시하여라.  -> 순차적 표현=배열, 연결된 표현=리스트 (1) 연결된 표현은 포인터를 가지고 있어 상대적으로 크기가 작아진다. 풀이 : link field때문에 크기가 더 커짐 (2) 연결된 표현은 삽입이 용이하다. 풀이 : link pointer를 사용하기 때문에 삽입, 삭제가 용이하다. (3) 순차적 표현은 연결된 표현보다 접근 시간이 많이 걸린다. 풀이 : 배열은 리스트보다 접근 시간이 더 빠름 배열은 x[n]으로 공간을 먼저 확보하고 데이터를 접근하므로 '상수시간'이 걸림 리스트는 N번째 원소에 찾아가기 위해 1, 2, 3, 4, ... , N-1, N으로 찾아가기 때문에 시간이 걸림 -> 노드들은 메모리 순서대로 할당되지 않는 경우도 있어 0x0000 -> 0x0008 -> 0x0004 -> 0x0012 이런 식으로 접근 (4) 연결된 표현으로 작성된 리스트를 2개로 분리하기가 쉽다. 풀이 : link pointer만 변경해주면 간편 ref :  https://kin.naver.com/qna/detail.nhn?d1id=1&dirId=1040101&docId=65046222&qb=67Cw7Je06rO8IOumrOyKpO2KuCDsoJHqt7zsi5zqsIQ=&enc=utf8&section=kin&rank=1&search_sort=0&spq=0&pid=Un5aVsp0J14ssiIugEwsssssty4-354237&sid=TI5et04RypqvBWHUSpWDDg%3D%3D https://blog.nav