Computers/(한빛) 컴퓨터개론

ch7. 자료구조

emzei 2011. 7. 2. 11:20

1. 좋은 자료구조의 조건에 대해 설명하여라.

 - 자료의 추가, 삭제, 검색을 효율적으로 수행하고, 간결하게 표현할 수 있는 것.




2. 다음과 같은 조건의 1차원 배열 arr에서 arr[3] 요소의 주소를 계산하여라.

[조건] 배열의 시작주소는 200이고, 배열의 첨자는 0으로 시작된다. 그리고 배열 요소의 크기는 4바이트다.

 답 : 212




3. 다음과 같은 조건의 행 중심 2차원 배열 arr[5][3]에서 arr[3][2] 요소의 주소를 계산하여라.

[조건] 배열의 시작주소는 200이고, 배열의 첨자는 0으로 시작된다. 그리고 배열 요소의 크기는 4바이트다.

답 : 244


 



4. 연속리스트와 연결 리스트에 대해 설명하여라.

- 연속리스트 (Contioguous list) : 배열을 이용하는 것

- 연결리스트 (Linked list) : 포인터를 이용하는 것

 





5. 단순 연결 리스트에 데이터를 삽입하고 삭제하는 과정을 나타내어라.

 

<삽입 과정>





<삭제 과정>






6. 이중 연결 리스트에 데이터를 삽입하고 삭제하는 과정을 나타내어라.


<삽입 과정>





<삭제 과정>





 


7. 배열로 구현한 스택에 데이터를 삽입하고 삭제하는 과정을 나타내어라.


<초기 상태>

- top은 데이터의 삽입과 삭제가 일어지는 배열의 인덱스를 나타냄

- 현재 상태에서 top는 0





<삽입 과정>

 - stack배열에서 top인 0을 첨자로 하는 부분, 즉 stack[0]에 데이터를 저장

 - top의 값을 1 증가 (top는 1이 됨)




<삭제 과정>

 - 삭제할 때는 top를 1 감소시켜주면 된다

 









8. 연결 리스트로 구현한 스택에 데이터를 삽입하고 삭제하는 과정을 나타내어라.

 

<삽입>






<삭제>








9. 배열로 구현한 큐에 데이터를 삽입학 삭제하는 과정을 나타내어라.


<삽입 과정>

- q 배열에서 q[rear]에 데이터(12)를 저장한다.

- rear 값을 1 증가 한다.





<삭제 과정>
- front를 1 증가시킨다.






 

10. 연결리스트로 구현한 큐에 데이터를 삽입하고 삭제하는 과정을 나타내어라.

<삽입 과정> 

- 마지막 노드의 포인터를 새로운 노드를 가리키게 한다.







<삭제 과정>

- front가 가리키는 노드의 포인터 영역이 가리키는 곳을 front가 가리키게 한다

- 데이터 13이 든 노드를 삭제한다










11. 다음 이진 트리를 전위, 중위, 후회 순회했을 때의 순서를 나열하여라.

 




전위(PRT - LEFT - RIGHT) : 

 

A - B - D - F - G - C - E






중위(LEFT - PRT - RIGHT) :


F - D - G - B - A - E - C






후위(LEFT - RIGHT - PRT) :

F - G - D - B - E - C - A







12. 다음의 이진 탐색 트리에 대해 물음에 답하여라.

(참고링크 : http://mirai_neco.blog.me/110110938199 )








(1) 데이터 9를 삽입하여라






(2) 데이터 2인 노드를 삭제하여라



(3) 데이터 11인 노드를 삭제하여라





잘못된 점은 댓글로 알려주시면 감사하겠습니다 :)

그리다가 시간 다 갔네요...


'Computers > (한빛) 컴퓨터개론' 카테고리의 다른 글

ch9. 데이터베이스  (0) 2011.08.16
ch8. 알고리즘  (0) 2011.08.16
ch6. 프로그래밍 언어  (0) 2010.12.28
ch5. 운영체제  (0) 2010.12.28
ch4. 컴퓨터 구조  (0) 2010.09.26