2017年6月5日

LSM Tree

摘要: 关于LSM Tree的介绍,这篇文章http://www.benstopford.com/2015/02/14/log-structured-merge-trees/讲得非常具体。 背景 由于磁盘的顺序IO比随机IO效率高得多,为了提高写的吞吐量,有以下几个方法:termed logging,jou 阅读全文

posted @ 2017-06-05 11:31 ShinningWu 阅读(1233) 评论(0) 推荐(0) 编辑

2017年3月19日

缓存算法合辑

摘要: 缓存算法有很多种策略,具体可以参见https://en.wikipedia.org/wiki/Cache_replacement_policies。其中最常提到的就是LRU和LFU了。 1. LRU 问题描述: Design and implement a data structure for Le 阅读全文

posted @ 2017-03-19 15:23 ShinningWu 阅读(205) 评论(0) 推荐(0) 编辑

2017年1月2日

合并两颗平衡有序二叉树

摘要: 问题描述 给定两颗平衡的有序二叉树,要求将这两个二叉树合并为一个平衡的有序二叉树。 问题解答 假定两个数的结点数分别为m和n。 思路1: 很容易想到把一颗树的每一个结点依次添加到另一颗树中,每次插入的平均时间复杂度为O(logn),在最坏情况下的插入时间复杂度为O(m + logn)。合并为一棵树的 阅读全文

posted @ 2017-01-02 23:07 ShinningWu 阅读(5348) 评论(0) 推荐(0) 编辑

2016年12月19日

大数相乘

摘要: 近期看的算法比较杂,在博客上简单记录一下吧。大数相乘貌似在很多公司的面试中都有问过。 问题描述: 输入两个整数,要求输出这两个数的乘积。输入的数字可能超过计算机内整形数据的存储范围。 乘数A和B分别存放在字符串里,输出结果也存放在字符串中。 问题分析: 首先,考虑类似0000000123456789 阅读全文

posted @ 2016-12-19 18:13 ShinningWu 阅读(267) 评论(0) 推荐(0) 编辑

2016年12月6日

树的遍历合辑

摘要: 前序遍历 遍历顺序为root-->left-->right。递归方法省略。 方法一: 分析:采用栈实现,每次将根节点压入栈,然后弹出栈顶元素,并把右节点和左节点依次压入栈。运行时间为2ms。代码如下: 方法二: 分析:同样采用栈实现,但对于每个节点只将其右节点压入栈。运行时间为1ms。 方法三: 分 阅读全文

posted @ 2016-12-06 18:14 ShinningWu 阅读(235) 评论(0) 推荐(0) 编辑

2016年11月13日

单例模式总结

摘要: (1)双重校验锁 1)构造函数和对象私有化 2)对象用violate和static关键字修饰 3)公有的静态获取对象方法 4)双重校验锁 violate关键字作用:防止指令重排序 volatile变量可以确保将变量的更新操作通知到其他线程。当把变量声明为volatile类型后,编译器与运行时都会注意 阅读全文

posted @ 2016-11-13 11:48 ShinningWu 阅读(393) 评论(0) 推荐(0) 编辑

2016年11月3日

0-1背包问题

摘要: 分数背包问题可以用贪心算法来求解,而0-1背包问题则需要用动态规划方法求解。 问题描述: 假设我们有n件物品,分别编号为1, 2...n。其中编号为i的物品价值为vi,它的重量为wi。为了简化问题,假定价值和重量都是整数值。现在,假设我们有一个背包,它能够承载的重量是W。现在,我们希望往包里装这些物 阅读全文

posted @ 2016-11-03 18:34 ShinningWu 阅读(1635) 评论(0) 推荐(1) 编辑

2016年11月2日

Largest Divisible Subset

摘要: Given a set of distinct positive integers, find the largest subset such that every pair (Si, Sj) of elements in this subset satisfies: Si % Sj = 0 or 阅读全文

posted @ 2016-11-02 12:21 ShinningWu 阅读(199) 评论(0) 推荐(0) 编辑

2016年6月2日

二叉树层序遍历

摘要: Populating Next Right Pointers in Each Node II Follow up for problem "Populating Next Right Pointers in Each Node". What if the given tree could be an 阅读全文

posted @ 2016-06-02 09:50 ShinningWu 阅读(871) 评论(0) 推荐(0) 编辑

2016年5月19日

Longest Increasing Subsequence

摘要: Given an unsorted array of integers, find the length of longest increasing subsequence. For example,Given [10, 9, 2, 5, 3, 7, 101, 18],The longest inc 阅读全文

posted @ 2016-05-19 18:25 ShinningWu 阅读(176) 评论(0) 推荐(0) 编辑

导航