![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构及算法
文章平均质量分 76
blade2001
这个作者很懒,什么都没留下…
展开
-
查找字符串的hash算法
查找字符串的hash算法 unsigned int RSHash( char * str) { unsigned int b = 378551 ; unsigned int a = 63689 ; unsigned int hash = 0 ; while ( * str) {转载 2007-06-18 14:39:00 · 3534 阅读 · 0 评论 -
Blizzard的MPQ文件格式搜索算法---来自Gameres bbs
Blizzard的MPQ文件格式搜索算法Blizzard被称为最卓越的游戏制作公司,不愧于此。 作者:ghost2006最近学习了一下Blizzard的MPQ文件格式,颇有一些心得,其中一条就是对HastTable的理解,很想写出来给大家共享,感谢Justin Olbrantz的文章《Inside MoPaQ》,大多认识来源于此。 先提一个简单的问题,如果有一个庞大的字符串数组,然转载 2007-11-07 16:14:00 · 1439 阅读 · 0 评论 -
压缩算法
压缩算法一、 行程长度压缩 原理是将一扫描行中的颜色值相同的相邻像素用一个计数值和那些像素的颜色值来代替。例如:aaabccccccddeee,则可用3a1b6c2d3e来代替。对于拥有大面积,相同颜色区域的图像,用RLE压缩方法非常有效。由RLE原理派生出许多具体行程压缩方法: 1.PCX行程压缩方法: 该算法实际上是位映射格式到压缩格式的转换算法,该算法对于连续出现1次的字节Ch,原创 2007-12-03 14:14:00 · 4132 阅读 · 1 评论 -
Trie树|字典树的简介及实现
<br />Trie,又称字典树、单词查找树,是一种树形结构,用于保存大量的字符串。它的优点是:利用字符串的公共前缀来节约存储空间。<br />相对来说,Trie树是一种比较简单的数据结构.理解起来比较简单,正所谓简单的东西也得付出代价.故Trie树也有它的缺点,Trie树的内存消耗非常大.当然,或许用左儿子右兄弟的方法建树的话,可能会好点.<br /><br />其基本性质可以归纳为:<br />1. 根节点不包含字符,除根节点外每一个节点都只包含一个字符。 <br />2. 从根节点到某一节点,路径上经原创 2011-04-22 17:24:00 · 1232 阅读 · 0 评论 -
环形缓冲区的实现原理(ring buffer)
消息队列锁调用太频繁的问题算是解决了,另一个让人有些苦恼的大概是这太多的内存分配和释放操作了。频繁的内存分配不但增加了系统开销,更使得内存碎片不断增多,非常不利于我们的服务器长期稳定运行。也许我们可以使用内存池,比如SGI STL中附带的小内存分配器。但是对于这种按照严格的先进先出顺序处理的,块大小并不算小的,而且块大小也并不统一的内存分配情况来说,更多使用的是一种叫做环形缓冲区的方案,mango转载 2011-12-22 09:46:28 · 37813 阅读 · 3 评论 -
为什么使用 Redis及其产品定位
传统MySQL+ Memcached架构遇到的问题实际MySQL是适合进行海量数据存储的,通过Memcached将热点数据加载到cache,加速访问,很多公司都曾经使用过这样的架构,但随着业务数据量的不断增加,和访问量的持续增长,我们遇到了很多问题:MySQL需要不断进行拆库拆表,Memcached也需不断跟着扩容,扩容和维护工作占据大量开发时间。Memcached与MyS转载 2012-01-03 21:59:27 · 716 阅读 · 0 评论 -
LRU算法及实现
LRU是Least Recently Used最近最少使用算法。 Oracle系统使用的一种算法,对于在内存中但最近又不用的数据块(内存块)叫做LRU,Oracle会根据那些数据属于LRU而将其移出内存而腾出空间来加载另外的数据。 什么是LRU算法? LRU是Least Recently Used的缩写,即最近最少使用页面置换算法,是为虚拟页式存储管理服务的。转载 2012-01-04 09:01:27 · 889 阅读 · 0 评论 -
Google Protocol Buffers 就是我想要的
最近有个项目涉及到php/j2me/python, 研究了下Google Protocol Buffers, 发现它的特性(语言无关,向后兼容性)就是我想要的, 就是它了。Google Protocol Buffers 是一种轻便高效的结构化数据存储格式,可以用于结构化数据串行化,或者说序列化。它很适合做数据存储或 RPC 数据交换格式。可用于通讯协议、数据存储等领域的语言无关、平台无关原创 2011-05-26 10:03:00 · 2375 阅读 · 1 评论 -
开源软件中 几种经典的Hash算法的实现
http://blog.csdn.net/perfectpdl/article/details/6864351http://zh.wikipedia.org/wiki/%E5%93%88%E5%B8%8C%E8%A1%A8http://en.wikipedia.org/wiki/Hash_table 哈希算法将任意长度的二进制值映射为固定长度的转载 2013-05-12 17:29:16 · 2192 阅读 · 0 评论