InsertItem2 Heap What is a Heap? local variable은 stack에 있고, dynamic 은 heap에 있다의 heap과 다르다. 맥락을 통해 구분하자. Heap은 binary tree의 한 종류이다. 다음의 두 가지 특징을 만족해야한다. 1. Shape : It must be a complete binary tree 2. Order : 모든 노드는 자기의 children 값보다 커야 한다. (Parent가 가장 커야함) _ Max_Heap 모든 노드를 자기의 children 값보다 작게 하는 Min_Heap도 만들 수 있다. 전체 트리에서 가장 큰 Element = root ReheapDown(int root, int bottom) 가장 큰 노드를 root로 올리고 작은 노드를 down 하려는 목적 .. 2023. 5. 23. Doubly Linked Circular Linked List 마지막 원소의 next를 NULL이 아니라 맨 앞으로 보낸다. 마지막이 포인팅 하고 있는게 listData면 그 노드가 마지막이었다는 걸 알 수 있음. Doubly Linked List 원래 private으로 info, next만 가지고 있었는데 추가로 back 포인터를 만들자. 이제 InsertItem 할 때 predLoc를 따로 생성할 필요가 없어졌다. template struct NodeType{ ItemType info; NodeType* back; NodeType* next; } InsertItem 리스트의 정보가 손실되지 않도록 순서를 잘 설정해주어야 한다. 새로운 노드의 back과 next를 먼저 설정해주어야 기존 리스트를 건드리지 않을 수 있다. 1. .. 2023. 5. 1. 이전 1 다음