图形讲解堆:堆是一颗树,是一颗特殊的二叉树,要想是堆,前提是完全二叉树,而且每一个根结点(根结点不仅仅是头结点)的值要大于它的左右子树的所有值,如下图:
对堆有所了解之后,开始创建堆。
主函数如下:
堆的创建 :
这样堆就创建好了,总的来说就是输入没输入一个value就去和它的根结点做比较,如果比根结点大,那么就替换根结点的位置,反之就直接插入。
在堆中插入一个新的值k,代码如下:
插入的原理跟上面堆的创建时差不多的,就是和他的根结点做比较,借图分析
整体的代码:
图形讲解堆:堆是一颗树,是一颗特殊的二叉树,要想是堆,前提是完全二叉树,而且每一个根结点(根结点不仅仅是头结点)的值要大于它的左右子树的所有值,如下图:
对堆有所了解之后,开始创建堆。
主函数如下:
堆的创建 :
这样堆就创建好了,总的来说就是输入没输入一个value就去和它的根结点做比较,如果比根结点大,那么就替换根结点的位置,反之就直接插入。
在堆中插入一个新的值k,代码如下:
插入的原理跟上面堆的创建时差不多的,就是和他的根结点做比较,借图分析
整体的代码: