总结: 1.B+树将数据完全排序,读数据时很快,但当要修改数据时,就需要将新入数据下面的数据重新排位,特别是当写入的数据排在较高的位置时,需要大量的移位操作才能完成写入. 2.SLM牺牲部分的读性能,从而提高写性能:将数据分散到多个有序列表中,每个列表保存一部分数据,这样读取数据时,就需要先查找在哪个有序列表,再从这个列表中读取具体数据,但是写的时候,受影响的数据就会减少,从而减少写入时间. 有以下2种方法优化读取时间: (1)Bloom filter : 就是个带随即概率的bitmap,可以快…
const是C语言的关键字,经C++进行扩充,变得功能强大,用法复杂.const用于定义一个常变量(只读变量),当const与指针,引用,函数等结合起来使用时,情况会变得复杂的多.下面将从五个方面总结const的用法. 1.const位置 const位置较为灵活,一般来说,除了修饰一个类的成员函数外,const不会出现先一条语句的最后.示例如下: #include <iostream> using namespace std; int main(int argc,char* argv[]) {…
#include<iostream> #include<cstdio> #include<algorithm> #define Max 1005 using namespace std; struct line{ double x, y1, y2; int flag; }x_line[Max]; struct node{ int l, r, flag; double x, f; }tree[Max]; double point[Max]; int n, m, xm; i…
Mad scientist Mike has constructed a rooted tree, which consists of n vertices. Each vertex is a reservoir which can be either empty or filled with water. The vertices of the tree are numbered from 1 to n with the root at vertex 1. For each vertex, t…
#include <cstdio> #include <cstdlib> #include <climits> #include <cstring> #include <algorithm> using namespace std; int map[1015][1015]; void update(int x,int y, int n) { for(int i=x;i<=1005;i+=(i&(-i))) { for(int j=y…
#include<iostream> #include<cstring> #include<cstdio> using namespace std; int n, m; int num[100005]; int front(int x) { return x&(-x); } int update(int x,int k) { while(x<=n) { num[x]+=k; x+=front(x); } return 1; } int sum(int x)…
#include<iostream> #include<cstdio> using namespace std; struct node { int l, r, m; int max; }num[800005]; int val[200005]; int n, m; int init(int l, int r, int k) { num[k].l = l; num[k].r = r; if(l==r) { num[k].m = l; num[k].max=val[l]; retur…
#include<stdio.h> #include<string.h> #include<algorithm> using namespace std; struct node{ int l, r, s; }num[800005]; int n, m, key; void build(int l,int r,int k) { num[k].l = l; num[k].r = r; num[k].s = 0; if(l == r) { num[k].s = 1; ret…
C++中临时对象又称无名对象.临时对象主要出现在如下场景. 1.建立一个没有命名的非堆(non-heap)对象,也就是无名对象时,会产生临时对象. Integer inte= Integer(5); //用无名临时对象初始化一个对象 2.构造函数作为隐式类型转换函数时,会创建临时对象,以值的方式传递,用作实参传递给函数. 例: class Integer { public: Integer(int i):m_val(i){} ~Integer(){} private: int m_val; };…
在项目中经常需要获取某个文件的路径: 在这里提供一些获取路径的方法.. 1.此种方式获取的路径,是当前类所在的路径: UserDAOTest.class.getResource("UserDAOTest.class") 结果如下: file:/E:/java/workspace/testProject/WebContent/WEB-INF/classes/com/java/business/dao/UserDAOTest.class 2.此种方式获取当前classpath的路径: Th…