본문 바로가기

Heap

[Data Structure] 힙(Heap) 연산 힙(Heap) 자료구조란 ? 1. 힙(Heap) 자료구조의 정의 - 힙 자료구조는 '완전 이진 트리' 를 기초로 하는 자료 구조 - 이때, 완전 이진 트리는 '마지막을 제외한 모든 노드에서 자식들이 꽉 채워진 이진 트리' 이다. 2. 의의 - 힙은 수의 집합에서 가장 작은 수나, 가장 큰 수만을 꺼낼 때 유용한 자료 구조이다. 힙(Heap) 의 특징 1. 힙 = [최대 힙(Max Heap)] + [최소 힙(Min Heap)] 으로 나누어 진다. 1) 최대 힙 - 부모 노드의 값 > 자식 노드의 값 2) 최소 힙 - 부모 노드의 값 힙은 항상 느슨한 정렬 상태(반 정렬 상태)를 유지한다. 2. 힙은 '중복 값' 을 허용 - 힙은 최댓값 or 최솟값을 쉽게 뽑기 위한 자료구조로, 중.. 더보기
[Java] Java 메모리 구조(Runtime Data Area) (작성중) 온라인 스터디 1주차 JVM이란? 문항에서 조금만 더 알아보자! 하는 생각으로 정리하는 Runtime Data Area!! GC랑 같이 내용 정리한다. 자바 메모리 구조(Runtime Data Area) 란? 1. 정의 - Runtime Data Area = JVM이 프로그램 수행을 위해 OS로부터 할당받은 메모리 영역 - 자바 소스 코드를 ---- 컴파일 ----> byte code 로 바꾸고, 이 바이트 코드를 JVM으로 실행하는 과정에서, 코드가 Runtime Data Area 영역에서 실행되는데, - 이때, OS가 JVM에 할당한 메모리 영역에 맞게 코드가 분배되고 실행된다. 2. 구분 - Runtime Data Area는 [스레드 별로 생성되는 메모리 영역] + [모든 스레드가 공유하는 메모리 .. 더보기