將O(n^2)的空間化爲O(n)的空間複雜度

算法與數據結構習題解析(P59< = n 個數排序

 

 如遞歸表達式爲:

 A[ij]=(j+1)(A[i-1,j-1]+A[i-1,j];

由於第i行的值只與第i-1行的值有關

所以可以用一個一維數組來實現

 

初始化:(1行的值)

A[0]=1;A[1n-1]=0;

實際上數組的標號表示的是列標號

For(int i=2->n)  //實際上i的循環表示的是行標號

  For(int j=i-1 ->1)  之所以用逆序,因爲j的值要由j-1的值算出,所以要逆序

A[j]=(j+1)(A[j-1]+A[j])

 

 最終輸出最後一行的和值

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章