ADT定义:字符串,是指来自于某个字母表的字符组成的有限序列。
数据结构:可以由向量或者列表来实现。
特点:相对于一般的线性序列,串具有更鲜明的特征:其组成字符很少,串的长度却高出几个数量级。
几个术语: 空串是任何串的子串、前缀和后缀
任何串是其自身的子串、前缀和后缀
长度严格小于原串的子串、前缀和后缀也称为真子串、真前缀和真后缀
作为一个ADT,其标准接口如下 length用于获取串S...
分类:
其他好文 时间:
2016-05-15 08:19:53
阅读次数:
253
题意简述给定n个数a[i] n<=10^5 1<=a[i]<=10^9
m次询问 m<=10^6
每次循环第l个数到第r个数之间,数的大小在[k,w]中的数的个数分析题目求的是一个二维区间和
二维树状数组?
然而n在10^5的数量级 时间与空间承受不了二维树状数组能同时支持询问和修改
然而这题套用二维BIT的话并不需要随时修改
使用二维BIT未免大材小用了再仔细分析题目
题目后...
分类:
其他好文 时间:
2016-05-13 00:19:59
阅读次数:
136
1、什么是时间复杂度时间复杂度是某个算法的时间消耗,他是该算法所求问题规模n的函数。而渐进时间复杂度是指当问题规模趋向于无穷大时,该算法时间复杂度的数量级。通常我们在计算的算法的时间复杂度为T(n)=O(f(n)).通常我们总是考虑最坏情况下的时间复杂度
常见的时间复杂度有:常数O(1),对数O(logn),线性O(n),O(nlogn),平方O(n^2),k次方O(n^k),指数O(2^n)2、...
分类:
其他好文 时间:
2016-05-12 15:26:17
阅读次数:
156
leetcode刷题的时候,需要用到,已知整数A,B,且A>B,判断AB是否是同一数量级的。 第一想到的是不停地除以10,得到每个数字的数量级再进行比较,太麻烦; 转而向转化成字符串比较,还是麻烦而且耗时,请教了别人,得到这个方法,豁然开朗,为啥自己之前没想到: 对整数取10为底的对数之后再取整,就 ...
分类:
其他好文 时间:
2016-05-06 20:26:06
阅读次数:
791
算法时间复杂度定义:
在进行算法分析时,语句总的执行次数T(n) 是关于问题规模 n 的函数,进而分析 T(n) 随 n 的变化情况并确定T(n) 的数量级.
算法的时间复杂度,也就是算法的时间量度,记作:T(n) = O( f (n) ) 【大O记法】。它表示随着问题规模 n 的增大,算法执行时间的增长率和 f(n) 的增长率相同,称作算法的渐近时间复杂度,简称为时间复杂度。其中,...
分类:
编程语言 时间:
2016-05-06 12:45:38
阅读次数:
160
第三、四部分——变量、语句“在声明变量时初始化”——减少未赋值的风险。“尽可能减少变量的存活时间”——感觉如果按照推荐,一般子程序都写的很短,那么这个也就不重要了吧。“一个好记的名字反应的通常是问题,而不是解决方案,是what而不是how”“避免使用相似含义的名字..
分类:
其他好文 时间:
2016-04-25 15:21:40
阅读次数:
406
《大话数据结构》中对算法的时间复杂度定义如下: “算法分析时,语句的总执行次数T[n]是关于问题规模n的函数,进而分析T[n]随n的变化情况并确定T[n]的数量级。算法的时间复杂度,也就是算法的时间度量,记做T[n]=O(f[n]),表示随问题规模n的增大,算法的执行时间的增长率和f[n]的增长率相 ...
分类:
编程语言 时间:
2016-04-25 14:43:06
阅读次数:
225
本文为转载,会修改自己觉得不对的地方; 一:概念 一般情况下,算法中基本操作重复执行的次数是问题规模n的某个函数,用T(n)表示,若有某个辅助函数f(n),使得当n趋近于无穷大时,T(n)/f(n)的极限值为不等于零的常数,则称f(n)是T(n)的同数量级函数。记作T(n)=O(f(n)),称O(f ...
分类:
其他好文 时间:
2016-04-10 12:58:22
阅读次数:
201
内存数据库。顾名思义就是将数据放在内存中直接操作的数据库。相对于磁盘,内存的数据读写速度要高出几个数量级,将数据保存在内存中相比从磁盘上訪问可以极大地提高应用的性能。同一时候。内存数据库抛弃了磁盘数据管理的传统方式,基于所有数据都在内存中又一次设计了体系结构,而且在数据缓存、高速算法、并行操作方面也 ...
分类:
数据库 时间:
2016-04-10 09:06:07
阅读次数:
230
什么是伪多项式? 当一个算法的最坏时间复杂度是依据输入的数量级的时候,我们就称算法的时间复杂偶是伪多项式时间(给一个wiki上的解释可能更好理解 若一个数值算法的时间复杂度可以表示为输入数值规模N的多项式,但其运行时间与输入数值规模N的二进制位数呈指数增长关系,则称其时间复杂度为伪多项式时间。这是由 ...
分类:
编程语言 时间:
2016-04-07 08:23:02
阅读次数:
229