1、sizeof(CDuiString)的大小是68字节:4字节的字符串指针+64字节的缓冲区。 这里使用64字节的额外缓冲区的目的是为了以空间换时间的方法,当遇到长度小于64的字符串时候直接使用该缓冲区而不用每次去申请内存。 这里跟std::string类似,都是使用小缓冲区来保留大小。std.....
分类:
其他好文 时间:
2015-03-28 20:16:05
阅读次数:
145
算法说明图书馆排序是插入排序的变种,典型的以空间换时间的一种方法。我个人感觉这种思路可以学习借鉴,但直接使用的场景应该不大。我们知道,真正的插入排序通常往前边插入元素后,我们要把后边所有的元素后移。而图书馆排序的思路就是将每个元素后边都预留N个空间(例如预留10个元素空间),这样往某个元素前插入时,...
分类:
编程语言 时间:
2015-03-28 07:38:50
阅读次数:
161
写了两篇命题作文后,一发不可收拾了...要北京出差,走之前再搞两篇!(写于2015/03/21晚,次日进京) 我在描述数据包分类Dimension Tree结构的时候,大量使用了二叉树结构,这就意味着我必须不断的左拐右拐,而到底哪里拐,免不了的是比较。我需要免除比较操作,这怎么可能?当然有可能,空间换时间。并且,空间占用不能太大,以利于Cache的利用率。于是我想到了索引,就是类似MM...
分类:
其他好文 时间:
2015-03-21 20:00:48
阅读次数:
136
算法的两个评测指标:运行时间和内存消耗
要么用时间换空间,要么用空间换时间
寻找数组相同元素测试一:
0~99共100个元素各不相同,新加入一个0~99的元素不明确位置
从101个元素数组中找出与0~99元素中重复的一个
/* 找相同元素
* 0~99共100个元素各不相同
* 从101个元素数组中找出与0~99元素中重复的一个
*/
public class Dome01 ...
分类:
编程语言 时间:
2015-03-19 16:27:47
阅读次数:
230
首先一般考虑“万能的”暴力穷举(递归、回溯)。但因为穷举时间复杂度通常过高,所以需要考虑更好的方法,如分治法(通过分而治之,然后归并),以及空间换时间(如活用哈希表)。此外,选择合适的数据结构可以显著提升效率,如寻找最小的k个数中,用堆代替数组。再有,如果题..
分类:
编程语言 时间:
2015-02-21 21:09:05
阅读次数:
205
跳表(skiplist)在redis/levelDB中属于核心数据结构,我简单粗暴的用Golang实现了下。
就我的简单理解来说,就一个普通的链表,在insert时,通过Random_level(),把一层变成很多层,
越上数据越小,跨度越大。 查找时从上往下找,用空间换时间。
记下测试代码:
package main
import (
"fmt"
//"github.co...
分类:
编程语言 时间:
2015-01-28 01:02:44
阅读次数:
285
目录(?)[-]一设计理念空间换时间 多级缓存静态化 索引并行与分布式计算 任务切分分而治之MR 多进程多线程并行执行MPP多维度的可用 负载均衡容灾备份 读写分离 依赖关系 监控伸缩 拆分 无状态优化资源利用 系统容量有限 原子操作与并发控制 基于逻辑的不同采取不一样的策略 容错隔离 资源释放二静...
分类:
其他好文 时间:
2015-01-15 10:53:45
阅读次数:
254
Trie树,又称单词查找树或键树,是一种树形结构,是一种哈希树的变种。典型应用是用于统计和排序大量的字符串(但不仅限于字符串),所以经常被搜索引擎系统用于文本词频统计。它的优点是:最大限度地减少无谓的字符串比较,查询效率比哈希表高。Trie的核心思想是空间换时间。利用字符串的公共前缀来降低查询时间的开销以达到提高效率的目的。
Trie 的强大之处就在于它的时间复杂度。它的插入和查询时间复杂度...
分类:
其他好文 时间:
2015-01-14 21:28:41
阅读次数:
328
http://ac.jobdu.com/problem.php?pid=1096
很经典的计算任意两个日期之间的差值。
方法:利用预处理,以空间换时间的方法,计算任意日期与初始日期0年1月1日之间的差值。再讲两差值求差+1即可。本题关键在预处理部分
#include
#define
ISYEAR(x) x%100!=0&&x%4==0||x%400==0?1:0
in...
分类:
其他好文 时间:
2015-01-04 10:00:12
阅读次数:
157
第一次听说位图排序是在上操作系统课的时候, 当时也没太在意, 就是觉得存储挺方便。 最近看《编程珠玑》开篇就将到位图排序, 那么有缘就来实现下。
优势: 在数据集集中分布的情况下, 运行时间比一般的排序快挺多。 是一个典型的空间换时间的算法。
劣势: 在数据集稀疏分布的情况下, 运行时间不会差太多。 而且得事先知道要处理的数据最大值, 才好定义辅助属性的大小。...
分类:
编程语言 时间:
2015-01-03 11:59:26
阅读次数:
189