日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

数据结构之空间复杂度和空间复杂度

發布時間:2023/11/30 编程问答 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 数据结构之空间复杂度和空间复杂度 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

  • 1.空間復雜度
    • 計算方法
  • 2.時間復雜度
    • 計算方法
      • 非遞歸
      • 遞歸情況遞歸總次數*每次遞歸次數

1.空間復雜度

  • 空間復雜度是指 執行這個算法所需要的內存空間。
  • 空間復雜度是函數中創建對象的個數關于問題規模函數表達式,一般情況下用O漸進表示法表示

計算方法

1.忽略常數,用O(1)表示
2.遞歸算法的空間復雜度=遞歸深度*每次遞歸所要的輔助空間
3.對于單線程來說,遞歸有運行時堆棧,求的是遞歸最深的那一次壓棧所耗費的空間的個數,因為遞歸最深的那一次所耗費空間足以容納它所有遞歸過程。遞歸是要返回上一層的,所以它所需要的空間不是一直累加起來的。

2.時間復雜度

  • 時間復雜度是指 執行這個算法所需要的計算工作量。

計算方法

1.用常數1取代運行時間中的所有加法常數
2.在修改后的運行次數函數中,只保留最高階項
3.如果最高階項系數存在且不是1,則去除與這個項相乘的常數

非遞歸

void Test(int n) {int iCount = 0;for (int iIdx = 0; iIdx < 10; ++iIdx){iCount++;} }//執行總次數:f(n)=10 + 1 //則O(n)=O(1)

遞歸情況遞歸總次數*每次遞歸次數

int Jie_Cheng(int n) {if (n < 2)return 1;elseint i = n;int tmp = Jie_Cheng(n - 1);return n * tmp; } //每次遞歸次數:2 //遞歸總次數:n //2*n 所以O(n)=O(n)

總結

以上是生活随笔為你收集整理的数据结构之空间复杂度和空间复杂度的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。