202102-21 C#数据结构之最小堆的实现方法 最小堆基本思想:堆对应一棵完全二叉树,且所有非叶结点的值均不大于(或不小于)其子女的值,根结点(堆顶元素)的值是最小(或最大)的,每次都取堆顶的元素,将其放在序列最后面,然后将剩余的元素重新调整为最小(大)堆,依次类推,最终得到排序的序列。堆排序分为大顶堆和小顶堆排序。大顶堆:堆对应一棵完全二叉树,且所有非叶结点的值均不小于其子女的值,根结点(堆顶元素)的值是最大的。而小顶堆正好相反,小顶堆:堆对应一... 继续阅读 >
202102-21 使用C#实现数据结构堆的代码 一、堆的介绍:堆是用来排序的,通常是一个可以被看做一棵树的数组对象。堆满足已下特性:1.堆中某个节点的值总是不大于或不小于其父节点的值任意节点的值小于(或大于)它的所有后裔,所以最小元(或最大元)在堆的根节点上(堆序性)。堆有大根堆和小根堆,将根节点最大的堆叫做最大堆或大根堆,根节点最小的堆叫做最小堆或小根堆。2.堆总是一棵完全二叉树除了最底层,其他层的节点都被元素填满,且最底... 继续阅读 >