숙제 최소힙 만들기
166
138 asked
class Heap {
arr = [];
#reheapUp(index) {
if (index > 0) {
const parentIndex = Math.floor((index - 1) / 2);
if (this.arr[index] > this.arr[parentIndex]) {
// 값 바꾸기
const tmp = this.arr[index];
this.arr[index] = this.arr[parentIndex];
this.arr[parentIndex] = tmp;
this.#reheapUp(parentIndex);
}
}
}
#reheapDown(index) {
if (index > 0) {
const parentIndex = Math.floor((index - 1) / 2);
if (this.arr[index] < this.arr[parentIndex]) {
const tmp = this.arr[index];
this.arr[index] = this.arr[parentIndex];
this.arr[parentIndex] = tmp;
this.#reheapDown(parentIndex);
}
}
}
insert(value) {
const index = this.arr.length;
this.arr[index] = value; // 마지막에 값을 넣어준다.
this.#reheapUp(index);
}
insertDown(value) {
const index = this.arr.length;
this.arr[index] = value;
this.#reheapDown(index);
}
remove() {
// root만 remove
}
search(value) {
for (let i = 0; i < this.arr.length; i++) {
if (arr[i] === value) {
return i;
}
}
}
}
const heap = new Heap();
heap.insert(8);
heap.insert(19);
heap.insert(23);
heap.insert(32);
heap.insert(45);
heap.insert(56);
heap.insert(78);
const downHeap = new Heap();
downHeap.insertDown(78);
downHeap.insertDown(56);
downHeap.insertDown(45);
downHeap.insertDown(32);
downHeap.insertDown(23);
downHeap.insertDown(19);
downHeap.insertDown(8);
console.log(downHeap.arr);reheapDown 이라는걸 만들어서 최소힙 만들기를 해보았는데 부모 index의 값과 비교하는 조건문의 부등호 방향만 바꾸니까 되는데 이게 맞나요...?
Answer 1
존재하지 않는 일기 url입력 시 alert이 두 번 떠요
0
4
0
useState 직접 구현 부분에서 질문이 있습니다.
1
11
1
학습을 하고 블로그에 정리를 해도 괜찮을까요?
1
16
1
코딩살구클럽 승인
0
16
2
스택, 큐 연결리스트로 구현 과제 완료입니다!
0
105
1
heapify 안의 bigger 삼항연산자 질문
0
127
2
LinkedList로 스택, 큐 구현하기 숙제
0
136
1
linkedList prev와 tail 사용 후 o(1) 구현.
0
172
1
숙제 : LinkedList로 Stack, Queue 구현하기
0
184
1
연결리스트 숙제
0
246
1
한번에 이해 안가는 제가 비정상 일까요...?
0
242
1
우선순위 큐 질문이 있습니다!
0
158
1
[숙제] minHeap 구현, maxHeap -> minHeap , minHeap -> maxHeap
1
243
1
최소힙 remove 구현하기
0
255
1
숙제 length return 하기
0
202
1
숙제 : 같은 값을 넣은경우 에러 처리
0
193
1
영상 중간에 0:10 1:23초 수정에 따른 코드 최종본
1
153
1
숙제2 연결리스트를 이용하여 큐 구현하기
0
248
1
숙제1 LinkedList로 스택 구현하기
1
264
1
연결 리스트 구현 숙제 리뷰 부탁드려봅니다
1
349
2
let current = this.head 질문 있습니다!
0
263
1
퀴즈 답안
0
475
1
최소힙의 결과값과 최대힙->최소힙 결과값이 다른게 맞나요?
0
256
1
1주차 숙제에 대한 해답 코드는 따로 제공되지 않나요??
0
504
1

