接着第四课的内容,加入部分第五课的内容,主要介绍树形dp和LRU 第一题: 给定一棵二叉树的头节点head,请返回最大搜索二叉子树的大小 二叉树的套路 统一处理逻辑:假设以每个节点为头的这棵树,他的最大搜索二叉子树是什么。答案一定在其中 第一步,列出可能性(最难部分) 1、可能来自左子树上的某课子树 ...
分类:
编程语言 时间:
2019-03-05 18:42:56
阅读次数:
143
缓存一般存放的都是热点数据,而热点数据又是利用LRU(最近最久未用算法)对不断访问的数据筛选淘汰出来的。 出于对这个算法的好奇就查了下资料。 LRU算法四种实现方式介绍 缓存淘汰算法 ...
分类:
编程语言 时间:
2019-02-23 21:51:23
阅读次数:
184
DROP TABLE与MySQL版本 MySQL在5.5版本中引入自适应hash索引,用于提升经常访问的数据页的性能,在删除表时,需要先通过扫描LRU链表找到该表在自适应hash索引使用的数据页,将这些数据从自适应hash索引中删除。如果为MySQL实例配置较多的物理内存,扫描自适应hash索引的L ...
分类:
数据库 时间:
2019-02-17 13:03:03
阅读次数:
188
Java集合详解5:深入理解LinkedHashMap和LRU缓存 今天我们来深入探索一下LinkedHashMap的底层原理,并且使用linkedhashmap来实现LRU缓存。 具体代码在我的GitHub中可以找到 https://github.com/h2pl/MyTech 文章首发于我的个人 ...
分类:
编程语言 时间:
2019-02-08 20:11:26
阅读次数:
155
1. 缓存穿透 : 查询一个一定不存在的数据。因为缓存中无该数据数据,所以要查询数据库。如果频繁请求不存在的数据,因请求都会到达数据库层而导致db瘫痪。 解决方案: 缓存查询的空值,但设定比较短的失效时间。 2. 缓存雪崩: 所有的缓存同一时间失效,则所有的请求都会发送到数据库层,db可能无法承受如 ...
分类:
其他好文 时间:
2019-02-02 18:55:32
阅读次数:
155
import java.util.Hashtable; //https://zhuanlan.zhihu.com/p/34133067 class DLinkedList { String key; //键 int value; //值 DLinkedList pre; //双向链表前驱 DLink... ...
分类:
编程语言 时间:
2019-01-31 01:31:35
阅读次数:
176
Description moreD城的城市轨道交通建设终于全部竣工,由于前期规划周密,建成后的轨道交通网络由 2n 条地铁线路构成,组成了一个 n 纵 n 横的交通网。如下图所示,这 2n 条线路每条线路都包含 n 个车站,而每个车站都在一组纵横线路的交汇处。 出于建设成本的考虑,并非每个车站都能够 ...
分类:
其他好文 时间:
2019-01-24 21:57:32
阅读次数:
188
heap1是FreeRTOS中内存管理最简单的一个,它简单到只能申请内存。是的,跟你想的一样,一旦申请成功后,这块内存再也无法释放。对于大多数嵌入式系统,特别是对安全要求高的嵌入式系统,这种内存管理策略很有用,因为对系统软件来说,逻辑越简单,越安全。实际上,大多数的嵌入式系统并不需要动态删除任务、信 ...
分类:
其他好文 时间:
2019-01-16 23:57:02
阅读次数:
378
Redis的过期策略:通常有三种,Redis中同时使用惰性过期和定期过期两种过期策略组合。定时过期:每个设置过期时间的key都需要创建一个定时器,到过期时间就会立即清除。该策略可以立即清除过期的数据,对内存很友好; 但是会占用大量的CPU资源去处理过期的数据,从而影响缓存的响应时间和吞吐量。惰性过期... ...
分类:
其他好文 时间:
2019-01-14 14:44:04
阅读次数:
191
redis 内存数据集大小上升到一定大小的时候,就会施行数据淘汰策略。 redis 提供 6种数据淘汰策略:voltile-lru:从已设置过期时间的数据集(server.db[i].expires)中挑选最近最少使用的数据淘汰 volatile-ttl:从已设置过期时间的数据集(server.db ...
分类:
其他好文 时间:
2019-01-13 23:32:06
阅读次数:
373