转:一些不常见但是很重要的数据结构
来源:互联网 发布:python class 转 json 编辑:程序博客网 时间:2024/05/17 03:03
转:一些不常见但是很重要的数据结构
这篇文章是stackoverflow的一篇帖子。上面提到了很多有用的数据结构。有的听过了,经常用,有的没有听过,记录下来。
- Trie树。应用比较多,一个比较cool的trie的应用TRASH-A dynamic LC-trie and hash data structure。
- Bloom filter。wiki链接 删除某一项是不允许的,不过可以实现可计数的counting bloom filter
- 在BigTable,Cassandra中都有使用
- 可以用来快速检查是否拼写错误
- Rope:rope 数据结构表示不能修改的字符序列,与 Java 的 String非常像。但是 ropes 效率奇高的字符串变换操作使得它与 String及其同一体系的可修改的 StringBuffer和 StringBuilder大不相同,非常适合那些执行繁重字符串操纵的应用程序,尤其在多线程环境下更是如此。ibm文章 包含java实现。
- stl实现:http://www.sgi.com/tech/stl/Rope.html
- skip list:这里有一个演示:http://iamwww.unibe.ch/~wenger/DA/SkipList/
- Cassandra的索引
- redis的SortedSet
- Spatial Indices:尤其是R-trees和KD-trees
- Bit Array:压缩存储bit,支持快速的bit操作。
- Zippers: 在函数式编程中非常有用。
- Suffix tries: 字符串搜索非常有用。更酷的是suffix tree,可以O(n)的时间构建
- Splay trees:非常酷的结构
- 非常小巧,仅需要类似二叉树的左右孩子指针
- 相对容易实现
- 性能良好,wiki地址
- Heap-ordered search trees
- 邻接表:O(1)计算无向图的邻居节点
- lock-free:
- http://www.research.ibm.com/people/m/michael/podc-1996.pdf
- http://www.cl.cam.ac.uk/research/srg/netos/lock-free/
- http://www.boyet.com/Articles/LockfreeStack.html
- http://stackoverflow.com/questions/2101789/implementation-of-a-work-stealing-queue-in-c-c
- 一个非常好的这方面的博客:Mike Acton‘s
- 并查集
- fibonacci堆
- BSP Trees:应用在3D渲染领域
- 霍夫曼树:压缩
- Finger Trees:在函数式结构中使用,wiki地址
- Ring buffer
- Merkle trees
- Cukoo Hashing :用来提升hash方法的空间利用,基本思想是利用多个hash函数,降低冲突。
- min-max heap:
- 缓存参数无关数据结构:Cache Oblivious datastructures
- Left learning Red-Back Trees: 论文
- Bootstrapped skew-binomial heaps:
- O(1) size, union, insert, minimum
- O(logn) deleteMin
- Interval Trees: 在Cassandra中有应用
0 0
- 转:一些不常见但是很重要的数据结构
- 一些很简单但是很重要的东西
- HTML Entities,用的不多,但是也是很重要
- java中不常用但是很重要的几个关键字解析
- 有哪些高效但是不常见的Linux命令?
- Vim不常见但是很实用的命令技巧
- 2.3 常见内核数据结构 : 其他一些常见的数据结构
- 一些简单但是常见的算法题目(笔记类)
- IE6下面常见的一些不兼容【转】
- 一些高清的电影,但是不知道怎么下载。
- CSS一些不常用但是有用的属性
- [数据结构]一些常见的算法思想
- ViewStub的一些不常见的用法
- #define的一些不常见的用法
- 一些不常见的C#关键字介绍
- c++一些不常见的东西
- C 不常见的一些晦涩语法
- 一些不常见的java特性
- 开始使用AFNetworking
- php json 中文乱码
- 配置mysql自动备份
- [Erlang]VM启动参数研究
- POJ 3414 dfs倒水问题
- 转:一些不常见但是很重要的数据结构
- 学习SSH时的练习demo,实现分页和登录等简单功能
- 安装SQL Server 2012过程中出现“启用windows功能NetFx3时出错”(错误原因、详细分析及解决方法)以及在Windows Server2012上安装.NET Framework 3
- OC视频笔记4.8(异常处理)
- "Selenium for Android"的Robotium 一 概述
- Android向Web提交参数的4种方式总结
- 利用java mail发送邮件
- std::string详解
- hadoop能用到的系统端口