자료구조

[C언어] 스택

성수아자 2022. 4. 22. 13:36

배열과 리스트를 구현할 줄 안다면 스택 구현에는 큰 어려움이 없어보인다. 스택의 추상 자료형(ADT)는 초기화, 삽입, 삭제, 확인 정도로 아주 간단하고 이는 리스트 또는 배열로 쉽게 구현할 수 있다. 웹개발을 하면서 스택이란 단어는 자주 등장하게 되는데 이는 스택이란 자료구조의 중요성과 유용성이 높다는 것을 뒷받침 한다고 생각한다. 

 

내가 보고 있는 책에선 스택의 활용으로 계산기 만들기를 학습한다. 이를 통해 계산기의 원리와 컴퓨터가 어떻게 컴퓨팅 하는 지 조금은 더 이해할 수 있게 되었다. 우선 우리가 사용하는 수식의 표기법은 중위 표기법으로 이 표기법 만으로는 컴퓨터가 계산하기 어렵다고 한다. 그래서 개발한 것이 컴퓨터에게 맞춘 전위 표기법, 후위 표기법이다. 이는 컴퓨터가 컴퓨팅 하기 편하게 사실 우리가 만들어 계산하게끔 해주는 방식이다. 책에는 중위 표기법을 후위 표기법으로 바꾸는 방식만 설명할 뿐 왜 저런 식으로 바뀌는 지는 설명해주지 않는다. 후위 표기법은 피연산자가 먼저 오고 그 뒤에 연산자가 오는 방식으로 표현하는데 이는 컴퓨터는 선형적으로 문자열을 읽다보니 이에 맞춰 만든 표기법이지 않나 싶다.

'자료구조' 카테고리의 다른 글

[C언어] NULL 포인터  (0) 2022.07.04
[C언어] 큐와 덱  (0) 2022.04.24
다른 시스템 속 자료구조  (0) 2022.04.22
[C언어] 리스트  (0) 2022.04.20
[C언어] 자료구조  (0) 2022.04.20