中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python數據結構與算法的示例分析

發布時間:2021-12-18 10:18:34 來源:億速云 閱讀:154 作者:小新 欄目:大數據

這篇文章主要為大家展示了“Python數據結構與算法的示例分析”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“Python數據結構與算法的示例分析”這篇文章吧。


抽象概念
     
  • 程序 = 算法 + 數據結構
  • 程序設計語言為算法的實現提供了: 過程 和 數據結構
過程:控制結構——順序、分支、循環數據結構:數據類型與數據間關系
計算資源      
計算資源的判別有兩種來源:
  1. 內存資源和存儲空間(不采用):這兩者數據不容易獲取
  2. 算法執行時間(不采用):受環境因素影響較大,同一程序不同環境運行時間不同
利用占用的空間資源:不好判別利用消耗的時間:受環境因素影響太大

大O表示法(衡量算法效率)      
  • 算法時間衡量指標:一個算法所實施的 操作數量/步驟數量
  • 操作數量/步驟數量的完美選擇: 賦值語句
  • 一條賦值語句包含了 表達式變量存儲兩個基本資源
賦值語句越多,算法的運行時間越多,效率越低
  • 問題規模:影響算法執行效率的主要因素
  • 數量級函數:T(n),即 賦值語句數量函數
  • 大O表示法:等于T(n)中的主導部分,代表變化的強度
T(n) = n + 1:主導部分為n,1可以忽略,則大O表示法為O(n)T(m) = ㎡ + m + 1:主導部分為㎡,影響力最大,則大O表示法為O(㎡)

     

     

     
大O算法的例子:求和函數
def sum(n):    """求和函數"""    theSum = 0 # 賦值語句1次    for i in range(1, n+1): # 賦值語句 n*1 次        theSum += 1 # 賦值語句1次    return theSum
     
  • 函數賦值語句數量:f(n) = n + 1

  • 求和問題的規模:n

  • 數量級函數:T(n) = n + 1

  • 算法效率(大O):O(n)

常見的大O數量級函數
O(T(n))

1常數
log(n)
對數,以2為底
n
線性關系
nlog(n)
線性對數,以2為底
n**2
平方
n***3
立方
2^n
指數

Python數據結構與算法的示例分析


例子2:計算算法效率
     
a = 5 # 賦值語句1次b = 6 # 賦值語句1次c = 10 # 賦值語句1次
for i in range(n): # 賦值語句 n*n*3    for j in range(n):        x = i*i        y = j*j        z = i*j
for k in range(n): # 賦值語句n*2    w = a*k + 45    v = b*b
d = 33 # 賦值語句1次
     
  • 函數賦值語句數量:f(n) = 3 + 3n^2 + 2n + 1= 3n^2+2n+4

  • 問題規模:n^2

  • 算法效率:O(n^2)


以上是“Python數據結構與算法的示例分析”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

吴桥县| 鄄城县| 兴义市| 宣城市| 保靖县| 图们市| 庄浪县| 嘉定区| 巩留县| 兰西县| 扶风县| 闽侯县| 潼南县| 昆明市| 凌云县| 开远市| 神农架林区| 郸城县| 女性| 绥滨县| 秦皇岛市| 怀仁县| 霍林郭勒市| 西华县| 犍为县| 迁西县| 贵州省| 锡林郭勒盟| 高雄县| 博兴县| 和田县| 历史| 古丈县| 朔州市| 朝阳县| 涞源县| 海安县| 五寨县| 乌兰县| 正安县| 休宁县|