熱線電話:13121318867

登錄
首頁精彩閱讀python 中基本運算的性能簡析
python 中基本運算的性能簡析
2017-04-18
收藏

python 中基本運算的性能簡析

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

對數算法中的基數并不重要,指數算法只適用于小數據問題。


Python中算數運算的時間是常量,但超大整數的運算增加是線性的。索引操作也是常量時間,無論數據結構如何都是如此。只要循環體中的所有操作都是線性時間,則遍歷列表或者字典的for循環是線性時間。如果使用同樣的循環添加字符串列表,那么運行時間就是二次方的,所以通常采用join做字符串拼接。


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


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


大多數字典操作和方法是常量時間,但copy和update的運行時間是線性的,keys,values與items是線性的,iterkeys,itervalues與iteritems是常量時間,但如果遍歷迭代器,循環也是線性的。


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


數據分析咨詢請掃描二維碼

若不方便掃碼,搜微信號:CDAshujufenxi

數據分析師資訊
更多

OK
客服在線
立即咨詢
日韩人妻系列无码专区视频,先锋高清无码,无码免费视欧非,国精产品一区一区三区无码
客服在線
立即咨詢