힙
-
[자료구조] 힙(heap) #javaDataStructures 2021. 11. 17. 17:51
힙(heap) 자료구조 안녕하세요? 장장스입니다. 오늘은 힙자료구조에 대해 알아보겠습니다. 힙 (heap) 힙은 최댓값 및 최솟값을 찾아내는 연산을 빠르게 하기 위해 고안된 완전이진트리를 기반으로 한 자료구조입니다. 힙에는 최대 힙(max heap)과 최소 힙(min heap)이 있습니다. 부모 노드가 자식 노드보다 크면 최대 힙, 반대이면 최소 힙입니다. 가장 큰 숫자가 뿌리에 있게 하려면 최대 힙, 가장 작은 숫자로부터 시작하려면 최소 힙을 사용하면 됩니다. 최대 힙 (max heap) max heap은 root에 가장 큰 값이 오는 heap 입니다. 최소 힙 (min heap) min heap은 root에 가장 작은 값이 오는 heap 입니다. 힙 추가 그렇다면 새로운 데이터를 추가하거나 제거는 어..
-
[OS] 프로세스 메모리 구조 (코드, 데이터, 스텍, 힙)OS 2021. 7. 19. 07:57
프로세스 메모리 구조 (코드, 데이터, 스텍, 힙) 프로그램의 실행 프로그램의 실행은 두가지 중요한 의미를 가진다. 파일 시스템에 존재하던 실행파일이 메모리에 적재된다는 의미 프로그램이 CPU를 할당받고 명령을 수행하고 있는 상태 파일 시스템에 있는 실행 파일이 메모리에 적재될 때, 실행파일 전체가 메모리에 올라가지 않는다. 일부분만 메모리에 올라가고 나머지는 디스크의 특정영역인 스왑 영역에 존재한다. 프로세스 메모리 영역 프로세스의 주소 공간은 코드(code), 데이터(data), 스택(stack), 힙(heap) 영역으로 구성된다. 이러한 주소 공간을 우리는 가상 메모리 (또는 논리적 메모리: logical memory)라고 부른다. code 영역 사용자가 작성한 프로그램 함수들의 코드가 CPU에서 ..
-
[JAVA] 자바, 메모리 구조 스택(stack), 힙(heap), 데이터(data)JAVA 2020. 6. 21. 13:51
자바, 메모리 구조 스택(stack), 힙(heap), 데이터(data) 스택(stack) 영역 메모리의 스택(stack) 영역은 함수의 호출과 관계되는 지역 변수와 매개변수가 저장되는 영역입니다. 스택 영역은 함수의 호출과 함께 할당되며, 함수의 호출이 완료되면 소멸합니다. 이렇게 스택 영역에 저장되는 함수의 호출 정보를 스택 프레임(stack frame)이라고 합니다. 스택 영역은 푸시(push) 동작으로 데이터를 저장하고, 팝(pop) 동작으로 데이터를 인출합니다. 이러한 스택은 후입선출(LIFO, Last-In First-Out) 방식에 따라 동작하므로, 가장 늦게 저장된 데이터가 가장 먼저 인출됩니다. 스택 영역은 메모리의 높은 주소에서 낮은 주소의 방향으로 할당됩니다. 힙(heap)영역 메모리..