正在加载图片...
折半查找的基本过程是:设Row.hgh是当前的查找 区间,首先确定该区间的中点位置md(ow+hgh2;然 后将待查的值与R| mid]. keyl比较 (1)若 TImid. key=k,则查找成功并返回该元素的逻 辑序号; (2)若 Rmid. key>k,则由表的有序性可知R|mid.n 1Jkey均大于k,因此若表中存在关鍵字等于k的元素,则该 元素必定在位置md左子表R|0.mid-1中,故新的查找区间 是左子表R.mnid-1l (3)若 Rmid. key<k,则要查找的k必在位置md的右 子表R|md+1.n-1中,即新的查找区间是右子表 R[mid+1.n-1l。 下一次查找是针对新的查找区间进行的。折半查找的基本过程是:设R[low..high]是当前的查找 区间,首先确定该区间的中点位置mid=(low+high)/2;然 后将待查的k值与R[mid].key比较: (1)若R[mid].key=k,则查找成功并返回该元素的逻 辑序号; (2)若R[mid].key>k,则由表的有序性可知R[mid..n- 1].key均大于k,因此若表中存在关键字等于k的元素,则该 元素必定在位置mid左子表R[0..mid-1]中,故新的查找区间 是左子表R[0..mid-1]; (3)若R[mid].key<k,则要查找的k必在位置mid的右 子表R[mid+1..n-1]中,即新的查找区间是右子表 R[mid+1..n-1]。 下一次查找是针对新的查找区间进行的
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有