码迷,mamicode.com
首页 >  
搜索关键字:常数时间    ( 149个结果
Hashmap在JDK8中的提升
HashMap使用key的hashCode()和equals()方法来将值划分到不同的桶里。桶的数量通常要比map中的记录的数量要稍大。这样 每一个桶包含的值会比較少(最好是一个)。当通过key进行查找时,我们能够在常数时间内迅速定位到某个桶(使用hashCode()对桶的数量进行取模) 以及要找的 ...
分类:其他好文   时间:2017-07-13 16:02:29    阅读次数:144
数据结构《20》----Immutable stack
有趣的函数式数据结构《一》 不可变栈 什么是不可变?往栈中插入一个元素,原来的栈保持不变,返回一个新的栈(已插入新的元素)。 push, pop,getMax 等操作都要求在 常数时间内完毕。 可能读者会产生疑惑,既然要返回一个新的栈,是不是就必须先拷贝一份原来的栈,然后在新的栈中插入元素。 可是这 ...
分类:其他好文   时间:2017-06-24 10:06:02    阅读次数:119
数据结构(Java语言)——LinkedList简单实现
下面是一个能够使用的LinkedList泛型类的实现。这里的链表类名为MyLinkedList,避免与类库中反复。 MyLinkedList将作为双链表实现,并且保留到该表两端的引用。这样仅仅要操作发生在已知的位置,就能够保持每一个操作花费常数时间的代价。这个已知的位置能够是端点。也能够是由迭代器指 ...
分类:编程语言   时间:2017-06-12 14:42:09    阅读次数:172
【C++ STL】容器的选择
c++提供了各具特长的容器,那么我们该如何选择最佳的容器? 缺省状态下应该选择vector,因为vector内部结构最简单,并允许随机存取,所以数据的存取十分方便,数据的处理也快。 如果经常要在头部和尾部安插和移动元素,应该采用deque,如果希望元素被移除时,容器能够自动缩减内存,也应该使用deq ...
分类:编程语言   时间:2017-06-11 17:32:01    阅读次数:176
【C++ STL】Vector
1、结构 vector模塑出一个动态数组,因此,它本身是“将元素置于动态数组中加以管理”的一个抽象概念。vector将其元素复制到内部的dynamic array中。元素之间总存在某种顺序,所以vector是一种有序群集。vector支持随机存取,因此只要知道位置,可以在常数时间内存取任何一个元素。 ...
分类:编程语言   时间:2017-06-11 16:23:57    阅读次数:277
数据结构(Java语言)——Stack简单实现
栈是限制插入和删除仅仅能在一个位置上进行的表。该位置是表的末端,叫做栈的顶top。对栈的基本操作有进栈push和出栈pop,前者相当于插入。后者这是删除最后插入的元素。栈有时又叫先进先出FIFO表。 因为栈操作是常数时间。因此除非在特殊情况下,栈不会产生明显改进。栈的第一种实现方法是使用单链表。通过 ...
分类:编程语言   时间:2017-05-05 21:01:16    阅读次数:234
HDu 2138 How many prime numbers 高效Miller素数測试
题目就是给出一组数。让我们測试当中有多少个是素数。 求素数有測试sqrt(n)个数的方法。有筛子方法,只是对于本题这种题目来说就都不是高效的。 本题使用Miller Rabin素数測试法。效率奇高。对于不是极其大的整数測试都差点儿是常数时间。令人神往的算法啊。 网上有个程序,好像是什么吉林的模板程序 ...
分类:其他好文   时间:2017-04-28 20:14:01    阅读次数:203
ZJ省赛 2017 E.Seven Segment Display
数码管从某个状态顺序转移N个状态 计算总共有多少个数码管被点亮 N<=10^9 观察数码管的变化规律,有明显的周期和重复,利用这个性质,计算相对于初始状态,某一位上的某个状态重复了多少次,就可以在常数时间内求得。 ...
分类:其他好文   时间:2017-04-22 18:48:50    阅读次数:166
STL之Deque
vector是单向开口的连续线性空间,deque则是以中双向开口的连续线性空间。所谓双向开口,意思是可以在头尾两端分别做元素的插入和删除操作。从技术的角度而言,vector当然也可以在头尾两端进行操作,但是其头部操作效率奇差、令人无法接受。deque和vector的最大差异:deque允许于常数时间... ...
分类:其他好文   时间:2017-04-22 17:43:59    阅读次数:249
哈希表的应用
哈希表又叫做散列表,是一种高效的数据结构,其高效主要体现在把数据的存储和查找时间大大降低,几乎可以看成是常数时间,而代价是消耗比较多的内存,然而在硬件技术越来越发达的今天,用空间换时间的做法在某种意义上是值得的。另外,编码比较容易也是它的特点之一。 什么时候适合应用哈希表呢?综合国内外实际应用情况, ...
分类:其他好文   时间:2017-03-02 19:34:28    阅读次数:220
149条   上一页 1 ... 6 7 8 9 10 ... 15 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!