본문 바로가기

정보처리산업기사 필기 공부53

047 수식의 표기법 전위 표기법 ( Prefix ) : 연산자 → Left → Right, +AB 중위 표기법 ( Infix ) : Left → 연산자 → Right, A+B 후위 표기법 ( Postfix ) : Left → Right → 연산자, AB+ Infix 표기를 Postfix로 바꾸기 Infix로 표기된 수식에서 연산자를 해당 피연산자 두 개의 뒤( 오른쪽 )에 오도록 이동하면 Postfix가 된다. ① 연산 우선 순위에 따라 괄호로 묶는다. ② 연산자를 해당 괄호의 뒤로 옮긴다. ③ 괄호를 제거한다. Infix 표기를 Prefix로 바꾸기 Infix로 표기된 수식에서 연산자를 해당 피연산자 두 개의 앞( 왼쪽 )에 오도록 이동하면 Prefix가 된다. ① 연산 우선순위에 따라 괄호로 묶는다. ② 연산자를 해당 .. 2021. 6. 7.
046 이진 트리의 운행법 전위 ( Preorder ) 운행 : Root → Left → Right 순으로 운행함 A, B, C 중위 ( Inorder ) 운행 : Left → Root → Right 순으로 운행함 B, A, C 후위 ( Postorder ) 운행 : Left → Right → Root 순으로 운행함 B, C, A ex. 다음 트리를 Inorder, Preorder, Postorder 방법으로 운행했을 때 각 노드를 방문한 순서는? 서브 트리를 하나의 노드로 생각할 수 있도록 다음 그임과 같이 서브 트리 단위로 묶는다. Preorder, Inorder, Postorder 모두 공통으로 사용한다. ① Preorder는 Root → Left → Right이므로 A13이 된다... 2021. 6. 6.
045 트리 ( Tree ) 트리 ( Tree ) 정점( Node, 노드 )과 선분( Branch, 가지 )을 이용하여 사이클을 이루지 않도록 구성한 Graph의 특수한 형태로 가족의 계보( 족보 ), 연산 수식, 회사 조직 구조도, 히프( Heap ) 등을 표현하기에 적합하다. 노드 ( Node ) : 트리의 기본 요소로서 자료 항목과 다른 항목에 대한 가지( Branch )를 합친 것 ex. A, B, C, D, E, F, G, H, I, J, K, L, M 근 노드 ( Root Node ) : 트리의 맨 위에 있는 노드 ex. A 디그리 ( Degree, 차수 ) : 각 노드에서 뻗어나온 가지의 수 ex. A = 3, B = 2, C = 1, D = 3 트리의 디그리 : 노드들의 디그리 중에서 가장 많은 수 ex. 노드 A나 .. 2021. 5. 22.
044 데크 ( Deque ) 데크 ( Deque ) 삽입과 삭제가 리스트의 양쪽 끝에서 모두 발생할 수 있는 자료 구조이다. Double Ended Queue의 약자이다. Stack과 Queue의 장점만 따서 구성한 것이다. 입력이 한 쪽에서만 발생하고 출력은 양쪽에서 일어날 수 있는 입력 제한과 입력은 양쪽에서 일어나고 출력은 한 곳에서만 이루어지는 출력 제한이 있다. - 입력 제한 데크 : Scroll - 출력 제한 데크 : Shelf 길벗알앤디 (강윤석, 김용갑, 김우경), 정보처리 산업기사 필기 1권 핵심요약, 길벗(2019), p 48. 2021. 5. 22.
043 큐 ( Oueue ) 큐 ( Queue ) 선형 리스트의 한 쪽에서는 삽입 작업이 이루어지고 다른 한 쪽에서는 삭제 작업이 이루어지도록 구성한 자료 구조이다. 가장 먼저 삽입된 자료가 가장 먼저 삭제되는 선입선출( FIFO; First-In, First-Out ) 방식으로 처리한다. 시작과 끝을 표시하는 두 개의 포인터를 갖는다. - 프런트( F, Front ) 포인터 : 가장 먼저 삽입된 자료의 기억공간을 가리키는 포인터로, 삭제 작업을 할 때 사용함 - 리어( R, Rear ) 포인터 : 가장 마지막에 삽입된 자료가 위치한 기억장소를 가리키는 포인터로, 삽입 작업을 할 때 사용함 Queue를 이용하는 예 창구 업무처럼 서비스 순서를 기다리는 등의 대기 행렬의 처리에 사용한다. 운영체제의 작업 스케줄링에 사용한다. 길벗알앤.. 2021. 5. 22.
042 스택의 삽입 ( Push ) 과 삭제 ( Pop ) 삽입 ( Push ) Top = Top + 1 If Top > M Then Overflow Else X(Top) ← Item 스택 포인터(Top)를 1 증가시킨다. 스택 포인터가 스택의 크기보다 크면 Overflow 그렇지 않으면 Item이 가지고 있는 값을 스택의 Top 위치에 삽입한다. M : 스택의 크기 Top : 스택 포인터 X : 스택의 이름 Overflow : 스택으로 할당받은 메모리 부분의 마지막 주소가 M번지라고 할 때, Top Pointer의 값이 M보다 커지면 스택의 모든 기억장소가 꽉 채워져 있는 상태이므로 더 이상 자료를 삽입할 수 없어 Overflow를 발생시킴 삭제 ( Pop ) If Top = 0 Then Underflow Else Item ← X(Top) Top = Top -.. 2021. 5. 22.