Redis的内存存储结构是个大的字典存储,也就是我们通常说的哈希表。Redis小到可以存储几万记录的CACHE,大到可以存储几千万甚至上亿的记录(看内存而定),这充分说明Redis作为缓冲的强大。Redis的核心数据结构就是字典(dict),dict在数据量不断增大的过程中,会遇到HASH(key)碰撞的问题,如果DICT不够大,碰撞的概率增大,这样单个hash 桶存储的元素会越来愈多,查询效率就...
分类:
其他好文 时间:
2014-05-01 21:56:59
阅读次数:
398
Ternary Search Tree C++实现...
分类:
编程语言 时间:
2014-05-01 17:51:59
阅读次数:
410
一、 序言
上一篇文章中,给出了 trie 树的一个实现。可以看到,trie 树有一个巨大的弊病,内存占用过大。
本文给出另一种数据结构来解决上述问题---- Ternary Search Tree (三叉树)
二、数据结构定义
Trie 树中每个节点包含了 26 个指针,但有很大一部分的指针是 NULL 指针,因此浪费了大量的资源。
一种改进措施就是,以一棵树来代替上述的指针数组。...
分类:
其他好文 时间:
2014-05-01 17:49:30
阅读次数:
326
题目:
Given a sorted (increasing order) array, write an algorithm to create a binary tree with minimal height.
翻译:
给定一个有序数组(递增),写程序构建一棵具有最小高度的二叉树。
思路:
要使二叉树的高度最小,则要尽量使其左右子树的节点数目相当,自然就考虑到将其构造成为二叉排序树,且将有序数组的中间大的数作为根节点,这样得到的二叉树的高度便是最小的。...
分类:
其他好文 时间:
2014-05-01 17:48:45
阅读次数:
321
我们考虑每一种x坐标,显然只有 sqrt{N}次,我们称这些为大的,其他为小的。
我们先考虑大的x和其他x之间的答案,先O(sqrt{N})枚举一个大的坐标,然后for其他的每个点,这样可以根据x坐标的差算出正方形的边长,hash检查一下就能知道这个正方形是否存在。
之后考虑小的x和小的x之间的答案,注意到我们可以对每个横坐标直接平方for,这样只有(sqrt{N})^2 + (sqrt{N})^2 + ... + (sqrt{N})^2 = N^1.5的枚举量,之后也可...
分类:
其他好文 时间:
2014-04-30 22:34:38
阅读次数:
326
1.Scene Graph体系结构浅析
javafx以tree的形式组织nodes,每一个node就是一个control,即UI组件。
node分为leaf node与branch node, root node。
scene体系中最关键的类:
Scene:代表包含所有UI组件的顶级容器
Node:是一个抽象类,代表UI组件的基类
Parent:是一个抽象类,代表branch...
分类:
移动开发 时间:
2014-04-30 22:16:39
阅读次数:
463
上一篇文章是纯粹地实现了红黑树,但是在STL中,红黑树容器是需要迭代器实现的。故将上一篇文章改进后实现红黑树容器。
#ifndef ITERATOR_RB_TREE_H_INCLUDED
#define ITERATOR_RB_TREE_H_INCLUDED
#include"my_iterator_base.h"
/*
**
iterator_rb_tree.h
红黑树地泛型容器地迭代器
与...
分类:
其他好文 时间:
2014-04-29 13:45:21
阅读次数:
506
泛型的RedBlack Tree的实现,并和STL map 做了简单的性能比较...
分类:
数据库 时间:
2014-04-29 13:33:20
阅读次数:
459
Build Tree View Structure for SharePoint List Data
将SharePoint中的数据树状显示...
分类:
其他好文 时间:
2014-04-29 13:26:20
阅读次数:
361