上午:
看了一段时间大话数据结构,只把线性表看完了
下午:
实验室测试,只写出来3个题目
学了一会快排
传统快排,提交上去时间超限,开O2才过,1.9s
void chuantongqsort(int op,int ed){//传统
if(op>=ed) return;
int o=op,e=ed;
long long int temp=num[op];
while(o<e){
while(num[e]>=temp&&o<e)e--;
while(num[o]<=temp&&o<e)o++;
if(o<e){
long long int kk=num[e];num[e]=num[o];num[o]=kk;
}
}
num[op]=num[o];num[o]=temp;
{chuantongqsort(op,o-1);chuantongqsort(o+1,ed);}
}
二分快排(洛谷题解),时间优化到16ms
void erfengqsort(int op,int ed){//二分
if(op>=ed) return;
{//输出检查
printf("%d\n",time++);
for(int i=1;i<=n;i++) printf("%lld ",num[i]);
printf("\n");
}
long long int mid=num[(op+ed)/2];
int o=op,e=ed;
while(o<=e){
while(num[e]>mid)e--;
while(num[o]<mid)o++;
if(o<=e){
long long int k=num[o];num[o]=num[e];num[e]=k;
o++;e--;
}
}
erfengqsort(op,e);erfengqsort(o,ed);
time--;
}
晚上答辩,屁都没放几个
明天计划:看《大话数据结构》,把并查集模板学会