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

搜索资源列表

  1. 二叉树和堆的相关实验

  2. 数据结构二叉树和堆实验的WORD文档,链式二叉树类的设计,堆类定义,最大堆与最小堆
  3. 所属分类:其它

    • 发布日期:2010-09-06
    • 文件大小:105472
    • 提供者:whr890527
  1. 数据结构中的最小最大堆c++模板实现(高级数据结构)

  2. 最小最大堆只的是一颗最小层和最大层相互交替的完全二叉树,我的最小最大堆继承自完全二叉树类和双端有先队列类,用c++模板实现.实现的功能包括创建堆,插入元素,删除最大元素,删除最小元素,并且重载<<方便输出.输出使用的形式是广义表. 最小最大堆的删除非常复杂,我想这个想了满长时间.
  3. 所属分类:C++

    • 发布日期:2010-12-26
    • 文件大小:5120
    • 提供者:sharemyfree
  1. 堆算法 最大堆 最小堆

  2. 数据结构课程设计 堆算法 最大堆 最小堆 相关堆算法
  3. 所属分类:C/C++

    • 发布日期:2011-08-06
    • 文件大小:2097152
    • 提供者:wendy709468104
  1. 代码c++ 最大堆最小堆

  2. 最大堆最小堆 问题的提出 给定k个排好序的序列S1,S2…,Sk,用2路合并算法将这k个序列合并成一个序列。假设所采用的2路合并算法合并2个长度分别为m和n的序列需要m+n-1次比较。试设计一个算法确定合并这个序列的最优合并顺序,使所需的总比较次数最少。为了进行比较,还需要确定合并这个序列的最差合并顺序,使所需的总比较次数最多。 原理分析 这个程序比较适合用堆,最优用最小堆,最差用最大堆; 以最优合并为例: (1)使用各序列的长度建堆; (2)两个最小的元素出堆,计算这两序列合并需要的比较次数
  3. 所属分类:C/C++

    • 发布日期:2013-01-03
    • 文件大小:28672
    • 提供者:lzn_1919
  1. 堆排序(最大堆修改版)【算法导论】

  2. 更多精彩:http://blog.csdn.net/xjm199 上个资源的有效排序下标是由1开始的,0只做了填充作用,这次则由下标0为根节点: for(int i = length; i >= 1;) //最后一个肯定是最小的 { temp = A[i]; //交换堆的第一个元素和堆的最后一个元素 A[i] = A[0]; A[0] = temp; i--; //堆的大小减一 MaxHeapIfy(A, i, 0); //调堆 }
  3. 所属分类:C++

    • 发布日期:2014-01-08
    • 文件大小:256000
    • 提供者:xjm199
  1. 优先队列-双端堆

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

    • 发布日期:2014-05-11
    • 文件大小:536576
    • 提供者:yeyaowen
  1. 最优合并问题

  2. 堆实现最优合并,其中包括最大堆,最小堆。思想主要是数据结构里介绍的堆。
  3. 所属分类:Java

    • 发布日期:2014-07-19
    • 文件大小:3072
    • 提供者:xiaomeixiaomei8
  1. 最大(小)堆Java实现

  2. 代码只是实现了最大堆的顺序存储,插入,删除,筛选建立
  3. 所属分类:Java

    • 发布日期:2016-05-24
    • 文件大小:8192
    • 提供者:qq_17351067
  1. 陈越、何钦铭-数据结构作业14:堆中的路径

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

    • 发布日期:2018-05-03
    • 文件大小:2048
    • 提供者:qq_20304723
  1. 二叉树内容实现

  2. 1 .二叉链表的验证 在二叉链表类模板中增加函数成员 CountBreadth (),统计二叉树的最大宽度(二叉树的 最大宽度是指二叉树所有层中结点个数的最大值)。 2 .线索二叉树的验证 (1)在中序线索二叉树类模板中增加函数成员 ReInOrder(),通过从中序序列最后一个 结点开始依次找当前结点的前驱来逆中序遍历二叉树。 (2)在中序线索二叉树类模板中增加函数成员 InsertLeftChild(p,e),实现在中序线索二 叉树指定结点 p 上插入左孩子结点 e。 (3)在中序线索二叉
  3. 所属分类:C/C++

    • 发布日期:2018-05-06
    • 文件大小:1048576
    • 提供者:weixin_41514822
  1. 数据结构最大堆实现

  2. 数据结构最大堆的实现,通过改编最小堆的模板,实现最大堆操作。
  3. 所属分类:C/C++

    • 发布日期:2018-02-24
    • 文件大小:3072
    • 提供者:weixin_40795107
  1. 解读堆排序算法及用C++实现基于最大堆的堆排序示例

  2. 1、堆排序定义 n个关键字序列Kl,K2,…,Kn称为堆,当且仅当该序列满足如下性质(简称为堆性质): (1) ki≤K2i且ki≤K2i+1 或(2)Ki≥K2i且ki≥K2i+1(1≤i≤   ) 若将此序列所存储的向量R[1..n]看做是一棵完全二叉树的存储结构,则堆实质上是满足如下性质的完全二叉树:树中任一非叶结点的关键字均不大于(或不小于)其左右孩子(若存在)结点的关键字。 【例】关键字序列(10,15,56,25,30,70)和(70,56,30,25,15,10)分别满足堆性质(1
  3. 所属分类:其它

    • 发布日期:2020-12-25
    • 文件大小:82944
    • 提供者:weixin_38728624
  1. 最大K个数问题的Python版解法总结

  2. TopK问题,即寻找最大的K个数,这个问题非常常见,比如从1千万搜索记录中找出最热门的10个关键词. 方法一: 先排序,然后截取前k个数. 时间复杂度:O(n*logn)+O(k)=O(n*logn)。 这种方式比较简单粗暴,提一下便是。 方法二:最大堆 我们可以创建一个大小为K的数据容器来存储最小的K个数,然后遍历整个数组,将每个数字和容器中的最大数进行比较,如果这个数大于容器中的最大值,则继续遍历,否则用这个数字替换掉容器中的最大值。这个方法的理解也十分简单,至于容器的选择,很多人第一反应便
  3. 所属分类:其它

    • 发布日期:2020-12-23
    • 文件大小:47104
    • 提供者:weixin_38507121
  1. Java~三种重写compare方法的PriorityQueue、TopK问题的解决思想附练习题(查找最小的K对数字与最后一块石头重量)

  2. 因为在Java库函数里,PriorityQueue是基于小堆建立的,所以当我们需要大堆的时候需要对它进行改建。 方法一: static class com implements Comparator { //定义一个静态内部类,继承Comparator接口,并重写他的compare方法 //return o2-o1 就可以 Override public int compare(Integer o1, Integer o2) {
  3. 所属分类:其它

    • 发布日期:2020-12-21
    • 文件大小:68608
    • 提供者:weixin_38659812
  1. PHP SPL标准库之数据结构堆(SplHeap)简单使用实例

  2. 堆(Heap)就是为了实现优先队列而设计的一种数据结构,它是通过构造二叉堆(二叉树的一种)实现。根节点最大的堆叫做最大堆或大根堆,根节点最小的堆叫做最小堆或小根堆。二叉堆还常用于排序(堆排序)。 如下:最小堆(任意节点的优先级不小于它的子节点) 看看PHP SplHeap的实现: 显然它是一个抽象类,最大堆(SplMaxHeap)和最小堆(SplMinHeap)就是继承它实现的。最大堆和最小堆并没有额外的方法 SplHeap的简单使用如下: class MySimpleHeap exten
  3. 所属分类:其它

    • 发布日期:2020-12-19
    • 文件大小:35840
    • 提供者:weixin_38614825
  1. C# 排序算法之堆排序

  2. 一、基本概念 堆:这里是指一种数据结构,而不是我们在C#中提到的用于存储引用类型对象的地方。它可以被当成一棵完全二叉树。  为了将堆用数组来存放,这里对每个节点标上顺序。事实上,我们可以用简单的计算公式得出父节点,左孩子,右孩子的索引:     parent(i) =     left(i) = 2i     right(i)=2i + 1 最大堆和最小堆: 最大堆是指所有父节点的值都大于其孩子节点的堆,即满足以下公式:                       A[parent[i]]A
  3. 所属分类:其它

    • 发布日期:2020-12-26
    • 文件大小:78848
    • 提供者:weixin_38681646
  1. 堆:这是带有堆排序的最小和最大堆-源码

  2. 堆 使用堆排序实现整数的最小和最大堆
  3. 所属分类:其它

    • 发布日期:2021-02-15
    • 文件大小:1024
    • 提供者:weixin_42162978
  1. algorithm.js:适用于CS101的阿特伍德定律-用JavaScript实现的经典算法和数据结构-源码

  2. algorithm.js 阿特伍德定律适用于CS101。 您知道,用Javascr ipt实现的经典算法和数据结构...科学。 正在安装 npm install --save algorithms 内容 数据结构 require ( 'algorithms/data_structures' ) ; // or require ( 'algorithms' ) . DataStructures ; AVL树 BST DisjointSetForest 芬威克树 图形 哈希表 堆 最大堆 最
  3. 所属分类:其它

    • 发布日期:2021-02-03
    • 文件大小:124928
    • 提供者:weixin_42159267
  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. leetcode295数据流的中位数_优先队列,简单很多。python 代码+思路

  2. 优先队列做了一个动态的变化: 如果总个数为偶数,那么插入新元素经历 最大堆 → 最小堆 → 最大堆 如果总个数为奇数,那么插入新元素经历 最大堆 → 最小堆 即可 总之保证 最大堆比最小堆个数相等或者多一个 别人的解释: 为了找到添加新数据以后,数据流的中位数,我们让这个新数据在大顶堆和小顶堆中都走了一遍。 而为了让大顶堆的元素多 1 个,我们让从小顶堆中又拿出一个元素“送回”给大顶堆; import heapq class MedianFinder: def __init__(sel
  3. 所属分类:其它

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