某天女朋友抛出了下面一段以下类似代码的字符串问我其中的Xmx、Xms...等等等是什么意思,干嘛用的?我先是一惊,随后淡定,因为刚好这几个参数我还认识(没吃过猪肉,也见过猪跑啊)然后说这是配置jvm最大堆内存和最小堆内存的。然后她又问什么是jvm?这就尴尬了,这就聊不下去了,于是有了这篇随笔。 一、 ...
分类:
其他好文 时间:
2018-04-06 10:52:34
阅读次数:
188
我今天在处理topk问题的时候需要一个堆容器,翻了半天资料没找到,最后偶然看到了这张图: 啧啧啧,这张图上居然没有堆(heap)。 好像java中真的没有听说过堆这么个容器…… 只好自己动手丰衣足食了 接口: 实现: 最大堆: 最小堆: 其实最大堆和最小堆的区别只是改了下沉和上浮里面的两个大于小于号 ...
分类:
编程语言 时间:
2018-04-02 01:05:45
阅读次数:
180
博客转载自:https://www.cnblogs.com/George1994/p/6477198.html 前言 之前从没用过优先队列,刷算法题目的时候才开始了解的,所以做个总结。什么情况下使用呢?比如当你需要获取到最大最小值元素,而又不想用最大最小堆的原生实现,STL提供给你更加简单的库,就是 ...
分类:
编程语言 时间:
2018-03-29 14:56:46
阅读次数:
211
2.3.4 树 遍历:前中后序,宽度优先。 二叉树的特例:二叉搜索树、堆(最大堆和最小堆,用于找最值)、红黑树(c++ STL中的很多数据结果就是基于这实现的); 题7-重建二叉树:递归,设置四个位点; 题8-二叉树的下一个节点 ...
分类:
编程语言 时间:
2018-03-28 21:58:29
阅读次数:
186
将一系列给定数字顺序插入一个初始为空的小顶堆H[]。随后判断一系列相关命题是否为真。命题分下列几种: “x is the root”:x是根结点; “x and y are siblings”:x和y是兄弟结点; “x is the parent of y”:x是y的父结点; “x is a chi ...
分类:
其他好文 时间:
2018-03-28 01:27:27
阅读次数:
168
第7章,神奇的树。 第一节,树的特点。 第二节,二叉树。 第三节,优先队列--堆(特殊的完全二叉树) 最小堆:All node-father smaller than node-sons 最大堆:相反。 ...
分类:
编程语言 时间:
2018-03-02 14:58:45
阅读次数:
170
概念 性质: 1.堆是一颗完全二叉树,用数组实现。 2.堆中存储数据的数据是局部有序的。 最大堆:1.任意一个结点存储的值都大于或等于其任意一个子结点中存储的值。 2.根结点存储着该树所有结点中的最大值。 最小堆:1.任意一个结点存储的值都小于或等于其惹你一个子结点存储的值。 2.根结点存储着该树所 ...
分类:
其他好文 时间:
2018-02-28 16:23:14
阅读次数:
212
一 堆 堆给人的感觉是一个二叉树,但是其本质是一种数组对象,因为对堆进行操作的时候将堆视为一颗完全二叉树,树种每个节点与数组中的存放该节点值的那个元素对应。所以堆又称为二叉堆,堆与完全二叉树的对应关系如下图所示: 二叉堆可以分为两种形式:最大堆和最小堆。在这两种堆中,结点的值都要满足堆的性质。 在最 ...
分类:
编程语言 时间:
2018-02-23 16:01:48
阅读次数:
210
1. 完全二叉树:叶节点只能出现在最后层或次下层,并且最下面一层的节点都集中在该层的最左边的二叉树。 2. 二叉堆:堆是一颗二叉树,并且满足下面的条件: (1)树的每一层都是满,除了最后一层的最右边元素 (2)任意一个父节点都大于或等于(小于或等于)两个子节点。(大于或等于的为最大堆,小于或等于的为 ...
分类:
编程语言 时间:
2018-01-17 01:13:05
阅读次数:
192
STL heap和first\_queue 标签(空格分隔): @zhshh STL heap first_queue 可以看看这个文章 大家都知道,priority_queue是用堆实现的,可以通过重载()运算符选择使用最大堆或最小堆。以前一直觉得stl里面的heap相关的函数都是多余的,因为一般 ...
分类:
其他好文 时间:
2018-01-03 16:05:34
阅读次数:
145