본문 바로가기

방송통신대학교

방송통신대학교 2학년 2학기 자료구조 중간, 기말고사 대비 요약본 #3

728x90
반응형
728x170

[ 방송통신대학교 2학년 2학기 자료구조 중간, 기말고사 대비 요약본 ]

 

안녕하세요^^

오늘은 방송통신대학교 2학년 2학기 과목인 자료구조의

중간고사, 기말고사를 위한 주요 키워드나 개념 등을 정리해보는 포스팅을 해보려고 합니다!

 

오늘은 그 3번째 시간입니다!

 

이전 포스팅은 블로그에서 태그로 검색해주시거나, 아래 URL 을 참조해주세요!

2019/10/12 - [방송통신대학교] - 방송통신대학교 2학년 2학기 자료구조 중간,기말고사 대비 요약본 #1

2019/10/12 - [방송통신대학교] - 방송통신대학교 2학년 2학기 자료구조 중간, 기말고사 대비 요약본 #2

 

 

자료 출처는 아래와 같습니다.

 

1. 방송통신대학교 공식 교과서

2. 유노 캠퍼스에 정리된 "주요 용어"

3. 해당 강의에서 제공되는 "연습문제"

4. 출석수업, 강의 등에서 교수님이 특별히 강조하신 개념

5. "기말고사" 등 문제에서 실제로 반복적으로 나오는 개념

6. 지극히 개인적인 제 주관상 넣고 싶은 것

 

공부하실 때 참고하시면 좋을 것 같습니다!

 

[ 자료구조 요약 정리본 ]

 

1. 스택 : 객체와 그 객체가 저장되는 순서를 기억하는 방법에 관한 추상 자료형

 - LIFO(last in, first out) = 후입선출 이라고 합니다.

 - 아침에 타시는 지하철이랑 비슷하게 보시면 됩니다.

지하철이 해당역에 도착하면 마지막에 탄 사람일수록 보통 바깥쪽에 서있고, 바깥쪽에 있던

마지막에 탑승한 승객부터 내리게 됩니다.

2. 시스템 스택(system stack) : 변수에 대한 메모리의 할당과 수집을 위해 운영체제가 관리하는 스택

3. 스택의 삭제 연산 : 스택의 가장 위에 있는 원소를 삭제하는 연산

 - TOP 이라는 포인터가 가르키는 원소입니다.

4. 스택의 삽입 연산 : 스택의 가장 위에 있는 원소위에 하나의 원소를 추가하는 연산

 - TOP을 1 증가시키고, 증가된 장소에 원소를 추가합니다.

5. 중위 표기법(infix notation) : 연산자를 피연산자의 사이에 표기하는 방법이며

일반적으로 가장 많이 사용되는 표기방법(A+B)

6. 전위 표기법(prefix notation) : 연산자를 피연산자의 앞에 표기하는 방법 (+AB)

7. 후위 표기법(postfix notation) : 연산자를 피연산자의 뒤에 표기하는 방법 (AB+)

 - 해당하는 방법이 스택을 사용한 컴퓨터의 사칙연산 계산방식입니다.

 - 시험 단골 문제입니다.

 

8. A*B+C 수식을 후위 표기식으로 바르게 나타낸 것은 ? > AB*C+

 - 후위 표기식은 사칙연산이 이루어지는 순서대로 오른쪽으로 옴기시면 됩니다.

 - A*B+C > (A*B)+C > (AB)* +C > (AB)*C+ > AB*C+ 순서대로 진행됩니다.

 

9. 스택의 응용분야가 아닌 것은? > 작업스케쥴링

 - 시스템 스택, 서브루틴 호출, 수식의 계산 등에 주로 사용됩니다.

 

10. 스택의 추상 자료형에서 정의된 연산은 시스템 개발자에 따라 다르게 정의되고 구현될 수도 있고,

컴파일러 설계자에 따라 프로그래밍 언어에서 다르게 제공될 수도 있습니다.

 

11. 스택을 생성하는 연산은 프로그래머가 지정한 크기의 새로운 스택을 생성하는 연산이며,

매개변수인 maxStack은 스택이 저장할 수 있는 최대 개수의 element를 의미합니다.

 - maxStack 을 넘어서 스택을 추가하려고 하면 에러가 발생합니다.


12. IsFull(stack, maxStackSize) 연산은 스택이 가득 찼는지를 확인하며,

저장된 원소의 수가 maxStackSize와 같으면 TRUE(‘스택이 가득 찼다’)를 반환하고

아니면 FALSE(‘스택에 여유 저장 공간이 있다’)를 반환합니다.

 - 시험 단골문제입니다. 보통 소스코드 형식으로 나옵니다.

13. Stack Push(stack, item) 연산은 스택에 새로운 원소를 삽입합니다.

만일 스택이 가득 찼다(Full)면 더 이상의 원소를 스택에 삽입할 수 없으며, ‘stackFull‘ 메시지를 출력합니다.

 - 시험 단골문제입니다. 보통 소스코드 형식으로 나옵니다.

 - 원소를 삽입전에 TOP을 1 증가시킵니다.

14. Boolean IsEmpty(stack) 연산은 스택 상태가 빈 상태인지를 확인합니다.

만일 스택이 빈 상태이면 ‘TRUE’ 값을 반환하고, 스택에 하나 이상의 원소라도 있다면 ‘FALSE’ 값을 반환합니다.

 - 시험 단골문제입니다. 보통 소스코드 형식으로 나옵니다.

15. Element Pop(stack) 연산자는 스택이 빈 상태라면 삭제할 원소가 없으므로 ‘stackEmpty‘를 출력합니다.

하지만, 빈 상태가 아니라면 삭제할 원소가 있으므로, 스택의 top이 가리키는 원소를 삭제하고 그 원소를 반환합니다.

 - 시험 단골문제입니다. 보통 소스코드 형식으로 나옵니다.

 - 원소를 삭제하고 TOP 을 1 감소 시킵니다.

/*

혹시나 제가 잘못 포스팅하였거나,

더 상세한 설명이 필요하시거나 등

어떠한 의견도 좋으니 자유롭게 덧글 부탁드립니다!

*/

728x90
반응형
그리드형