最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python算法表示概念掃盲教程

 更新時(shí)間:2017年04月13日 10:42:45   作者:金角大王  
這篇文章主要為大家詳細(xì)介紹了python算法表示概念掃盲教程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

本文為大家講解了python算法表示概念,供大家參考,具體內(nèi)容如下

常數(shù)階O(1)

常數(shù)又稱定數(shù),是指一個(gè)數(shù)值不變的常量,與之相反的是變量

為什么下面算法的時(shí)間復(fù)雜度不是O(3),而是O(1)。

int sum = 0,n = 100; /*執(zhí)行一次*/ 
sum = (1+n)*n/2; /*執(zhí)行一次*/ 
printf("%d", sum); /*行次*/

這個(gè)算法的運(yùn)行次數(shù)函數(shù)是f(n)=3。根據(jù)我們推導(dǎo)大O階的方法,第一步就是把常數(shù)項(xiàng)3改為1。在保留最高階項(xiàng)時(shí)發(fā)現(xiàn),它根本沒有最高階項(xiàng),所以這個(gè)算法的時(shí)間復(fù)雜度為O(1)。

另外,我們試想一下,如果這個(gè)算法當(dāng)中的語句sum=(1+n)*n/2有10句,即:

int sum = 0, n = 100; /*執(zhí)行1次*/ 
sum = (1+n)*n/2; /*執(zhí)行第1次*/ 
sum = (1+n)*n/2; /*執(zhí)行第2次*/ 
sum = (1+n)*n/2; /*執(zhí)行第3次*/ 
sum = (1+n)*n/2; /*執(zhí)行第4次*/ 
sum = (1+n)*n/2; /*執(zhí)行第5次*/ 
sum = (1+n)*n/2; /*執(zhí)行第6次*/ 
sum = (1+n)*n/2; /*執(zhí)行第7次*/ 
sum = (1+n)*n/2; /*執(zhí)行第8次*/ 
sum = (1+n)*n/2; /*執(zhí)行第9次*/ 
sum = (1+n)*n/2; /*執(zhí)行第10次*/ 
printf("%d",sum); /*執(zhí)行1次*/

事實(shí)上無論n為多少,上面的兩段代碼就是3次和12次執(zhí)行的差異。這種與問題的大小無關(guān)(n的多少),執(zhí)行時(shí)間恒定的算法,我們稱之為具有O(1)的時(shí)間復(fù)雜度,又叫常數(shù)階。

注意:不管這個(gè)常數(shù)是多少,我們都記作O(1),而不能是O(3)、O(12)等其他任何數(shù)字,這是初學(xué)者常常犯的錯(cuò)誤。 

推導(dǎo)大O階方法

1.用常數(shù)1取代運(yùn)行時(shí)間中的所有加法常數(shù)

2.在修改后的運(yùn)行次數(shù)函數(shù)中,只保留最高階項(xiàng)

3.如果最高階項(xiàng)存在且不是1,則去除與這個(gè)項(xiàng)相乘的常數(shù)

對數(shù)階O(log2n) 

對數(shù)

如果a的x次方等于N(a>0,且a不等于1),那么數(shù)x叫做以a為底N的對數(shù)(logarithm),記作x=logaN, 。其中,a叫做對數(shù)的底數(shù),N叫做真數(shù)。
5^2 = 25 , 記作 2= log5 25
對數(shù)是一種運(yùn)算,與指數(shù)是互逆的運(yùn)算。例如

① 3^2=9 <==> 2=log<3>9;

② 4^(3/2)=8 <==> 3/2=log<4>8;

③ 10^n=35 <==> n=lg35。為了使用方便,人們逐漸把以10為底的常用對數(shù)記作lgN

對數(shù)階

int count = 1; 
while (count < n) 
{  
count = count * 2; /* 時(shí)間復(fù)雜度為O(1)的程序步驟序列 */ 
}

由于每次count乘以2之后,就距離n更近了一分。

也就是說,有多少個(gè)2相乘后大于n,則會退出循環(huán)。

由2^x=n得到x=log2n。所以這個(gè)循環(huán)的時(shí)間復(fù)雜度為O(logn)。 

線性階O(n)  

執(zhí)行時(shí)間隨問題規(guī)模增長呈正比例增長

