자료구조 (Stack, heap)

박현석·2024년 7월 4일

메모리 구조

프로그램이 실행되기 위해서는 우선적으로 프로그램이 메모리 위에 로드 되어야한다.

자료구조는 컴퓨터상 자료를 효율적으로 저장하기 위해 만들어진 논리적인 구조

선형구조와 비선형 구조로 나뉘는데

선형구조에는 List, Stack, que, deque 가 있고
비선형구조에는 트리, 그래프 구조이다.

Stack Hip 의 구조

Stack은 자료구조의 선형구조이고 한쪽 방향으로만 넣고 꺼낼수 있다.
즉 LIFO 형식이다 (마지막에 넣은 값을 제일먼저 배출시킴)
(함수호출시 지역변수들이 저장되는곳)
stack은 주로 정적메로리 를 연산하며, 컴파일 시점에 이미 할당되어있는 구조이다.
높은주소에서 낮은주소로 메모리저장

Heap은 동적 메모리를 주로 할당하며 run 타임 시점 메모리의 크기가 결정된다.
낮은 주소에서 높은주소로 메모리를 저장

Stack의 메모리접근 속도는 heap에 비해 상당히 빠름.
이유는 스택은 이미 할당된 공간을 사용하고
heap의 경우 할당요청을 한 공간을 현재의 메모리공간을 고려하여 효율적으로 사용해야하기 때문
(더많은 CPU사용을 권유)

profile
너에게만광대

0개의 댓글