数据结构:优先队列

一般我们前面介绍的队列,队列的一个特性是先进先出。但是在作业调度的过程中我们总是希望很短的作业可以优先处理,这样我们就不用一味的等待短的作业而花费很长的时间去处理。但是同时有些短的但是很重要的作业也应该享有优先权。 优先队列至少允许以下两种操作,insert(插入)和 deleteMin(删除最...

2017-10-12 17:01:48

阅读数 191

评论数 0

数据结构:散列

散列表也是我们常称的哈希表(hash table),他只支持二叉查找树的所允许的一部分操作。 散列表的实现称为散列(hashing)。散列是一种用于以常数平均时间执行插入、删除和查找的技术。但是,那些需要元素间任何排序信息的树操作将不会得到有效的支持。因此,诸如 findMin 和 findMa...

2017-10-11 22:38:52

阅读数 166

评论数 0

数据结构:二叉树

一般对于大量数据访问,如果通过链表的线性访问时间会过长,不宜使用。二叉树可以很很好的解决这个问题,其大部分操作的运动平均时间为 O(lgN)。 树的定义: 一棵树可以看作是一些点的集合。这个集合可以为空集,若不为空集,则可以看作是由根结点(root)和一个或者多个子树组成,这些子树的每...

2017-10-10 15:55:08

阅读数 57

评论数 0

数据结构:队列

和栈一样,队列也是表。但是和栈不同的是队列的插入在一端进行,删除则是在另一端进行。 队列的基本操作是 enqueue(入队),它是在表的末端(队尾)插入一个元素;dequeue(出队),它是删除(并返回)表的开头(队头)的元素。先进先出。 队列的数组实现: 成员变量 front :记录队头位...

2017-10-10 09:56:48

阅读数 87

评论数 0

数据结构:表

表是一种线性的数据结构,对于形如 A0,A1,A2,...,AN−1A_{0} ,A_{1} ,A_{2},...,A_{N-1} 一般的表,这个表大小是 N,我们将表长为 0 的表称为空表。 表的数组实现: printList 时间复杂度:O(N) findKth 时间复杂度:O(1) ...

2017-10-09 15:16:34

阅读数 125

评论数 0

数据结构:堆和栈

基本介绍 堆栈数据结构是通过对线性表的插入和删除操作进行限制得到的,因此也是一种特殊的线性表,也就可以通过对线性表类的派生来产生堆栈类,虽然这种方法比较简便但是还是会引起一定的效率损失,同时堆栈类本身就是一种基本的数据结构,所以一般的程序设计也会单独给出基于公式描述和基于链表结构的堆栈类(而非从...

2017-10-09 09:49:09

阅读数 136

评论数 0

NLP论文研读之路:A Neural Probabilistic Language Model

文章摘要:统计语言模型通过学习来得到语言中某个序列联合概率分布,但是由于一个序列可能看上去和训练集中其他所有的语言序列都不相同,而且这种现象可能大量存在,这样的话就会存在一个维度爆炸(curse of dimensionality)的问题,也就是语言模型过于稀疏。传统的N-gram模型在语言模型中...

2017-09-29 15:29:49

阅读数 393

评论数 0

提示
确定要删除当前文章?
取消 删除
关闭
关闭