Home Knou: 자료구조 | 03. 스택
Post
Cancel

Knou: 자료구조 | 03. 스택

스택

  • 객체와 그 객체가 저장되는 순서를 기억하는 방법(연산) 에 관한 자료구조
  • 0개 이상의 원소를 갖는 유한 순서 리스트
  • push 와 pop 연산이 한 곳에서 발생되는 자료구조

선입후출 관계를 표현하기 위해 연산이 필요, 객체에 대한 정의와 연산이 모여 순서가 기억되는 스택의 추상 자료형이 완성됨

추상자료형: 객체 + 연산 구체적 연산(삽입, 삭제)을 위해서는 인덱스가 필요

스택의 추상자료형

스택 객체: 0개 이상의 원소를 갖는 유한 순서 리스트

Alt text

Alt text

Alt text

스택은 연산이 제한적이다

자료구조는 데이터 사이의 관계를 구조화 한 것 객체와 연산에 대한

스택에 max size 를 주면 더이상 데이터를 받지 않는다

Alt text

스택의 응용

  • 변수에 대한 메모리의 할당과 수집을 위한 시스템 스택
  • 서브루틴 호출 관리를 위한 스택
  • 연산자 우선순위
  • 인터럽트 처리와 되돌아갈 명령 수행 지점 저장
  • 컴파일러, 순환 호출 관리

서브루틴 호출 관리 스택

자바스크립트 콜스택과 같이 운영체제에서 시스템을 수행하기 위한 스택

사칙연산의 전/후/중위 표현

연산자의 계산 우선순위를 생각해야 한다

수식의 표기 방법

  • 중위 표기법

A + B 주로 사람이 보기 편한 방법

  • 전위 표기법

+AB

  • 후위 표기법

AB+

후위 표기법과 스택을 함께 사용하면 컴퓨터에서 사용하기 좋다

후위 표기법

중위 -> 후위로 변경 시

A - ((B + K) / D)

-> A - ((BK+) / D)

-> A - ((BK+)D/)

-> A((BK+)D/)-

This post is licensed under CC BY 4.0 by the author.

Knou: 자료구조 | 02. 배열

Knou: 프로그래밍 언어 | 01. 프로그래밍 언어의 정의