读入n=100个整数到一个数组中,写出实现将该组数进行逆置的算法,并分析算法的空间复杂度。

读入n=100个整数到一个数组中,写出实现将该组数进行逆置的算法,并分析算法的空间复杂度。


【正确答案】:


F1算法所需要的辅助变量为⒉个整型变量I和TEMP,与问题的规模无关,其空间复杂度为O(1)。


【题目解析】:

对数组进行逆置时,需要用一个临时存放数组元素的临时变量temp,对应的函数基本运算是循环方法,

思路:假设100个整数读入到数组a中, 算法f1的思想是分别从数组两端依次将对应数进行交换,即a[i]与a[100-1-i]进行相互交换,i=0〜49。先将第i个元素赋值给临时变量temp,然后将第n-1-i个元素赋值给第i个元素,最后将temp中的值赋值给第n-1-i个元素,下一次逆置第i+1个元素,共执行n/2次。

空间复杂度是对一个算法在运行过程中临时占用存储空间大小的量度。f1算法所需要的辅助变量为⒉个整型变量i和temp,与问题的规模无关,其空间复杂度为O(1)。


Top