5.4查找算法的程序实现_第1页
5.4查找算法的程序实现_第2页
5.4查找算法的程序实现_第3页
5.4查找算法的程序实现_第4页
5.4查找算法的程序实现_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、对分查找 富阳中学 徐杨洋,M = (L + R)2,找到key的位置M,未找到,升序数组a,a(M) = key,a(M) key,a(M) key,1.在升序数组a中,查找第一个大于等于key的值的位置,M = (L + R)2,a(M) key,a(M) = key,If L=n Then print Str(L) Else print”未找到”,2.在升序数组a中,查找最后一个小于key的值的位置,M = (L + R)2,a(M) = key,a(M) key,If R=1 Then print Str(R) Else print”未找到”,有如下程序段: Key = Val (Te

2、xt1.Text) : L = 1 : R = 10 : n = 10 Do While L = Key Then L = M + 1 Else R = M - 1 End If Loop For i = L To n List1.AddItem Str(a(i) Next i 数组元素a(1)到a(10)的值依次是95,93,93,93,90,87,86,86,85,80,若在文本框Text1中输入86,执行该程序段后,列表框List1中输出的数据个数为( ) A.2 B.3 C.4 D.5,A,思考?,1. For i = 1 To R List1.AddItem Str(a(i) Nex

3、t i 结果如何?,3.a(1)到a(10)的值依次是95,93,93,93,90,87,85,80,79,78 结果如何?,2. Key = 93 结果如何?,在升序数组a中,查找第一个大于等于key的值的位置 Key = Val (Text1.Text) : L = 1 : R = n Do While L = key Then R = M Else L = M + 1 End If Loop If _ Then print _ Else print“未找到”,二分和排序,在已经有序的数组序列中,每一步将一个待排序的记录插入到已经有序的序列中。方法:通过对分查找找到该记录在已经有序数组中的适当的插入位置,并将其插入到有序数组中,使得有序数组仍然有序,直到全部插入完为止。,Key = a(i),L,R,数组a,找到插入位置 L = 1:R = i 1:key = a(i) Do While L = key R = m 1 Else L = m + 1 End If Loop,已排序,待排序,key,L,将数据插入到数组中 For

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论