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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

数据结构和算法分析:第二章 算法分析

發布時間:2025/4/16 编程问答 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 数据结构和算法分析:第二章 算法分析 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

算法是為求解一個問題所要遵循的,被清楚指定的簡單指令的集合。

2.1 數學基礎

相對增長率

大O標記法

2.2 模型

為了正式的架構中分析算法,我們需要一個計算模型。我們的模型基本上是一臺標準的計算機,在機器中指令被順序的執行。

2.3 要分析的問題

通常,要分析的最重要的資源就是運行時間。有幾個因數影響著程序的運行時間。

因此只要有可能,使得算法足夠有效而不成為問題的瓶頸是十分重要的。

2.4 運行時間計算

大O是一個上界

2.4.2 一般法則

  • 法則1—for循環:一個for循環的時間至多是該for循環內部那些語句的運行時間乘以迭代的次數。
  • 法則2—嵌套的for循環:從里向外分析這些for循環。在一組嵌套的循環內部的一條語句的總的運行時間為該語句的運行時間乘以該組所有的for循環的大小的乘積。
  • 法則3—順序語句:將各個語句的運行時間求和即可。
  • 法則4—if、else語句:一個if/else的運行時間從不超過判斷的運行時間加上S1和S2中運行時間長者的運行時間。
  • 2.4.3 最大子序列求和問題的求解

    時間復雜度O(N^3)

    public static int maxSubSum1(int nums[]){int maxSum=0;for(int i=0; i< nums.length; i++){for(int j=i; j<nums.length;j++){int thisSum=0;for(int tmp=i;tmp<=j;tmp++){thisSum+=nums[tmp];}maxSum = maxSum > thisSum ? maxSum:thisSum;}}return maxSum;}

    時間復雜度O(N^2)

    // 時間復雜度O(N^2)public static int maxSubSum2(int nums[]) {int maxSum = 0;for (int i = 0; i < nums.length; i++) {int thisSum = 0;for (int j = i; j < nums.length; j++) {thisSum += nums[j];maxSum = maxSum > thisSum ? maxSum : thisSum;}}return maxSum;}

    2.4.4 運行時間的對數

    分析算法最混亂的方面大概是集中在對數方面。此外對數最常出現的規律可概括為以下法則:如果一個算法用常數時間(O(1))將問題的大小削減為其中一部分(通常為1/2),那么該算法就是O(㏒N)。另一方面,如果使用常數時間只是把問題減少為一個常數的數量(如將問題減少為1),那么這種算法就是O(N)。

    • 折半查找
    // 折半查找public static <T extends Comparable<? super T>> int binarysearch(T[] a, T x){int low=0, high=a.length-1;while (low<=high){int mid=(low+high)/2;if(a[mid].compareTo(x)<0){low=mid+1;}else if(a[mid].compareTo(x)>0)high=mid-1;elsereturn mid;}return -1;}

    總結

    時間復雜度

    一個算法花費的時間與算法中語句的執行次數成正比例,哪個算法中語句執行次數多,它花費時間就多。一個算法中的語句執行次數稱為語句頻度或時間頻度。記為T(n)

    在剛才提到的時間頻度中,n稱為問題的規模,當n不斷變化時,時間頻度T(n)也會不斷變化。但有時我們想知道它變化時呈現什么規律。為此,我們引入時間復雜度概念。

    一般情況下,算法中基本操作重復執行的次數是問題規模n的某個函數,用T(n)表示,若有某個輔助函數f(n),使得當n趨近于無窮大時,T(n)/f(n)的極限值為不等于零的常數,則稱f(n)是T(n)的同數量級函數。記作T(n)=O(f(n)),稱O(f(n)) 為算法的漸進時間復雜度,簡稱時間復雜度。

    有時候,算法中基本操作重復執行的次數還隨問題的輸入數據集不同而不同,如在冒泡排序中,輸入數據有序而無序,其結果是不一樣的。此時,我們計算平均值。

    常見的算法的時間 復雜度之間的關系為:

    O(1)<O(logn)<O(n)<O(nlog n)<O(n2)<O(2n)<O(n!)<O(nn)

    實例1

    sum=0//(1)for(i=1;i<=n;i++) //(2)for(j=1;j<=n;j++) //(3)sum++//(4)

    語句(1)執行1次,

    語句(2)執行n次

    語句(3)執行n2次

    語句(4)執行n2次

    T(n) = 1+n+2n2= O(n2)

    實例2

    a=0; b=1; //(1)for (i=1;i<=n;i++) //(2){ s=a+b;     //(3)b=a;      //(4) a=s;      //(5)}語句(1)執行1次,語句(2)執行n次語句(3)、(4)、(5)執行n次T(n) = 1+4n =O(n)**實例3** ```javai=1; //(1)while (i<=n)i=i*2; //(2)

    語句(1)的頻度是1,

    設語句2的頻度是f(n),則:2f(n)<=n;f(n)<=log2n

    取最大值f(n)= log2n,

    T(n)=O(log2n )

    空間復雜度

    空間復雜度:算法所需存儲空間的度量,記作:

    S(n)=O( f(n) )

    其中 n 為問題的規模。

    一個算法在計算機存儲器上所占用的存儲空間,包括存儲算法本身所占用的存儲空間,算法的輸入輸出數據所占用的存儲空間和算法在運行過程中臨時占用的存儲空間這三個方面。如果額外空間相對于輸入數據量來說是個常數,則稱此算法是原地工作。

    算法的輸入輸出數據所占用的存儲空間是由要解決的問題決定的,是通過參數表由調用函數傳遞而來的,它不隨本算法的不同而改變。存儲算法本身所占用的存儲空間與算法書寫的長短成正比,要壓縮這方面的存儲空間,就必須編寫出較短的算法。

    總結

    以上是生活随笔為你收集整理的数据结构和算法分析:第二章 算法分析的全部內容,希望文章能夠幫你解決所遇到的問題。

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

    主站蜘蛛池模板: 中文字幕亚洲一区二区三区五十路 | 色综合天天综合网天天狠天天 | 91丨porny丨在线| 视频免费观看在线 | 欧美视频三区 | 人妻无码久久精品人妻 | 日日躁夜夜躁狠狠躁 | 国产chinasex对白videos麻豆 | 亚洲精品少妇久久久久久 | 亚洲午夜久久久久久久久久久 | 色91在线 | 午夜精品无码一区二区三区 | 两个人做羞羞的视频 | 亚洲高潮无码久久 | 国产福利精品在线观看 | 国产jjizz一区二区三区视频 | 久久久久久久毛片 | 免费黄色网址在线观看 | 怡红院最新网址 | 青青操在线 | 欧美一区二区三区四区在线观看 | 国产精品二区一区二区aⅴ污介绍 | www.自拍| 蜜臀在线一区二区三区 | 国产乱人伦精品一区二区 | 国产亚洲AV无码成人网站在线 | 中文字幕在线免费观看 | 天天舔天天干 | 日韩在线播放视频 | 国产理论视频在线观看 | 中国少妇做爰全过程毛片 | 荫道bbwbbb高潮潮喷 | 欧美一级片网站 | 精品国产一区二区三区四区 | 特黄在线 | 久久精品黄色片 | 综合av第一页 | 一区二区视频免费在线观看 | 中国av毛片| 日本高清网站 | 精品国产一区二 | 天天干国产 | 成人欧美一区 | 99久久久无码国产精品免费蜜柚 | 欧美日本另类 | 色臀 | 性高潮久久久久久久久久 | 亚洲欧美色图片 | 91精品一区二区三区在线观看 | 日本色综合 | 欧美激情区 | 日韩和一区二区 | 欧美囗交做爰视频 | 国产精品久久久久9999爆乳 | 中文字字幕一区二区三区四区五区 | 小蝌蚪视频色 | 在线免费黄网 | 少妇人妻一区二区 | 日韩欧美视频一区 | 特级毛片a | 中文字幕永久视频 | 337p日本欧洲亚洲鲁鲁 | 草莓视频在线观看18 | 中国毛片在线 | 男性裸体全身精光gay | 99久久精品免费看国产免费软件 | 麻豆精品视频在线观看 | 日本色呦呦 | 亚洲天堂手机在线观看 | 国产精品午夜无码专区 | av日韩不卡| 久婷婷 | 91精品国产福利在线观看 | 精品一区二区三区蜜桃 | 欧美一区二区在线看 | www.精品一区| 国产一区二区观看 | 性一交一黄一片 | 欧美一区二区三区色 | 日韩女优在线 | 91久久亚洲 | 欧美一区自拍 | 日韩欧美亚洲国产 | 国产精品30p | 国产又粗又大又长 | 一区二区视频免费看 | 青青草视频免费观看 | 人妻色综合网站 | 欧美日韩成人在线播放 | 91精品国产综合久久福利软件 | 男生舔女生胸 | 成人免费毛片xxx | 国产字幕在线观看 | 欧美久久久久久久久中文字幕 | 亚洲无码精品一区二区三区 | 日本成人在线一区 | 亚洲福利国产 | 日本男男激情gay办公室 | 欧美高清性xxxx |