本节内容查找的基本概念和顺序查找王道考研/CSKAOYAN.COM王道考研/CSKAOYAN.COM查找Windows系统的文件查找WeGame查找LOL玩家ID王道考研/CSKAOYAN.COM查找顺序查找,折半查找二叉排序树,二叉平衡树王道考研/CSKAOYAN.COM查找数据元素往往包含除了关键字以外的很多数据这个数据元素也叫做是记录typedefstruct{Elemtypekey;//关键字其他信息…}数据元素(记录)查找时比较的对象如果不特别说明,记录可以看做是只含关键字ASL相当于是查找算法的基本操作执行次数王道考研/CSKAOYAN.COM顺序查找顺序查找(线性查找),主要用于在线性表中进行查找。从查找表的一端开始,顺序扫描查找表,依次将扫描到的关键字和待查找的值key进行比较。如果相等,则查找成功。如果扫描结束仍然没有发现相等的数据元素,则查找失败。intSearch1(inta[],intn,intkey){for(inti=1;i<=n;i++){//注意从1开始if(a[i]==key)returni;//查找成功}return0;//查找失败}每次循环需要对i的值进行判断intSearch2(inta[],intn,intkey){inti=n;a[0]=key;//设置“哨兵”while(a[i]!=key){//如果不是要找的元素i--;//从后往前找}returni;//如果查找失败也会返回0}下标0123值520下标0123值1520王道考研/CSKAOYAN.COM顺序查找的分析intSearch1(inta[],intn,intkey){for(inti=1;i<=n;i++){//注意从1开始if(a[i]==key)returni;//查找成功}return0;//查找失败}由于查找有查找成功和失败两种情况所以ASL也分为查找成功的ASL和查找失败的ASL下标0123值520王道考研/CSKAOYAN.COM顺序查找的分析intSearch1(inta[],intn,intkey){for(inti=1;i<=n;i++){//注意从1开始if(a[i]==key)returni;//查找成功}return0;//查找失败}由于查找有查找成功和失败两种情况所以ASL也分为查找成功的ASL和查找失败的ASL本节内容折半查找王道考研/CSKAOYAN.COM王道考研/CSKAOYAN.COM折半查找算法思路:首先将给定值key与表中中间位置元素的关键字比较,若相等,则查找成功,返回该元素的存储位置;若不等,则所需查找的元素只能在中间元素以外的前半部分或后半部分中。然后在缩小的范围内继续进行同样的查找,如此重复直到找到为止,或者确定表中没有所需要查找的元素,则查找不成功,返回查找失败的信息。折半查找仅适用于有序的顺序表intBinary_Search(SeqListL,ElemTypekey,intn){//L是一个顺序表,key是待查找的关键字,n是L的长度intlow=0,high=n-1,mid;//lowhighmid分别代表当前查找段的首位下标,末位下标//和中间下标w...