国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

數(shù)據(jù)結(jié)構(gòu):算法(特性,時(shí)間復(fù)雜度,空間復(fù)雜度)

這篇具有很好參考價(jià)值的文章主要介紹了數(shù)據(jù)結(jié)構(gòu):算法(特性,時(shí)間復(fù)雜度,空間復(fù)雜度)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

1.算法的概念

算法(Algorithm)是對(duì)特定問(wèn)題求解步驟的一種描述,它是指令的有限序列,其中的每條指令表示一個(gè)或多個(gè)操作。

2.算法的特性

1.有窮性

一個(gè)算法必須總在執(zhí)行有窮步之后結(jié)束,且每一步都可在有窮時(shí)間內(nèi)完成。
算法必須是有窮的,而程序可以是無(wú)窮的

2.確定性

算法中每條指令必須有確切的含義,對(duì)于相同的輸入只能得出相同的輸出。

3.可行性

算法中描述的操作都可以通過(guò)已經(jīng)實(shí)現(xiàn)的基本運(yùn)算執(zhí)行有限次來(lái)實(shí)現(xiàn)。

4.輸入

一個(gè)算法有零個(gè)或多個(gè)輸入,這些輸入取自于某個(gè)特定的對(duì)象的集合。

5.輸出

一個(gè)算法有一個(gè)或多個(gè)輸出,這些輸出是與輸入有著某種特定關(guān)系的量。

3.好算法的特質(zhì)

1.正確性

算法應(yīng)能夠正確地解決求解問(wèn)題。

2.可讀性

算法應(yīng)具有良好的可讀性,以幫助人們理解。

3.健壯性

輸入非法數(shù)據(jù)時(shí),算法能適當(dāng)?shù)刈龀龇磻?yīng)或進(jìn)行處理,而不會(huì)產(chǎn)生莫名其妙的輸出結(jié)果。

4.高效率與低存儲(chǔ)需求

即算法執(zhí)行省時(shí)、省內(nèi)存:時(shí)間復(fù)雜度低、空間復(fù)雜度低。

4.算法的時(shí)間復(fù)雜度

事前預(yù)估算法時(shí)間開(kāi)銷T(n)與問(wèn)題規(guī)模n的關(guān)系(T表示“time”)

  • 最壞時(shí)間復(fù)雜度:最壞情況下算法的時(shí)間復(fù)雜度。
  • 平均時(shí)間復(fù)雜度:所有輸入示例等概率出現(xiàn)的情優(yōu)下,算法的期望運(yùn)行時(shí)間。
  • 最好時(shí)間復(fù)雜度:最好情況下算法的時(shí)間復(fù)雜度。

1.事后統(tǒng)計(jì)的問(wèn)題

①和機(jī)器性能有關(guān),如:超級(jí)計(jì)算機(jī)v.s.單片機(jī)
②和編程語(yǔ)言有關(guān),越高級(jí)的語(yǔ)言執(zhí)行效率越低
③和編譯程序產(chǎn)生的機(jī)器指令質(zhì)量有關(guān)
④有些算法是不能事后再統(tǒng)計(jì)的,如:導(dǎo)彈控制算法

2.復(fù)雜度表示的計(jì)算

1.加法規(guī)則

多項(xiàng)相加,只保留最高階的項(xiàng),且系數(shù)變?yōu)?。

2.乘法規(guī)則

多項(xiàng)相乘,都保留。

3.常見(jiàn)函數(shù)數(shù)量級(jí)比較

數(shù)據(jù)結(jié)構(gòu):算法(特性,時(shí)間復(fù)雜度,空間復(fù)雜度),數(shù)據(jù)結(jié)構(gòu)與算法,數(shù)據(jù)結(jié)構(gòu),算法

①順序執(zhí)行的代碼只會(huì)影響常數(shù)項(xiàng),可以忽略。
②只需挑循環(huán)中的一個(gè)基本操作分析它的執(zhí)行次數(shù)與n的關(guān)系即可。
③如果有多層嵌套循環(huán),只需關(guān)注最深層循環(huán)循環(huán)了幾次。

5.算法的空間復(fù)雜度

1.程序的內(nèi)存需求

①若無(wú)論問(wèn)題規(guī)模怎么變,算法運(yùn)行所需的內(nèi)存空間都是固定的常量,
算法空間復(fù)雜度為s(n)= o(1),則稱該算法為原地工作:算法所需的內(nèi)存空間為常量。
②只需關(guān)注存儲(chǔ)空間大小與問(wèn)題規(guī)模相關(guān)的變量。

2.例題

數(shù)據(jù)結(jié)構(gòu):算法(特性,時(shí)間復(fù)雜度,空間復(fù)雜度),數(shù)據(jù)結(jié)構(gòu)與算法,數(shù)據(jù)結(jié)構(gòu),算法

