日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

a*算法的时间复杂度_数据结构(1)——算法和时间复杂度

發布時間:2023/12/4 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 a*算法的时间复杂度_数据结构(1)——算法和时间复杂度 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Data Structure

1

算法和時間復雜度

01.什么是數據結構?

程序設計 = 數據結構 + 算法

數據結構是關系,是數據元素相互之間存在的一種或多種特定關系的集合。

數據結構和算法凌駕于任何一種編程語言之上。

02.邏輯結構和物理結構

數據結構分為邏輯結構物理結構

邏輯結構是指數據對象中數據元素之間的邏輯關系,也是今后需要關注和討論的問題。

四大邏輯結構:

集合——數據元素除了同屬于一個集合之外,沒有其他關系。

線性——數據元素具有一對一的關系。

樹形——數據元素之間存在一對多的層次關系。

圖形——數據元素之間存在多對多的關系。

物理結構一般指數據元素在計算機中的存儲方法。

數據元素的存儲結構形式有兩種:順序存儲鏈式存儲

順序存儲:把數據元素放在地址連續的存儲單元中,其數據間的邏輯關系和物理關系是一致的,例如數組結構。

鏈式結構:把數據元素放在任意的存儲單元里,這組存儲單元可以是連續的,也可以是不連續的。此時存儲關系不能反映邏輯關系,因此需要用指針存放數據元素的地址。

03.算法

算法:解決特定問題求解步驟的描述,在計算機中表現為指令的有限序列,并且每條指令表示一個或者多個操作。

算法的五個基本特征:輸入、輸出、有窮性、確定性、可行性

算法效率的度量方法:

  • 算法采用的策略、方案

  • 編譯產生的代碼質量

  • 問題的輸入規模

  • 機器執行指令的速度

  • 04.算法的時間復雜度

    定義:在進行算法分析的時候,語句總的執行次數T(n)是關于問題規模 n 的函數,進而分析T(n)隨 n 的變化情況并確定T(n)的數量級。

    算法的時間復雜度,也就是算法的時間度量,記作:

    T(n)=? O(f(n))

    它表示隨問題規模n的增長,算法執行時間的增長率和f(n)的增長率相同,稱作算法的漸近時間復雜度,簡稱為時間復雜度。其中f(n)表示問題規模 n 的某個函數。

    一般情況下,隨著輸入規模 n 的增大,T(n)增長最慢的是最優算法。

    大O記法:用O( )來體現算法時間復雜度的記法。

    推導大O階的算法

  • 用常數1取代運行時間中的所有加法常數。

  • 在修改后的運行次數函數中,只保留最高階項。

  • 如果最高階項存在且不為1,則去除這個項的系數。

  • 線性階——一般含有非嵌套循環。線性階就是隨著問題規模 n 的擴大,對應計算次數呈直線增長。

    平方階——嵌套循環,包括不嚴格的嵌套循環。循環的時間復雜度等于循環體的復雜度乘以該循環運行的次數。

    對數階——需要應用數列知識。

    常用的時間復雜度所耗的時間從小到大依次是:

    O(1)< O(logn)< O(n)< O(nlogn)< O(n^2)< O(n^3)< O(2^n)< O(n!)< O(n^n)

    最壞情況:查找一個有n個隨機數字數組中的某個數字,最好的情況是第一個數字就是,那么算法的時間復雜度是O(1);但也有可能這個數字在最后位置,此時的時間復雜度是O(n)。

    平均運行時間——期望運行的時間。

    05.算法的空間復雜度

    算法的空間復雜度通過計算算法所需的存儲空間實現。

    算法空間復雜度的計算公式記作:

    S(n)= O(f(n))

    其中,n為問題規模,f(n)為語句關于n所占存儲空間的函數。

    通常,我們都是用 “ 時間復雜度 ” 來指運行的時間需求,用 “ 空間復雜度 ” 指空間需求。

    關于上面的總結,如果有錯誤之處,或者疑問,歡迎點擊下面【寫留言】進行討論。

    【寫留言】

    ---掃碼點關注哦---

    總結

    以上是生活随笔為你收集整理的a*算法的时间复杂度_数据结构(1)——算法和时间复杂度的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。