您好,欢迎光临本网站![请登录][注册会员]  

搜索资源列表

  1. 堆排序--大顶堆排序

  2. 堆排序--大顶堆排序
  3. 所属分类:C/C++

    • 发布日期:2013-03-27
    • 文件大小:30720
    • 提供者:smiler158
  1. 各种排序方法汇总(排序 插入排序 冒泡排序 堆排序 ******)

  2. 记事本自己搜的 (1)用大根堆排序的基本思想 ① 先将初始文件R[1..n]建成一个大根堆,此堆为初始的无序区 ② 再将关键字最大的记录R[1](即堆顶)和无序区的最后一个记录R[n]交换,由此得到新的无序区R[1..n-1]和有序区R[n],且满足R[1..n-1].keys≤R[n].key ③ 由于交换后新的根R[1]可能违反堆性质,故应将当前无序区R[1..n-1]调整为堆。然后再次将R[1..n-1]中关键字最大的记录R[1]和该区间的最后一个记录R[n-1]交换,由此得到新的无序区
  3. 所属分类:其它

    • 发布日期:2008-09-05
    • 文件大小:18432
    • 提供者:lwncool
  1. C语言堆排序

  2. 数据结构的堆排序,简单的大顶堆排序算法源代码
  3. 所属分类:C/C++

    • 发布日期:2013-06-25
    • 文件大小:668
    • 提供者:u011198702
  1. 堆排序递归和非递归的实现

  2. 该源码主要在winform中实现的堆的构造,大顶堆和小顶堆的构造,在构造过程中有递归和非递归两种方式实现,当然必不可少的是堆排序了
  3. 所属分类:C#

    • 发布日期:2013-08-07
    • 文件大小:44032
    • 提供者:jjp837661103
  1. 改进的堆排序算法

  2. 对堆排序的改进 1.将数据初始化为大顶堆,交换第一个和最后一个元素,这里是不变的 2.重新构造大顶堆是,首先让第一个元素下降h/2的高度(h 为堆的高度) 3.下降了h/2层后判断这个元素与它的父节点谁大,如果父节点大继续下沉,下沉的结束条件为h=0 如果父节点小,表明第一个元素下沉时走过头了,然后要往回走,进行上浮操作,上浮操作是肯定能够找到第一个元素的最终位置的 4.循环n-1次程序运行完成。
  3. 所属分类:C/C++

    • 发布日期:2013-11-04
    • 文件大小:3072
    • 提供者:fengge6715
  1. 二叉堆:最大堆

  2. 使用c++实现最大堆。提供常见操作,如插入、删除、堆化数组、堆排序、上下调整、向下调整。
  3. 所属分类:C++

  1. 数据结构排序算法

  2. 数据结构的排序算法,二路归并排序、大顶堆排序实现算法
  3. 所属分类:C/C++

    • 发布日期:2014-11-21
    • 文件大小:331776
    • 提供者:u013166877
  1. 大顶堆类(C++封装)

  2. 利用C++实现了大顶堆,并封装了常用操作,包括:插入、删除、堆排序等。通过自己实现堆的常用操作,可以对堆的原理有更深的理解。
  3. 所属分类:C++

    • 发布日期:2018-01-18
    • 文件大小:2048
    • 提供者:qq_28869927
  1. 四种排序算法时间记录(C语言实现快排归并插入大顶堆)

  2. 课程实验数据结果,C语言实现快排归并插入大顶堆。 内含5W-50W随机生成整数每隔5W数据量排序一次的时间记录,并对其进行了均值和方差的比较。
  3. 所属分类:教育

    • 发布日期:2020-04-21
    • 文件大小:26624
    • 提供者:Xixo0628
  1. 实现快速排序算法和堆排序算法

  2. // 堆排序 #include typedef int InfoType; // 定义其它数据项的类型 #include "compare.h" #include "sort.h" typedef SqList HeapType; // 堆采用顺序表存储表示 void HeapAdjust(HeapType &H,int s,int m) // 算法10.10 { // 已知H.r[s..m]中记录的关键字除H.r[s].key之外均满足堆的定义,本函数 // 调整H.r[s]
  3. 所属分类:C/C++

    • 发布日期:2013-06-18
    • 文件大小:1024
    • 提供者:u011113151
  1. Java 堆排序实例(大顶堆、小顶堆)

  2. 下面小编就为大家分享一篇Java 堆排序实例(大顶堆、小顶堆),具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
  3. 所属分类:其它

    • 发布日期:2020-08-28
    • 文件大小:141312
    • 提供者:weixin_38713586
  1. C++实现优化冒泡排序、首/尾点快速排序、大顶堆排序

  2. C++实现优化冒泡排序、首/尾点快速排序、大顶堆排序,包含main函数,快速排序中需要手动输入排序元素数量和元素
  3. 所属分类:C++

    • 发布日期:2020-10-15
    • 文件大小:2048
    • 提供者:CASTANEA
  1. C语言数据结构之堆排序源代码

  2. 本文实例为大家分享了C语言堆排序源代码,供大家参考,具体内容如下 1. 堆排序 堆排序的定义及思想可以参考百度百科: 用一句概括,堆排序就是一种改进的选择排序,改进的地方在于,每次做选择的时候,不单单把最大的数字选择出来,而且把排序过程中的一些操作进行了记录,这样在后续排序中可以利用,并且有分组的思想在里面,从而提高了排序效率,其效率为O(n*logn). 2. 源代码 堆排序中有两个核心的操作,一个是创建大顶堆(或者小顶堆,这里用的是大顶堆),再一个就是对堆进行调整。这里需要注意的是,并没
  3. 所属分类:其它

    • 发布日期:2020-12-25
    • 文件大小:58368
    • 提供者:weixin_38564718
  1. 图解堆排序

  2. 在学习堆排序前,我们需要知道顺序存储二叉树和堆的知识点。 一、顺序存储二叉树 1.概念:顺序存储二叉树即用数组的方式存储二叉树的节点 2.顺序存储二叉树的特点: ①顺序二叉树通常只考虑完全二叉树 ②第n个元素的左子节点为 2 * n + 1 ③第n个元素的右子节点为 2 * n + 2 ④第n个元素的父节点为 (n-1) / 2 (n : 表示二叉树中的第几个元素(按0开始编号如图所示) 二、堆 1.概念:堆是具有以下性质的完全二叉树:每个结点的值都大于或等于其左右孩子结点的值,称为大顶
  3. 所属分类:其它

    • 发布日期:2020-12-21
    • 文件大小:522240
    • 提供者:weixin_38672807
  1. 堆排序算法(选择排序改进)

  2. 首先要理解堆的含义:要么所有节点都不大于其子孩子节点数据,要么都不小于其子孩子节点数据 堆排序的核心思想:就是要满足所有节点都满足上面两点,如何完成,看下面 堆排序的步骤: 1.首先要建成一个大顶堆或者小顶堆,在建的过程中其实就是调整节点的位置,首先要从最后最后一个节点的母亲节点开始,按照堆的含义调整。为什么不是最后一个或者其他?因为要保证完整性和不必要性,所以只需从最后一个的母亲节点开始即可(下面的堆默认存在顺序结构,从索引0开始的,所以有些二叉树的特性请查阅二叉树),直至索引节点为0的节点。
  3. 所属分类:其它

    • 发布日期:2020-12-26
    • 文件大小:54272
    • 提供者:weixin_38626928
  1. 【排序知多少】堆排序详解

  2. 堆排序的概述 堆是具有下列特性的完全二叉树:每个节点的值都大于或等于其左右孩子的节点的值,成为大顶堆,或者每个节点的值都小于或等于其左右孩子节点的值,成为小顶堆。 在选择到最小记录同时,并根据比较结果对其他记录做出相应调整。这样的排序整体效率非常高。 堆排序的思路 堆排序(Heap Sort)就是利用堆进行排序的方法。他的基本思想是,将待排序的序列构造成一个大顶堆,此时,整个序列的最大值就是对定的根节点。将他移走(其实就是将其余对数组的末尾元素交换,此时末尾元素就是最大值),然后将剩余的n-1个
  3. 所属分类:其它

    • 发布日期:2021-01-08
    • 文件大小:43008
    • 提供者:weixin_38629449
  1. 挑战七大排序算法-04堆排序

  2. 目录 堆排序 1.原理 2.实现 3.性能分析 堆排序 1.原理 基本原理也是选择排序,只是不再使用遍历的方式查找无序区间的最大数,而是通过堆来选择无序区间的最大数 升序:大顶堆;降序:小顶堆 堆排序的基本思路: a.将无需序列构建成一个堆,根据升序降序需求选择大顶堆或小顶堆; b.将堆顶元素与末尾元素交换,将最大元素”沉”到数组末端; c.重新调整结构,使其满足堆定义,然后继续交换堆顶元素与当前末尾元素,反复执行调整+交换步骤,直到整个序列有序。 2.实现 //堆排序    public
  3. 所属分类:其它

    • 发布日期:2021-01-07
    • 文件大小:36864
    • 提供者:weixin_38635996
  1. Python实现的堆排序算法示例

  2. 本文实例讲述了Python实现的堆排序算法。分享给大家供大家参考,具体如下: 堆排序的思想: 堆是一种数据结构,可以将堆看作一棵完全二叉树,这棵二叉树满足,任何一个非叶节点的值都不大于(或不小于)其左右孩子节点的值。 将一个无序序列调整为一个堆,就可以找出这个序列的最大值(或最小值),然后将找出的这个值交换到序列的最后一个,这样有序序列就元素就增加一个,无序序列元素就减少一个,对新的无序序列重复这样的操作,就实现了排序。 堆排序的执行过程: 1.从无序序列所确定的完全二叉树的第一个非叶子节点开始
  3. 所属分类:其它

    • 发布日期:2021-01-21
    • 文件大小:71680
    • 提供者:weixin_38714370
  1. C语言实现基于最大堆和最小堆的堆排序算法示例

  2. 堆定义 堆实际上是一棵完全二叉树,其任何一非叶节点满足性质: Key[i]<=key[2i+1]&&Key[i]=Key[2i+1]&&key>=key[2i+2](大顶堆) 即任何一非叶节点的关键字不大于或者不小于其左右孩子节点的关键字。 堆排序的思想 利用大顶堆(小顶堆)堆顶记录的是最大关键字(最小关键字)这一特性,使得每次从无序中选择最大记录(最小记录)变得简单。 最大堆:所有节点的子节点比其自身小的堆。 最小堆:所有节点的子节点比其自身大的堆。 这里以最大堆为基础,其
  3. 所属分类:其它

    • 发布日期:2021-01-20
    • 文件大小:59392
    • 提供者:weixin_38746574
  1. 堆排序——Java与Go实现

  2. 概念分析 堆排序是使用堆这种数据结构进行排序的方法。(好像是废话) 思路分析 首先,我们将待排序的数组看作一个完全二叉树 将此二叉树转成大顶堆或者小顶堆 将堆顶元素与堆的最后一个元素互换,之后丢弃最后一个元素 重复第二步与第三步,知道堆只剩一个堆顶 具体解析 什么是完全二叉树? 对于一个深度为k,有n个节点的二叉树,其所有的结点与深度为k的满二叉树对应的编号一样,则称之为完全二叉树。 数组如何转成完全二叉树? 举个栗子,有一个数组arr = {1,2,3,4,5},那我们可以将其构建为以下的二叉
  3. 所属分类:其它

    • 发布日期:2021-01-20
    • 文件大小:100352
    • 提供者:weixin_38596117
« 12 3 »