CS/Data Structure

1.2 Stack

Map of Dev Official 2021. 12. 29. 21:54

 

 

Stack

뜻 : Data를 돌탑처럼 쌓거나 내리는 방식의 자료구조

 

종류 : Array Stack, LinkedList Stack

 

추가 용어

Push : Stack에 Data를 올리다

Pop :  Stack에서 Data을 내리다

 

Array Stack

뜻 : 저장공간을 배열로 확보하는 Stack

 

STRUCT* addrSTRUCT

기능 : STRUCT의 메모리 주소를 저장

 

struct STRUCT

멤버 : int Capacity, int nowPosition, Node* NodeAddr

 

기능 :

1. NodeAddr : Node들의 메모리 시작주소 저장

2. Capacity : ArrStack의 최대 Node의 개수 저장

3. nowPosition : 현재 참조하고있는 노드의 인덱스 저장

 

 

LinkedList Stack

뜻 : 저장공간을 LinkedList로 확보하는 Stack

struct STRUCT

멤버 : Node* Head, Node* Tail

 

기능 :

1. Head : 헤드 Node의 주소를 저장

2. Tail : 테일 Node의 주소를 저장

 

Stack을 쓰는 후위식 계산

중위식 표기법 : 1 + 1 같이 연산자를 두 피연산자의 중간에 위치시키는 방식

후위식 표기법 : 1 1 + 같이 연산자를 두 피연산자를 쓴 후 위치시키는 방식

 

Stack과 후위식 계산식 간의 관계

후위 계산식에서 항이 1,3,2일때 : 1,3,2를 담은 노드 삽입

*일때 : 3과 2를 담은 Node들을 제거하고 6(=3*2)을 담은 Node를 삽입한다

-일때 : 1과 6을 담은 Node들을 제거하고 -5(=1-6)를 담은 Node를 삽입한다

'CS > Data Structure' 카테고리의 다른 글

1.1 LinkedList  (0) 2021.09.12