Warning: mysqli_query(): (HY000/1030): Got error 28 from storage engine in /www/wwwroot/hosteonscn.com/wp-includes/wp-db.php on line 1924
2022年 - 第2859页 - hosteons中文网

2022年

2022年发布的文章
  • 堆排序算法C语言详解

    在学习堆排序之前,首先需要了解堆的含义:在含有 n 个元素的序列中,如果序列中的元素满足下面其中一种关系时,此序列可以称之为

    • ki ≤ k2i 且 ki ≤ k2i+1(在 n 个记录的范围内,第 i 个关键字的值小于第 2*i 个关键字,同时也小于第 2*i+1 个关键字)
    • ki ≥ k2i 且 ki ≥ k2i+1(在 n 个记录的范围内,第 i 个关键字的值大于第 2*i 个关键字,同时也大于第 2*i+1 个关键字)

    对于堆的定义也可以使用完全二叉树来解释,因为在完全二叉树中第 i 个结点的左孩子恰好是第 2i 个结点,右孩子恰好是 2i+1 个结点。如果该序列可以被称为堆,则使用该序列构建的完全二叉树中,每个根结点的值都必须不小于(或者不大于)左右孩子结点的值。

    以无序表{49,38,65,97,76,13,27,49}来讲,其对应的堆用完全二叉树来表示为:



    图 3 无序表对应的堆

更多...

加载中...