CSP-J算法精讲:线性与二分查找优化技术.pptx

CSP-J算法精讲:线性与二分查找优化技术.pptx

第五讲:CSP_J_算法之二分算法(上)果壳信奥编程

线性查找:查找数组{4,5,9,12,10,6}中是否存在用户输入数据。最小1次查找,最多n次,平均查找(1+n)/2线性查找时间复杂度为O(n)。朴素线性查找算法4591210612NNNY线性查找流程intnums[]={4,5,9,12,10,6};intn;cinn; boolfind=0;for(inti=0;i6;i++){//正常结束 if(nums[i]==n){ find=1; break;//提前结束 }}//下结论if(find==0)coutN;elsecoutY;

使用左、右指针优化查找。从左向右、从右向左同时对数组进行遍历。查找时间复杂度还是为O(n)。基于双指针的线性查找算法4591210612使用左、右指针优化线性查找,本质线性查找intmain(intargc,char**argv){ intnums[]={4,5,9,11,12,10,6}; intkey; cinkey; inthas=0,i=0,j=6; for(;i=j;i++,j--){ if(nums[i]==key||nums[j]==key){ has=1; break; } } if(has)coutYES; elsecoutNO; if

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档