Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Arrays 递归排序算法_Arrays_Algorithm_Sorting_Recursion_Arraylist - Fatal编程技术网

Arrays 递归排序算法

Arrays 递归排序算法,arrays,algorithm,sorting,recursion,arraylist,Arrays,Algorithm,Sorting,Recursion,Arraylist,我有一个算法: ALGORITHM F_min1(A[0..n-1]) //Input: An array A[0..n-1] of real numbers If n = 1 return A[0] else temp ← F_minl(A[0..n-2]) If temp ≤ A[n-1] return temp else return A[n-1] 我怀疑它会对数组进行排序,但我不知道具体是如何排序的。我认为它会查看数组中除

我有一个算法:

ALGORITHM F_min1(A[0..n-1])
//Input: An array A[0..n-1] of real numbers
If n = 1
    return A[0]
else
    temp ← F_minl(A[0..n-2])
    If temp ≤ A[n-1]
        return temp
    else
        return A[n-1]
我怀疑它会对数组进行排序,但我不知道具体是如何排序的。我认为它会查看数组中除最后一个之外的最小元素,比较它们,然后打印较大的元素。

几乎;它返回较小的值,而不是较大的值。 此外,它根本不会对数组进行排序:它只返回最小的元素

换句话说,它的意思是:

If there is only one element, it must be the right one -- return it.
Otherwise,
    recur: find the smallest element in all but the last one.
    compare the last element to that minimum; return the smaller one.

当您一直返回到初始调用时,您拥有数组中最小的元素。

它是否只返回一个元素?例如,如果数组是3 7 5 2 1。它查看3 7 5 2,然后将2与1进行比较并打印1。之后,它会查看3 7 5并将3与2进行比较,然后打印2。依此类推?对:这只返回最小的元素。它不会改变原始列表,也不会构造一个要返回的新列表。