摘要:
引用:http://blog.csdn.net/zhangerqing/article/details/8243942当一个对象发生变化时,其他依赖该对象的对象会受到通知,并随着变化,是一对多的关系。如关系图,Mysubject类是我们的主对象,Observer1和Observer2是依赖Mysuj... 阅读全文
摘要:
最长回文串:引用地址:http://www.ituring.com.cn/article/57155分析建一个二维表,设定P[i][j]:1. 为true时,表示str[i..j]为回文2. 为false时,表示str[i..j]不是回文则,当:1. i==j时,P[i][j]=true2. j==... 阅读全文
摘要:
引用网址:http://www.ituring.com.cn/article/60247例如:1. ab最少插入1个字符,变为*b*ab2. aa最少插入0个字符3. abcd最少插入3个字符,*dcb*abcd分析:1. 如果str[0]==str[n-1],则问题转变为求str[1,n-2],插... 阅读全文
摘要:
1 //一直待排序列的范围是0~bound-1,所以辅助数组C的大小为bound;时间复杂度O(n) 2 int* countSort(int A[],int n,int bound){ 3 int* B=new int[n]; 4 int* C=new int[bound]; 5... 阅读全文
摘要:
1 //大顶堆调整O(log n) 2 void maxHeapify(int A[],int heapSize,int i){ 3 int lChild=2*i; 4 int rChild=2*i+1; 5 int largest=i; 6 if(lChildA[... 阅读全文
摘要:
归并排序O(n log n) 1 void merge(int A[],int p,int r,int q){ 2 int n1=r-p+1; 3 int n2=q-r; 4 int* L=new int[n1]; 5 int* R=new int[n2]; 6 ... 阅读全文
摘要:
快排 1 int partition(int A[],int n,int p,int q){ 2 int i=p; 3 for(int j=p+1;j<=q;j++){ 4 if(A[j]<=A[p]){ 5 i++; 6 ... 阅读全文