Algorithm Kenneth H.Rosen解释了这种离散数学算法及其应用

Algorithm Kenneth H.Rosen解释了这种离散数学算法及其应用,algorithm,discrete-mathematics,Algorithm,Discrete Mathematics,Q.描述一种算法,该算法将整数x插入列表a_1、a_2,按递增顺序排列的整数的集合 A 我的问题。为什么a_n+1:=x+1?如果初始值i=n,那么j=0到-1? 我是否排除j=-1? 对不起,说错了,请解释一下这个算法 为什么a_n+1:=x+1 这是一种方法 使用这个stop元素,可以使用相同的方法将x插入列表的任何位置。否则,必须检查列表是否已完成,并在末尾附加x和特殊代码 如果初始值i=n,那么j=0到-1 这意味着没有执行for j:=0到-1的运算符。一些语言有特殊类型的for循环,

Q.描述一种算法,该算法将整数x插入列表a_1、a_2,按递增顺序排列的整数的集合

A

我的问题。为什么a_n+1:=x+1?如果初始值i=n,那么j=0到-1? 我是否排除j=-1? 对不起,说错了,请解释一下这个算法

为什么a_n+1:=x+1

这是一种方法

使用这个stop元素,可以使用相同的方法将x插入列表的任何位置。否则,必须检查列表是否已完成,并在末尾附加x和特殊代码

如果初始值i=n,那么j=0到-1

这意味着没有执行for j:=0到-1的运算符。一些语言有特殊类型的for循环,用于反向,如Pascal中的for..downto或其他一些语言中的step参数

procedure insert(x,a_1,a_2,...,a_n :integers)
{the list is in order: a_1<=a_2<=...<=a_n}
a_(n+1) := x+1
i :=1
while x>a_i
i :=i+1
for j:=0 to n-i
a_(n-j+1) := a_(n-j)
a_i=x
{x has been inserted into correct position}