3.函數(shù)調(diào)用(遞歸)帶來(lái)的內(nèi)存開(kāi)銷

一般情況,空間復(fù)雜度等于遞歸調(diào)用的深度。
注:有的算法各層函數(shù)所需存儲(chǔ)空間不同,分析方法略有區(qū)別。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-736933.html

到了這里,關(guān)于數(shù)據(jù)結(jié)構(gòu):算法(特性,時(shí)間復(fù)雜度,空間復(fù)雜度)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 數(shù)據(jù)結(jié)構(gòu)與算法—時(shí)間復(fù)雜度和空間復(fù)雜度

    數(shù)據(jù)結(jié)構(gòu)與算法—時(shí)間復(fù)雜度和空間復(fù)雜度

    目錄 1、什么是數(shù)據(jù)結(jié)構(gòu)? 2、什么是算法? 3、算法的復(fù)雜度 4、時(shí)間復(fù)雜度 (1) 時(shí)間復(fù)雜度的概念: ?(2) 大O的漸進(jìn)表示法:? 六個(gè)例題: (3)?時(shí)間復(fù)雜度對(duì)比:? 三個(gè)例題:? OJ題分析時(shí)間復(fù)雜度 5、空間復(fù)雜度 (1)常見(jiàn)復(fù)雜度對(duì)比 ?(2)OJ題分析空間復(fù)雜度 小結(jié) 數(shù)據(jù)結(jié)構(gòu) (D

    2024年02月07日
    瀏覽(28)
  • 數(shù)據(jù)結(jié)構(gòu)--算法的時(shí)間復(fù)雜度和空間復(fù)雜度

    數(shù)據(jù)結(jié)構(gòu)--算法的時(shí)間復(fù)雜度和空間復(fù)雜度

    算法效率是指 算法在計(jì)算機(jī)上運(yùn)行時(shí)所消耗的時(shí)間和資源 。這是衡量算法執(zhí)行速度和資源利用情況的重要指標(biāo)。 例子: 這是一個(gè)斐波那契函數(shù),用的是遞歸的計(jì)算方法,每次創(chuàng)建函數(shù)就會(huì)在棧區(qū)開(kāi)辟一塊空間,遞歸次數(shù)越多,開(kāi)辟空間越多; 所以, 代碼的簡(jiǎn)潔說(shuō)明不了算

    2024年02月15日
    瀏覽(20)
  • 數(shù)據(jù)結(jié)構(gòu)與算法-時(shí)間復(fù)雜度與空間復(fù)雜度

    數(shù)據(jù)結(jié)構(gòu)與算法-時(shí)間復(fù)雜度與空間復(fù)雜度

    數(shù)據(jù)結(jié)構(gòu)是計(jì)算機(jī)存儲(chǔ)、組織數(shù)據(jù)的方式,指相互之間存在一種或多種特定關(guān)系的數(shù)據(jù)元素的集合。 算法就是定義良好的計(jì)算過(guò)程,他取一個(gè)或一組的值為輸入,并產(chǎn)生一個(gè)或一組值作為輸出。簡(jiǎn)單來(lái)說(shuō)算法就是一系列的計(jì)算步驟,用來(lái)將輸入數(shù)據(jù)轉(zhuǎn)化成輸出結(jié)果。 算法在

    2024年02月07日
    瀏覽(21)
  • 【數(shù)據(jù)結(jié)構(gòu)和算法】時(shí)間復(fù)雜度和空間復(fù)雜度

    【數(shù)據(jù)結(jié)構(gòu)和算法】時(shí)間復(fù)雜度和空間復(fù)雜度

    目錄 ? 一、前言 二、時(shí)間復(fù)雜度 2.1時(shí)間復(fù)雜度表示形式 2.1.1規(guī)則: 3.1如何計(jì)算時(shí)間復(fù)雜度 3.1.1線性階 3.1.2平方階 3.1.3對(duì)數(shù)階 常見(jiàn)的時(shí)間復(fù)雜度排序: 三、空間復(fù)雜度 3.1Java的基本類型內(nèi)存占用 數(shù)據(jù)結(jié)構(gòu)和算法是程序的靈魂,這是某位程序員大佬所言,學(xué)習(xí)了這門,我們便可

    2023年04月09日
    瀏覽(24)
  • 【數(shù)據(jù)結(jié)構(gòu)與算法】1.時(shí)間復(fù)雜度和空間復(fù)雜度

    【數(shù)據(jù)結(jié)構(gòu)與算法】1.時(shí)間復(fù)雜度和空間復(fù)雜度

    ??博客主頁(yè):愛(ài)敲代碼的小楊. ?專欄:《Java SE語(yǔ)法》 ??感謝大家點(diǎn)贊????收藏?評(píng)論???,您的三連就是我持續(xù)更新的動(dòng)力?? ??小楊水平有限,歡迎各位大佬指點(diǎn),相互學(xué)習(xí)進(jìn)步! 算法效率分為兩種:第一種是時(shí)間效率;第二種是空間效率。時(shí)間效率又稱為時(shí)間

    2024年01月20日
    瀏覽(23)
  • 【數(shù)據(jù)結(jié)構(gòu)與算法篇】時(shí)間復(fù)雜度與空間復(fù)雜度

    【數(shù)據(jù)結(jié)構(gòu)與算法篇】時(shí)間復(fù)雜度與空間復(fù)雜度

    ?? 目錄 一、數(shù)據(jù)結(jié)構(gòu)和算法 1.什么是數(shù)據(jù)結(jié)構(gòu)?? 2.什么是算法? 3.數(shù)據(jù)結(jié)構(gòu)和算法的重要性 二、算法的時(shí)間復(fù)雜度和空間復(fù)雜度 1.算法效率 2.算法的復(fù)雜度 3.復(fù)雜度在校招中的考察 4.時(shí)間復(fù)雜度 5.空間復(fù)雜度? 6.常見(jiàn)復(fù)雜度對(duì)比 7.復(fù)雜度的OJ練習(xí) ? ??內(nèi)容專欄:《數(shù)據(jù)結(jié)

    2023年04月24日
    瀏覽(44)
  • 數(shù)據(jù)結(jié)構(gòu) | 算法的時(shí)間復(fù)雜度和空間復(fù)雜度【詳解】

    數(shù)據(jù)結(jié)構(gòu) | 算法的時(shí)間復(fù)雜度和空間復(fù)雜度【詳解】

    數(shù)據(jù)結(jié)構(gòu)(Data Structure)是計(jì)算機(jī)存儲(chǔ)、組織數(shù)據(jù)的方式,指相互之間存在一種或多種特定關(guān)系的數(shù)據(jù)元素的集合。 算法(Algorithm):就是定義良好的計(jì)算過(guò)程,他取一個(gè)或一組的值為輸入,并產(chǎn)生出一個(gè)或一組值作為輸出。簡(jiǎn)單來(lái)說(shuō)算法就是一系列的計(jì)算步驟,用來(lái)將輸入數(shù)據(jù)轉(zhuǎn)

    2024年02月08日
    瀏覽(30)
  • 學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu):算法的時(shí)間復(fù)雜度和空間復(fù)雜度

    學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu):算法的時(shí)間復(fù)雜度和空間復(fù)雜度

    衡量一個(gè)算法的好壞,一般是從時(shí)間和空間兩個(gè)維度來(lái)衡量的,即時(shí)間復(fù)雜度和空間復(fù)雜度。 時(shí)間復(fù)雜度主要衡量一個(gè)算法的運(yùn)行快慢,而空間復(fù)雜度主要衡量一個(gè)算法運(yùn)行所需要的額外空間。 算法的時(shí)間復(fù)雜度 算法中的基本操作的執(zhí)行次數(shù),為算法的時(shí)間復(fù)雜度。 算法的

    2024年04月11日
    瀏覽(23)
  • 數(shù)據(jù)結(jié)構(gòu)練習(xí)-算法與時(shí)間復(fù)雜度

    數(shù)據(jù)結(jié)構(gòu)練習(xí)-算法與時(shí)間復(fù)雜度

    -----------------------------------------------------------------------------------------------------------------------------? ????????1. 設(shè)n是描述問(wèn)題規(guī)模的非負(fù)整數(shù),下列程序段的時(shí)間復(fù)雜度是( )。 ????????A.O(logn) B.O(n^(1/2)) C.O(n) D.O(n2) ? ? ? ? 解析: ? ? ? ? 分析選項(xiàng) A. O(log n) :這通常描

    2024年04月25日
    瀏覽(25)
  • 【數(shù)據(jù)結(jié)構(gòu)初階】算法的時(shí)間復(fù)雜度和空間復(fù)雜度

    【數(shù)據(jù)結(jié)構(gòu)初階】算法的時(shí)間復(fù)雜度和空間復(fù)雜度

    1.1 如何衡量一個(gè)算法的好壞 如何衡量一個(gè)算法的好壞呢? 比如對(duì)于以下斐波那契數(shù)列: 斐波那契數(shù)列的遞歸實(shí)現(xiàn)方式非常簡(jiǎn)潔,但簡(jiǎn)潔一定好嗎?那該如何衡量其好與壞呢? 1.2 算法的復(fù)雜度 算法在編寫(xiě)成可執(zhí)行程序后,運(yùn)行時(shí)需要耗費(fèi)時(shí)間資源和空間(內(nèi)存)資源 。因此

    2024年02月08日
    瀏覽(18)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包