data = [ 8,3,67,77,78,22,6,3,88,21,2]
find_num = 22
for i in data:
  if i == 22:
    print("find",find_num,i )

線性對數(shù)階O(nlog2n)

平方階O(n^2)

for i in range(100):
 
  for k in range(100):
    print(i,k)

立方階O(n^3)
k次方階O(n^k),
指數(shù)階O(2^n)。

隨著問題規(guī)模n的不斷增大,上述時(shí)間復(fù)雜度不斷增大,算法的執(zhí)行效率越低?! ?/p>

 

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Python中的魔法函數(shù)和魔法屬性用法示例

    Python中的魔法函數(shù)和魔法屬性用法示例

    這篇文章主要介紹了Python中的魔法函數(shù)和魔法屬性的相關(guān)資料,Python的魔法函數(shù)也被稱為特殊方法或雙下劃線方法,是Python中一些特殊命名的函數(shù),它們以雙下劃線開頭和結(jié)尾,這些函數(shù)定義了對象在特定情況下的行為,需要的朋友可以參考下
    2024-11-11
  • 使用Python實(shí)現(xiàn)監(jiān)控進(jìn)程是否有病毒

    使用Python實(shí)現(xiàn)監(jiān)控進(jìn)程是否有病毒

    這篇文章主要為大家詳細(xì)介紹了如何使用Python實(shí)現(xiàn)監(jiān)控進(jìn)程是否有病毒,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2024-02-02
  • Windows系統(tǒng)Python直接調(diào)用C++ DLL的方法

    Windows系統(tǒng)Python直接調(diào)用C++ DLL的方法

    這篇文章主要介紹了Windows系統(tǒng)Python直接調(diào)用C++ DLL文件的方法,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值 ,需要的朋友可以參考下
    2019-08-08
  • python中的取反操作符(~)

    python中的取反操作符(~)

    這篇文章主要介紹了python中的取反操作符(~),具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-03-03
  • 手把手教你搭建python+selenium自動(dòng)化環(huán)境(圖文)

    手把手教你搭建python+selenium自動(dòng)化環(huán)境(圖文)

    本文主要介紹了手把手教你搭建python+selenium自動(dòng)化環(huán)境,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-06-06
  • Python正則表達(dá)式re模塊講解以及其案例舉例

    Python正則表達(dá)式re模塊講解以及其案例舉例

    Python中re模塊主要功能是通過正則表達(dá)式是用來匹配處理字符串的 ,下面這篇文章主要給大家介紹了關(guān)于Python正則表達(dá)式re模塊講解以及其案例舉例的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-09-09
  • python爬取各類文檔方法歸類匯總

    python爬取各類文檔方法歸類匯總

    網(wǎng)絡(luò)爬蟲不僅需要能夠抓取HTML中的敏感信息,也需要有抓取其他類型文檔的能力這篇文章主要為大家匯總了python爬取各類文檔方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-03-03
  • python 監(jiān)控某個(gè)進(jìn)程內(nèi)存的情況問題

    python 監(jiān)控某個(gè)進(jìn)程內(nèi)存的情況問題

    這篇文章主要介紹了python 監(jiān)控某個(gè)進(jìn)程內(nèi)存的情況問題,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-05-05
  • python實(shí)現(xiàn)圖像外邊界跟蹤操作

    python實(shí)現(xiàn)圖像外邊界跟蹤操作

    這篇文章主要介紹了python實(shí)現(xiàn)圖像外邊界跟蹤操作,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-07-07
  • python日志模塊loguru詳解

    python日志模塊loguru詳解

    大家好,本篇文章主要講的是python日志模塊loguru詳解,感興趣的同學(xué)趕快來看一看吧,對你有幫助的話記得收藏一下
    2022-02-02

最新評論

阳西县| 五台县| 玉林市| 盐亭县| 崇信县| 千阳县| 淮北市| 南华县| 洪泽县| 房产| 靖西县| 汉阴县| 平邑县| 奉贤区| 德化县| 团风县| 荣成市| 宁波市| 林芝县| 米林县| 饶河县| 应城市| 张家口市| 永平县| 阳城县| 麦盖提县| 壶关县| 榆中县| 宁南县| 原平市| 上饶市| 陕西省| 兴业县| 蓝田县| 镇远县| 潜江市| 大足县| 丹东市| 祁门县| 迭部县| 山东省|