帮我解释下 算法描述的 写法 怎么就是正确的 怎么就是错的啊?!

youlingsxcn 2008-09-12 09:04:34
本来我想看到他第一个空 按我理解 是low=1 结果答案 是low<-1 后边他又写了一个 high<-i-1 而我 觉得是high=i-1 谁能帮忙解释下


[说明]为了减少直接插入排序关键字的比较次数,本算法使用了二分(折半)插入法对一个无序数组R[1, ..., n]进行排序。排序思想是对一个待插入元素,先通过二分法(折半)找到插入位置,后移元素后将该元素插入到恰当位置。(假设R[]中元素互不相同)
[算法]
1、变量声明
X: Data Type
i, j, low, high, mid, r:0...n
2、每循环一次插入一个R[i}
循环:i以1为步长,从2到n,反复执行
(1)准备
X <- R[i];___(1)___;high <- i-1;
(2)找插入位置
循环:当___(2)___时,反复执行
___(3)___
若X.key < R[mid].key
则high <- mid-1;
否则___(4)___
(3)后移
循环:j以-1为步长,从___(5)___,反复执行
R[j+1] <- R[j]
(4)插入
R[low] <- X
3、算法结束

标准答案是:(1)low <- 1
(2)low <= high
(3)mid <- int((low+high)/2)
(4)low <- mid+1
(5)i-1到low
...全文
88 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
mmmcd 2008-09-13
  • 打赏
  • 举报
回复
"<-"是一个赋值符号吧
如果用C/C++语言,low=1 等价于 low <- 1
high <- i-1 等价于 high=i-1

33,008

社区成员

发帖
与我相关
我的任务
社区描述
数据结构与算法相关内容讨论专区
社区管理员
  • 数据结构与算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