一、 序言
上一篇文章中,给出了 trie 树的一个实现。可以看到,trie 树有一个巨大的弊病,内存占用过大。
本文给出另一种数据结构来解决上述问题---- Ternary Search Tree (三叉树)
二、数据结构定义
Trie 树中每个节点包含了 26 个指针,但有很大一部分的指针是 NULL 指针,因此浪费了大量的资源。
一种改进措施就是,以一棵树来代替上述的指针数组。...
分类:
其他好文 时间:
2014-05-01 17:49:30
阅读次数:
326
本系列主要记录设计模式的意图是什么,它要解决一个什么问题,什么时候可以使用它;它是如何解决的,掌握它的结构图,记住它的关键代码;能够想到至少两个它的应用实例,一个生活中的,一个软件中的;这个模式的优缺点是什么,其有哪些使用场景,在使用时要注意什么。...
分类:
其他好文 时间:
2014-04-30 22:33:39
阅读次数:
256
题目链接:11806 - Cheerleaders
题意:在一个棋盘上,要求四周的四行必须有旗子,问有几种摆法。
思路:直接算很容易乱掉,利用容斥原理,可知AUBUCUD = |A| + |B| + |C| + |D| - |AB| - |BC| - |AC| - |AD| - |BD| - |CD| + |ABC| + |ABD| + |ACD| + |BCD| - |ABCD|
由此利用...
分类:
其他好文 时间:
2014-05-01 18:00:13
阅读次数:
380
题意:
给定n长的数组(下标从1-n)(n个人的身高,身高各不相同
问:对于第i个人,他能看到的左边最矮的人下标。(如果这个最矮的人被挡住了,则这个值为0)
还有右边最高的人下标,同理若被挡住了则这个值为0
输出n行,每个人左右2边的下标。
单调队列,对于 front - rear 的队列(注意出队都是在rear,入队也是在rear)
当加入元素x,若这队列是单调递增的,显然q.fro...
分类:
其他好文 时间:
2014-05-01 17:21:43
阅读次数:
429
空间闹钟-v1.6更新!
—v1.6—14.4.30:
1)增加更新推送功能,有新版本时可以直接推送给用户!
2)修正软件更新功能、我的软件功能。
3)其他小修改。...
分类:
其他好文 时间:
2014-04-30 22:18:39
阅读次数:
331
作用:正则表达式的iOS开源库
官方文档:http://regexkit.sourceforge.net/RegexKitLite/
正则表达式 30分钟入门教程:http://www.codeproject.com/Articles/9099/The-Minute-Regex-Tutorial
使用:
1,github下载:https://github.com/samdeane/...
分类:
其他好文 时间:
2014-07-22 23:05:12
阅读次数:
419
先声明下,本人写博客比较少,写得不好,请多多见谅,谢谢。 自从毕业走出大学的校门,一直打工将近5年了,也许有一天,我真的要说我已经把我所有的时光都献给***事业。5年时光改变很多东西,身体虚了,打球没那么有劲,坐久老 ,脊椎病来了等等,然而,有一个明显没有改变的是经济条件(在此批一下自己,不懂得理财。朋友,理财很重要,且工作且学习,别跟我一样,有多少花多少);值得高兴的是,小时候梦想着到世界各地走走的火一直在燃烧着,我想我能让它变成现实。为此,今天在此想和各位探讨下程序员如何坚定地走下去。我想,1是继续程序...
分类:
其他好文 时间:
2014-07-22 23:03:32
阅读次数:
290
ConcurrentHashMap关键方法分析...
分类:
其他好文 时间:
2014-05-01 22:11:33
阅读次数:
402
在ZygoteInit的main()方法中做了几件大事,其中一件便是启动Systemserver进程,代码如下:
@/frameworks/base/core/java/com/android/internal/os/ZygoteInit.java
public static void main(String argv[]) {
try {
........
分类:
其他好文 时间:
2014-04-30 22:16:38
阅读次数:
442
题目大意:
怎么分配n个任务到m个服务器上使得负载尽量平衡。
思路:
将任务从大到小排序,依次放入负载最小的那个服务器中。
因为是spj 的缘故,所以可以使用这个贪心。
比如数据
6 2
7 5 3 3 3 3
就会得到错误答案。
#include
#include
#include
#include
#include
using nam...
分类:
其他好文 时间:
2014-07-22 23:03:34
阅读次数:
300
JMS异步消息解决分布式应用的EhCache缓存同步问题...
分类:
其他好文 时间:
2014-07-22 23:02:34
阅读次数:
381
Gabor的核函数参考的wiki使用实数Real的公式计算核函数代码:Mat gaborFilter(Mat& img, Mat& filter){
int half_filter_size = (max(filter.rows,filter.cols)-1)/2;
Mat filtered_img(img.rows,img.cols,CV_32F);
for(int i=0;i<img.r...
分类:
其他好文 时间:
2014-05-01 17:42:41
阅读次数:
378
日期与时间
struct tm {
int tm_sec; /* 秒 – 取值区间为[0,59] */
int tm_min; /* 分 - 取值区间为[0,59] */
int tm_hour; /* 时 - 取值区间为[0,23] */
int tm_mday; /* 一个月中的日期...
分类:
其他好文 时间:
2014-07-22 23:03:55
阅读次数:
279
y行x列,傻傻分不清楚。
ans[ i ][ j ][ k ][ d ] 标记是否以 转弯k次且方向为d 的状态走过。
被学弟蔑视的一道题竟然没能1A,老啦。
#include
#include
#include
#include
#include
#include
#include
#include
#include
#pragma comment(linker, "/...
分类:
其他好文 时间:
2014-05-01 22:05:33
阅读次数:
438
以README文件为实例,详细介绍github的使用过程
请先下载git,然后配置以下内容: ( 我的系统是debian,其他版本的UNIX/Linux有差别),windows的暂时不清楚。
(一)
1.先下载git
$ apt-get install git-core
2.创建git用户名(Username),首先你要告诉git你的名字,这样它才能正确的给你提交的的东西...
分类:
其他好文 时间:
2014-05-01 17:26:22
阅读次数:
311
最近看雅虎黄金34条,学习下优化网站性能的方法。其中有一条:“为文件头指定Expires或Cache-Control”,具体来说指对于静态内容:设置文件头过期时间Expires的值为“Never
expire”永不过期;而对于动态内容:使用恰当的Cache-Control文件头来帮助浏览器进行有条件的请求。
这一条可以和雅虎34条的第一条联系起来,那就是尽量减少http的请求次数(雅虎34条...
分类:
其他好文 时间:
2014-05-01 22:04:55
阅读次数:
346