堆初始化-二叉堆一般用数组来表示。例如,根节点在数组中的位置是0,第n个位置的子节点分别在2n+1和 2n+2-icoding-void init_min_heap(PMinHeap pq, int
生活随笔
收集整理的這篇文章主要介紹了
堆初始化-二叉堆一般用数组来表示。例如,根节点在数组中的位置是0,第n个位置的子节点分别在2n+1和 2n+2-icoding-void init_min_heap(PMinHeap pq, int
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
堆初始化
二叉堆一般用數組來表示。例如,根節點在數組中的位置是0,第n個位置的子節點分別在2n+1和 2n+2。?
因此,第0個位置的子節點在1和2,1的子節點在3和4。以此類推。這種存儲方式便于尋找父節點和子節點。
在二叉堆上可以進行插入節點、刪除節點、取出值最小的節點、減小節點的值等基本操作。
“最小堆”的定義如下:
請實現最小堆的初始化函數:
void init_min_heap(PMinHeap pq, int capacity);
其中 pq指向堆,capacity為堆元素數組的初始化大小。
示例代碼:
#include <stdio.h> #include <stdlib.h> #include "minbinheap.h"void init_min_heap(PMinHeap pq, int capacity){//小根堆, 小的在上面 pq->capacity = capacity;pq->heap_size = 0;pq->heap_array = (PMinHeapNode)malloc(sizeof(MinHeapNode) * pq->capacity);return; }?
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的堆初始化-二叉堆一般用数组来表示。例如,根节点在数组中的位置是0,第n个位置的子节点分别在2n+1和 2n+2-icoding-void init_min_heap(PMinHeap pq, int的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 蚂蚁粉治疗类风湿吗
- 下一篇: 尤瑞克林的作用与功效