1. 힙 정렬 Do it 자바 알고리즘
- 힙이란?
- 힙 : ' 부모의 값이 자식의 값보다 항상 크다, 혹은 항상 작다' 는 조건을 만족하는 완전이진트리
- 완전 이진 트리
- 완전 : 부모는 자식을 왼쪽부터 추가하는 모양을 유지,
- 이진 : 부모가 가질 수 있는 자식의 개수는 최대 2개이다.
- 힙 정렬 : 가장 큰 값이 루트에 위치하는 특징을 이용하는 정렬 알고리즘
2. 프로그래머스 더 맵게
- 스코빌지수가 가장 낮은 두 음식을 섞어야 하므로, 정렬이 필요.
- 문제의도인 '힙'으로 풀어낸다.
- 자바의 우선순위큐 클래스를 활용. => 메모리초과...=> add 대신 offer사용으로 으로 해결
3. java: PriorityQueue 클래스
- add vs offer : add는 삽입 성공시 true 반환, 실패시 예외발생, offer는 삽입 실패시 false 를 반환
- peek vs element : 검사 실패시 peek은 false, element는 예외발생
- poll vs remove : dequeue 실패시 poll은 false, remove는 예외발생
4. openJDK
https://engineering.linecorp.com/ko/blog/line-open-jdk/ 읽음