算法的时间复杂度(python版容易理解)+常用的时间复杂度、python代码--数据结构
生活随笔
收集整理的這篇文章主要介紹了
算法的时间复杂度(python版容易理解)+常用的时间复杂度、python代码--数据结构
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
https://blog.csdn.net/hanhanwanghaha寶藏女孩 歡迎您的關注!
歡迎關注微信公眾號:寶藏女孩的成長日記
如有轉載,請注明出處(如不注明,盜者必究)
目錄
- 一、算法時間復雜度的應用
- 二、如何計算算法的時間復雜度
- 舉例說明
- 三、常用的時間復雜度
- 時間復雜度排序
- 四、代碼說明
一、算法時間復雜度的應用
在實際應用中,會根據要解決的問題寫出幾個相應的解決辦法,但是我們要選擇執行效率最高的算法,那么怎樣評估算法的效率呢,這時候就要用到算法時間復雜度了
二、如何計算算法的時間復雜度
步驟:
時間頻度T(n): 代碼的運行次數
代碼運行次數的數量級別—時間復雜度
時間復雜度 = 時間頻度 (去掉:1.常數項 2.低階 3.最高次階的系數 )只保留最高次階
舉例說明
T(n)=3n2+6n+5
T(n)=3n2+6n
T(n)=3n2
T(n)=n2
因此:T(n)=n2 =>O(n2)
三、常用的時間復雜度
當n增大時,函數從小到大排序
時間復雜度排序
四、代碼說明
#coding=utf-8#定義函數,array數組,order排序 def select_order(array,order):se = len(array)for i in range(0, se):j = ik = i+1while(k<se):if((array[j]>array[k]) and (int(order)>0)) or ((array[j]<array[k]) and (int(order)<0)):j = kk += 1array[i], array[j] = array[j], array[i]i += 1return arraypaopao = [3, 55, 66, 2, 38] #order>0升序,order<0降序 print(select_order(paopao, 1)) print(select_order(paopao, -1))以上是一個選擇排序,從上常用的時間復雜度表中,很容易知道,此代碼有兩個循環:for i in range(0, se)和 while(k<se) 因此,此循環的時間復雜度為O(n的2次方)
如果還是沒有理解請留言,哈哈哈一起來解決哈哈哈
https://blog.csdn.net/hanhanwanghaha寶藏女孩 歡迎您的關注!
歡迎關注微信公眾號:寶藏女孩的成長日記
如有轉載,請注明出處(如不注明,盜者必究)
總結
以上是生活随笔為你收集整理的算法的时间复杂度(python版容易理解)+常用的时间复杂度、python代码--数据结构的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java ArrayList的实现
- 下一篇: ARM Linux.2.6.34内核移植