python 中基本運算的效能簡析,python簡析

來源:互聯網
上載者:User

python 中基本運算的效能簡析,python簡析


運算的效能分析有一個高深的詞彙——演算法分析,主要研究的是已耗用時間和空間的需求。對計算時間的描述一般通過增長量級,增長量級是一套函數,其漸進增長行為是等價的,用大O來表示。
O(1) < O(logb n) < O(n) < O(n logb n) < O(n)< O(n2)<O (n3)<O(cn )

 

對數演算法中的基數並不重要,指數演算法只適用於小資料問題。

 

Python中算數運算的時間是常量,但超大整數的運算增加是線性。索引操作也是常量時間,無論資料結構如何都是如此。只要迴圈體中的所有操作都是線性時間,則遍曆列表或者字典的for迴圈是線性時間。如果使用同樣的迴圈添加字串列表,那麼已耗用時間就是二次方的,所以通常採用join做字串拼接。

 

大多數字串和元組操作都是線性,除了索引和len,都是常量時間,min和max是線性,slice操作的時間與輸出的長度成正比,與輸出的大小無關。

 

大多數列表方法是線性,一般而言,尾部添加和刪除元素是常量時間,排序是O(n logb n)。in操作符是線性搜尋,字串的count和find也是如此。

 

大多數字典操作和方法是常量時間,但copy和update的已耗用時間是線性,keys,values與items是線性,iterkeys,itervalues與iteritems是常量時間,但如果遍曆迭代器,迴圈也是線性。

 

還記得有這樣一句名言,“如果只有一種資料結構的化,就用hash表吧!”

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.