- 0
- 0
- 约1.74万字
- 约 65页
- 2026-02-06 发布于北京
- 举报
算法与数据结构查找详解演示文稿第1页,共65页。
(优选)算法与数据结构查找第2页,共65页。
内查找整个查找过程都在内存中进行。外查找在查找过程中需要访问外存。平均查找长度ASL——查找方法时效的度量为确定记录在查找表中的位置,需将关键字和给定值比较次数的期望值。查找成功时的ASL计算方法:n:记录的个数pi:查找第i个记录的概率,(不特别声明时认为等概率pi=1/n)ci:找到第i个记录所需的比较次数约定:无特殊说明,一般默认关键字的类型为整型BUPTBUPTSCST第3页,共65页。
8.2顺序表的查找01n-1nr[0..n]a0a1an-1r[n].key=K[算法描述]intseqsearch(int*a,constintn,constintK){inti=0;a[n]=K;while(a[i]!=K)i++;returni;}BUPTBUPTSCST第4页,共65页。
[程序设计技巧]设置监视哨,提高算法效率。[性能分析]空间:一个辅助空间。时间:1)查找成功时的平均查找长度设表中各记录查找概率相等ASLs(n)=(1+2+...+n)/n=(n+1)/22)查找不成功时的平均查找长度ASLf=n+1[算法特点]算法简单,对表结构无任何要求n很大=查找效率较低改进措施:非等概率查找时,可将查找概率高的记录尽量排在表前部。BUPTBUPTSCST第5页,共65页。
8.3二分查找满足r[i].key?r[i+1].key,0?in-1仍可用顺序查找,但在找不到时不需比较到表尾,只需比较到比给定值大的记录就可终止。[折半(二分)查找法]12345678910110513192137566475808892?low?mid?high=?(low+high)/2?K=21lhmK=85lhm111611161537119454101110109BUPTBUPTSCST第6页,共65页。
[算法描述]intbinsearch(intK,intv[],intn){intlow,high,mid;low=1;high=n;while(low=high){mid=(low+high)/2;if(Kv[mid])high=mid-1;elseif(Kv[mid])low=mid+1;else/*找到了匹配的值*/returnmid;}return-1;/*没有查到*/}BUPTBUPTSCST第7页,共65页。
[性能分析]h=?log2n?+1{同完全二叉树,二叉树性质4}成功查找时的平均查找长度(等概率):ASLs=例:ASLS=(
您可能关注的文档
最近下载
- (一模)长沙市2026年高三年级模拟考试历史试卷(含答案).docx
- DB36T 698-2017高速公路服务区设计规范.docx VIP
- 精馏-装置正常停车.pdf VIP
- 化工单元操作精馏精馏装置的正常停车.ppt VIP
- (中职)化工单元操作4精馏-4.7精馏装置的正常停车教学课件工信版.ppt VIP
- 2025年个人所得税汇算清缴政策详解报告.docx VIP
- 多模态生成模型的优化与融合.docx VIP
- 医院安全生产奖惩管理制度(3).docx VIP
- 记账实操-人力资源行业的账务处理分录.docx VIP
- (中职)化工单元操作4精馏-4.4精馏装置全回流开车教学课件.ppt VIP
原创力文档

文档评论(0)