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

搜索资源列表

  1. 小根堆(二叉堆)实现

  2. 用模板类实现了小根堆,并在woniu_heap这个文件里的代码对小根堆进行了测试。其中push为插入一个元素到小根堆中,pop为删除小根堆的堆顶元素,top为取出根顶元素。
  3. 所属分类:C++

    • 发布日期:2012-12-04
    • 文件大小:1024
    • 提供者:woniu317
  1. 小顶堆操作

  2. 建堆 堆排序 小顶堆 算法学习用,有什么好的建议欢迎告诉我呀,先谢谢大家的帮助
  3. 所属分类:C/C++

    • 发布日期:2013-05-03
    • 文件大小:2048
    • 提供者:gbchqc
  1. 堆排序递归和非递归的实现

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

    • 发布日期:2013-08-07
    • 文件大小:44032
    • 提供者:jjp837661103
  1. 优先队列-双端堆

  2. 里面包含了源码,测试文档,和实验报告。都是我自己写的。如果有BUG,可以私信我。 作业题目:编写一个优先队列,完成 查找,删除,插入 操作。且每个操作的时间复杂度要在(logn)内。 其实很早前就拿到这个题目了,只是一直没定下用那种数据结构做,在图书馆借了本数据结构的书,认真的看了,小堆-大堆,左高树,双端堆,二项树等数据结构。决定选择双端堆,来完成我的课程设计作业。 双端堆,可看成2颗树:1.根节点为空 2.左子树为小顶堆 3.右子树为大顶堆 4.左子树中的值比对应右子树的节点的值小。若对应
  3. 所属分类:C/C++

    • 发布日期:2014-05-11
    • 文件大小:536576
    • 提供者:yeyaowen
  1. 二叉堆:最小堆

  2. 使用c++实现最小堆。提供常见操作,如堆化数组,插入,删除,堆排序,遍历堆。
  3. 所属分类:C++

  1. 陈越、何钦铭-数据结构作业14:堆中的路径

  2. 将一系列给定数字插入一个初始为空的小顶堆H[]。随后对任意给定的下标i,打印从H[i]到根结点的路径。
  3. 所属分类:讲义

    • 发布日期:2018-05-03
    • 文件大小:2048
    • 提供者:qq_20304723
  1. java算法——堆排列

  2. * 堆排列 * 1.将无序列构建成一个堆,根据升序降序需求选择大顶堆或小顶堆 * 大顶堆:从下至上升序 * 小顶堆:从下至上降序 * 2.将堆顶元素与末尾元素交换 * 3.重新调整结构,满足堆定义(大顶堆或小顶堆),然后继续交换堆顶元素与 * 当前末尾元素,反复执行调整+交换步骤,知道整个序列有序
  3. 所属分类:Java

    • 发布日期:2019-07-15
    • 文件大小:1024
    • 提供者:qq_39854121
  1. 数据结构 堆的实现(泛型)

  2. 数据结构 堆的泛型实现,可以支持对的各种操作(包括建堆,弹出,插入,取顶,删除堆中的某一个元素)等等,同时可以传入函数对象定义大顶/小顶堆(默认小顶),使用更灵活!
  3. 所属分类:C/C++

    • 发布日期:2019-08-23
    • 文件大小:1024
    • 提供者:weixin_43869091
  1. Java 堆排序实例(大顶堆、小顶堆)

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

    • 发布日期:2020-08-28
    • 文件大小:141312
    • 提供者:weixin_38713586
  1. 详解堆的javascript实现方法

  2. 堆的定义 最大(最小)堆是一棵每一个节点的键值都不小于(大于)其孩子(如果存在)的键值的树。大顶堆是一棵完全二叉树,同时也是一棵最大树。小顶堆是一棵完全完全二叉树,同时也是一棵最小树。 另外,记住这两个概念,对写代码太重要了:       1、父节点和子节点的关系:看定义       2、完全二叉树:参考[2] 基本操作       1、Build(构建堆)       2、Insert(插入)       3、Delete(删除:最小或者最大的那个) 代码实现 首先,写代码前有
  3. 所属分类:其它

    • 发布日期:2020-11-28
    • 文件大小:71680
    • 提供者:weixin_38624183
  1. C语言数据结构之堆排序源代码

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

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

  2. 十种排序算法——堆排序(小顶堆) 首先要了解什么是堆?小顶堆又是什么?而堆排序是十种排序种唯一种自定义的数据结构 这里的堆就是我们所熟悉的二叉树 而小顶堆又是什么呢? 小顶堆就是根节点比子节点小,子节点比叶子节点小。 所以我们第一步是进行堆化,从它倒数第一个子节点进行堆化(从右到左) 它检查完了之后它的兄弟节点再检查 在进行交换子节点始终比叶子节点小 当交换完成之后再返回它的父节点进行检查 请注意在每次交换完成之后好要下沉,看一下它的子节点或者是叶子节点是否有比它小的 当下沉完成之后,
  3. 所属分类:其它

    • 发布日期:2020-12-21
    • 文件大小:363520
    • 提供者:weixin_38669793
  1. PHP利用二叉堆实现TopK-算法的方法详解

  2. 前言 在以往工作或者面试的时候常会碰到一个问题,如何实现海量TopN,就是在一个非常大的结果集里面快速找到最大的前10或前100个数,同时要保证内存和速度的效率,我们可能第一个想法就是利用排序,然后截取前10或前100,而排序对于量不是特别大的时候没有任何问题,但只要量特别大是根本不可能完成这个任务的,比如在一个数组或者文本文件里有几亿个数,这样是根本无法全部读入内存的,所以利用排序解决这个问题并不是最好的,所以我们这里就用php去实现一个小顶堆来解决这个问题. 二叉堆 二叉堆是一种特殊的堆,二
  3. 所属分类:其它

    • 发布日期:2020-12-20
    • 文件大小:75776
    • 提供者:weixin_38516956
  1. 数据结构之堆详解

  2. 1. 概述 堆(也叫优先队列),是一棵完全二叉树,它的特点是父节点的值大于(小于)两个子节点的值(分别称为大顶堆和小顶堆)。它常用于管理算法执行过程中的信息,应用场景包括堆排序,优先队列等。 2. 堆的基本操作 堆是一棵完全二叉树,高度为O(lg n),其基本操作至多与树的高度成正比。在介绍堆的基本操作之前,先介绍几个基本术语: A:用于表示堆的数组,下标从1开始,一直到n PARENT(t):节点t的父节点,即floor(t/2) RIGHT(t):节点t的左孩子节点,即:2*t LEFT(t
  3. 所属分类:其它

    • 发布日期:2020-12-31
    • 文件大小:56320
    • 提供者:weixin_38607311
  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. C++小顶堆的类模板实现

  2. C++小顶堆的实现,其中用到了类模板的知识,代码附有详细注释,主函数中附上了测试代码。欢迎私信讨论!
  3. 所属分类:C++

    • 发布日期:2021-03-03
    • 文件大小:3072
    • 提供者:qq_39983517
  1. 小顶堆小顶堆小顶堆.cpp

  2. 学生,代码资源,希望大家能有用。
  3. 所属分类:C++

    • 发布日期:2021-02-08
    • 文件大小:383
    • 提供者:yangweiyi17
  1. 一看就懂的堆的插入和删除操作

  2. 堆有大顶堆和小顶堆,以小顶堆为例,每个父亲结点比它的左右孩子结点都要小,但不要求孩子结点有序,即可以左孩子大于右孩子,也可以右孩子大于左孩子。堆注重的是堆顶,小顶堆的堆顶一定是最小的,大顶堆的堆顶一定是最大的,这种数据结构被应用于优先级队列,每次队列出优先级最高的那个,而不注重其余元素的顺序和他们入队的先后次序。 优先级队列常被应用到任务调度场景中,每次调度优先级最大的任务,而不注重其它任务何时进入队列,在队列中以何顺序排列。 下面介绍堆的两个重要的操作,插入和删除          伪代码
  3. 所属分类:其它

    • 发布日期:2021-01-20
    • 文件大小:246784
    • 提供者:weixin_38734506
« 12 3 4 5 »