堆排序法(Java & C/C++ 实现)

一、前言 堆排序是利用堆这种数据结构而设计的一种排序算法。时间复杂度为 O(n * lg n)。 介绍堆排序前,我们先介绍一下堆的相关概念,如果你对堆的概念还不熟悉的话可以看看。   二、堆 1. 示意图 2. 性质 除最底层外,该树是完全充满的,且是从左到右填充。 树的根结点是 A[ 1 ],若某一结点下标为 i,则很容易得到它的父节点为 i/2,左子结点为 2i,右子结点为 2i + 1。 注
相关文章
相关标签/搜索