트리
인덱스 2idx + 1의 왼쪽 자식
인덱스 2idx + 2의 오른쪽 자식
1
/ \
2 3
/| |\
4 5 6 7
현재 노드를 부모 노드로 생각했을 때 왼쪽자식-> 부모 -> 오른쪽 자식
정렬된 순서대로 값을 가져올때 사용
현재 노드를 부모 노드로 생각했을 때 왼쪽자식-> 오른쪽 자식 -> 부모
트리 삭제에 유용!
그래프
그래프 탐색
최단경로
while(노드 개수 -1)
(아직 방문하지 않은 노드 중) 최소 비용 노드선택 후 다른 곳까지의 경로 비용 vs 현재까지 구한 최소 비용으로 다른곳까지의 경로 비용 하나하나 비교.
1차원 리스트. 노드의 개수+1 로 크기 정하기.
매 단계마다 모든 간선 가중치 다시 확인 -> 음의 가중치도 가능!
음의 사이클을 감지할 수 있음.
다익스트라와 같지만,
ArrayList 변환
public String[] solution(String[] record) {
ArrayList<String> result = new ArrayList<>();
...
return result.toArray(new String[0]);
}
public int[] solution(String[] genres, int[] plays) {
ArrayList<Integer> answer = new ArrayList<>();
return answer.stream().mapToInt(Integer::intValue).toArray();
}