数据结构 (Data Structure)
战辉
一直从事自然语言处理(NLP),对于自然语言生成、机器翻译、语言模型等研究较多
展开
-
浅析SkipList跳跃表原理及代码实现
SkipList在leveldb以及lucence中都广为使用,是比较高效的数据结构。由于它的代码以及原理实现的简单性,更为人们所接受。我们首先看看SkipList的定义,为什么叫跳跃表?“ Skip lists are data structures that use probabilistic balancing rather than strictly enforced balancing. As a result, the algorithms for insertion原创 2013-12-18 16:02:19 · 54146 阅读 · 17 评论 -
C.Interface.And.Implementations—ring的实现
1、A ring is much like a sequence: It holds N values associated with the integer indices zero through N −1 when N is positive. 2、An empty ring holds no values. Values are pointers. 3、Like the values in a sequence, values in a ring may be accessed by inde原创 2014-01-12 11:48:47 · 1323 阅读 · 0 评论 -
C.Interface.And.Implementations—dynamic arrays的实现
1、An array is a homogeneous sequence of values in which the elements in the sequence are associated one-to-one with indices in a contiguous range. 2、Arrays in some form appear as built-in data types in virtually all programming languages.动态数组,底层的数据结构很原创 2014-01-10 22:45:10 · 1121 阅读 · 0 评论 -
C.Interface.And.Implementations—sequence的实现
1、A sequence holds N values associated with the integer indices zero through N−1 when N is positive. 2、An empty sequence holds no values. 3、Like arrays, values in a sequence may be accessed by indexing; 4、they can also be added to or removed from eit原创 2014-01-11 21:18:41 · 1308 阅读 · 0 评论 -
C.Interface.And.Implementations—set的实现
1、A set is an unordered collection of distinct members. 2、The basic operations on a set are testing for membership, adding members, and removing members. 3、Other operations include set union, intersection, difference, and symmetric difference. set实现类原创 2014-01-10 21:38:11 · 1080 阅读 · 0 评论 -
C.Interface.And.Implementations—table(key-value系统)的实现
1、An associative table is a set of key-value pairs. It’s like an array except that the indices can be values of any type.table的实现是以哈希表和链表实现。内存形式如下:原创 2014-01-10 12:57:12 · 1220 阅读 · 0 评论 -
C.Interface.And.Implementations—list(单链表)的实现
单链表的原理不在赘述!通过优美的源代码进行理解其中的道理!原创 2014-01-09 14:49:16 · 1163 阅读 · 0 评论 -
C.Interface.And.Implementations—stack的实现
由于之前一直写C++代码,感觉对指针都很多底层理解不是很深入,于是开始阅读《C.Interface.And.Implementations》这本书籍,这本书经别人推荐说不错,于是从头到尾好好研究一下。第一章主要阐述了堆栈的接口以及实现。底层使用单链表进行支撑。原创 2014-01-06 17:08:17 · 1566 阅读 · 0 评论 -
LeetCode—LRU Cache解题报告
题目中有两个操作,get和set操作。 get操作获取key对应的值,如果存在,则返回该值,如果不存在,则返回-1。 set操作包含两层含义: 1、如果key值存在,则更新对应的value值,并把该元素放在最前面。 2、如果key值不存在,则申请新的结点给它,并且把该元素放在最前面。如果达到缓存容量的时候,最老的那个元素释放掉。 从上面的分析可以看出,元素根据访问时间的先后是有一定顺序性的,我们应该采取什么数据结构保存它呢?其次,每一个元素是原创 2013-12-20 16:23:23 · 2617 阅读 · 1 评论 -
C.Interface.And.Implementations—bit vector的实现
1、The Bit interface exports functions that manipulate bit vectors, which can be used to represent sets of integers from zero to N− 1. For example, 256-bit vectors can be used to represent sets of characters efficiently.2、Bit provides most of the set-m原创 2014-01-13 14:56:55 · 1420 阅读 · 0 评论