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
Algorithm 一次完成气泡排序的要求是什么?_Algorithm_Sorting_Permutation_Bubble Sort - Fatal编程技术网

Algorithm 一次完成气泡排序的要求是什么?

Algorithm 一次完成气泡排序的要求是什么?,algorithm,sorting,permutation,bubble-sort,Algorithm,Sorting,Permutation,Bubble Sort,我正在研究一个问题,其中给定了n不同的数字,您希望找到排列的数量,这样最多需要一次冒泡排序才能完成 e、 例如,如果n=3,则以下排列只需要1次通过 1 2 3 1 3 2 3 1 2 2 1 3 但是 将需要超过1个通行证。显然,答案是2^{n-1},但我不确定如何证明一般n情况下的这一点 我的问题是,序列的一般约束条件是什么,以允许它通过一次冒泡排序进行排序 我很难想出一个通用公式来为较大的n生成排列,我投票结束这个问题,因为虽然这是一个有趣的问题,但它可能更适合。在一次冒泡排序中

我正在研究一个问题,其中给定了
n
不同的数字,您希望找到排列的数量,这样最多需要一次冒泡排序才能完成

e、 例如,如果
n=3
,则以下排列只需要1次通过

1 2 3 
1 3 2 
3 1 2 
2 1 3 
但是

将需要超过1个通行证。显然,答案是
2^{n-1}
,但我不确定如何证明一般
n
情况下的这一点

我的问题是,序列的一般约束条件是什么,以允许它通过一次冒泡排序进行排序


我很难想出一个通用公式来为较大的
n

生成排列,我投票结束这个问题,因为虽然这是一个有趣的问题,但它可能更适合。在一次冒泡排序中,数组的一个元素可以向右移动多个位置,但左边只有一个位置。
3 2 1 
2 3 1