LRU缓存算法

注:本文使用golang语言表述。 LRU(least recently used)是一个缓存剔除策略算法,在缓存容量不足的时候,将最不常用的一个或多个缓存相剔除,腾出空间以便后续缓存使用。 实现一个LRU cache LRU cache可以使用两个数据结构来表示。 一个hash...

2018-06-13 11:43:46

阅读数 185

评论数 0

二叉树的序列化和反序列化

二叉树的序列化同遍历一样,有先序、后序和中序之分。这里使用先序遍历去序列化二叉树。 这样的一个一个二叉树,先序遍历的结果是:124536 1 | ---|--- | | --2-- --3 | | |...

2018-03-19 21:24:46

阅读数 340

评论数 0

一致性哈希(consistent hashing)

啥是consistent hashing?不管是一致性哈希还是二致性哈希还是什么阿猫阿狗哈希,都是哈希。只不过它有些特殊,特殊性就体现在名字上一致性。 为了表明它的与众不同,先看看啥是哈希(hashing)。在英文中,字面上hash大致是切分的意思。hashing通常是将一个数据通过哈希函数映射...

2017-05-26 00:00:21

阅读数 270

评论数 0

堆排序解决 top k 问题

import time import heapq import randomdef gen_large_arr(n): arr = [i for i in range(n)] random.shuffle(arr) return arr# find top n item f...

2017-01-08 13:20:42

阅读数 458

评论数 0

MapReduce实例

本文参考http://michaelnielsen.org/blog/page/19/ 从MapReduce的经典例子—单词统计开始。 一个MapReduce job的输入是一个(input_key, input_value)这样的键值对集合。键值对集合可以使用python的dictionar...

2016-05-02 00:09:27

阅读数 397

评论数 0

字符串查找算法kmp

kmp

2014-12-15 22:08:19

阅读数 525

评论数 0

牛顿法求平分根(newton's method)

牛顿法又称牛顿迭代法。 最近看machine learning中的线性回归(linear regression)中的梯度下降法(gradient descent)时候,我立刻回想起了学习C语言的时候课堂讲的牛顿迭代法求函数的零点。细想想这两者还是有一定联系的。他们都用到了导数,利用导数无限逼近最...

2014-12-15 19:40:44

阅读数 888

评论数 0

AVL平衡二叉树(删除操作)

AVL树的删除操作同这篇文章http://blog.csdn.net/bdss58/article/details/41788243里的插入操作相似,具体实现步骤参考这篇文章。 两个步骤: 1)按照BST树的删除操作方法,删除AVL树中的摸个节点 2)“再平衡” “再平衡”的详细介绍请看h...

2014-12-10 17:07:34

阅读数 487

评论数 0

Red-Black Tree红黑树

Red-Black Tree is a self-balancing Binary Search Tree (BST) where every node follows following rules.

2014-12-07 16:12:09

阅读数 570

评论数 0

AVL平衡二叉树

AVL tree is a self-balancing Binary Search Tree (BST) where the difference between heights of left and right subtrees cannot be more than one for all...

2014-12-07 16:11:22

阅读数 587

评论数 0

分治算法(Divide-and-Conquer Algorithm)二

用分治算法解决“最近点对”问题

2014-11-23 20:39:21

阅读数 941

评论数 0

分治算法(Divide-and-Conquer Algorithm)一

。。

2014-11-19 16:08:48

阅读数 757

评论数 0

k均值聚类(K-Means Clustering)

k means clustring algorithm was developed by

2014-11-08 22:47:07

阅读数 765

评论数 0

k临近算法(k nearest neighbors)

k nearest neighbor algorithm is very simple

2014-11-08 22:02:35

阅读数 1466

评论数 0

二叉堆的实现

用c实现小顶堆,堆元素类型问int。

2014-11-04 16:03:36

阅读数 609

评论数 0

二叉堆(Binary heap)

Binary heap There are several types of heaps, but in the current article we are going to discuss the binary heap. For short, let's call it just &q...

2014-11-03 16:32:51

阅读数 1868

评论数 0

深度优先搜索Depth-first search (DFS) for undirected graphs

Depth-first search (DFS) for undirected graphs Depth-first search, or DFS, is a way to traverse the graph. Initially it allows visiting vertices of ...

2014-11-02 21:56:25

阅读数 697

评论数 0

用动态规划解决(maximum sum subarray and maximum product subarray)

一些问题从整体上看貌似无从下手,cho

2014-10-19 21:14:04

阅读数 975

评论数 2

最大和子数组与最大积子数组(Largest Sum Contiguous Subarray & Maximum Product Subarray)

》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》

2014-10-16 13:25:41

阅读数 560

评论数 0

最短路径图算法(shortest path dijkstra)

算法 1)新建一个集合sptSet(shortest path tree set)用来记录最短路径树上的节点。初始状态sptSet为空 2)给图中的节点赋上一个距离值。初始状态所有节点的距离值为INFINITE.将源节点的距离值赋值为0. 3)while sptSet没有包含所有节点: ...a)...

2014-10-13 11:42:18

阅读数 1524

评论数 0

提示
确定要删除当前文章?
取消 删除
关闭
关闭