반응형 Heap2 [Go] Go의 메모리 할당 들어가기 전 Java를 공부하기 시작하면서 JAVA가 어떻게 메모리를 사용하는지 확인하게 됐다. JAVA는 Static, Stack, Heap 이렇게 세 종류의 구분을 두어 메모리를 관리했고 이 부분은 다음에 다시 언급할 기회가 있을 듯하다. 그렇다면 Go는 어떨까? JAVA에서의 Static은 Class를 주로 저장하는 듯한데 Class가 없는 Go는 어떨까?라는 의문을 가지고 Go가 메모리를 사용하는 방법을 살펴보았다. Go의 메모리 할당 우선 Class가 없어서 인지는 모르겠지만 Go는 Stack과 Heap 두 종류로 구분돼 있음을 확인했다..! 그렇다면 이 두 메모리를 어떻게 사용하고 있을까? 같이 알아보도록 하자! Stack Stack을 사용할 때의 코스트는 적다.(가볍다.) Stack에 메모리.. 2022. 4. 8. [자료구조] 우선순위큐(Priority Queue)에 사용되는 Heap 자료구조 서론 우선순위큐를 사용하며 이 자료구조를 정확히 이해하기 위해선 그 전에 힙을 완벽히 이해하여야 겠다는 생각이 들었다. 이전과 같이 모르는 것을 그냥 넘어가는 일이 없도록 하자. Heap Priority Queue 데이터에 가중치를 두어 가중치의 오름차순 또는 내림차순으로 정렬한 큐. 주로 시뮬레이션 시스템, 작업 스케줄링에 사용. 배열 또는 연결 리스트로도 구현이 가능하지만 힙 자료구조를 사용하는 것이 가장 효과적. 리스트를 사용하여 구현한 경우 삽입의 시간 복잡도는 O(1), 삭제의 시간 복잡도는 O(n). Heap을 사용하여 구현한 경우 삽입과 삭제 모두 시간 복잡도는 O(logN) Heap 자료구조의 개념 배열을 기반으로 한 완전 이진 트리로 구성. 일반적 이진 트리와 다르게 중복된 값을 허용. .. 2021. 10. 25. 이전 1 다음 반응형