归档: 2017

双向链表和哈希表实现 LRUCache

背景LRUCache 是一个很常用的缓存实现,本文会首先介绍一下 LRUCache 的定义,然后尝试用 Python 实现它。 定义LRUCache 首先是一个 Cache,那么对于一个 Cache 而言,肯定需要提供 get 和 set 两个方法,而且,这两个方法的时间复杂度越低越好,最好达到 O(1) 级别。 LRU 是 Least Recently Used 的缩写,近期最少使用策略。LRU

JavaScript 面向对象编程

JavaScript 面向对象编程构造函数构造函数的特点 内部对this对象进行了赋值 调用的时候需要在前面添加new关键字 一般没有返回值 忘记使用new关键字,this会指向别的对象。 new命令的原理 创建一个空对象,作为将要返回的对象实例 将这个空对象的原型,指向构造函数的prototype属性 将这个空对象赋值给函数内部的this关键字 开始执行构造函数内部的代码 Object 对象