資料結構學習(三) 演算法的評估

2021-10-21 19:36:42 字數 532 閱讀 8765

演算法評價(評估,評測)稱為演算法分析,為使評價更加客觀,合理,往往需要從幾個不同的角度對演算法的綜合性能進行評價。

評價方法

演算法的有效性

演算法的有效性指演算法的執行效率,也就是演算法投入執行時,將耗用多少時間,占用多少儲存空間

演算法的時間複雜度

時間單位:每執行一條基本語句耗用乙個時間單位:t(n) = 執行基本語句的總條數(次數) 大體上能夠說明演算法的時間效能

漸進時間複雜性: t(n) = o(f(n)) o:只求t(n)的最高端,忽略其低階項和常係數

​ f(n):執行時間增長率的上界

演算法的最壞情況和平均情況:

為什麼要區分兩種情況?

最壞情況:

具有相同輸入資料量的不同輸入資料,演算法時間用量的最大值,用tw(n)表示

平均情況:

對所有相同輸入資料量的各種不同資料,演算法耗用時間的"平均值",用te(n)表示

空間複雜性

演算法空間用量函式s(n)

為了節省時間,先作「預處理」,多記一些資訊(多佔空間)——時空轉換

資料結構學習總結(三)

二叉樹 一種特殊的樹形結構特點是每個節點至多只有兩課子樹,並且子樹有左右之分,次序不能顛倒。滿二叉樹 指樹中的每一層都含有最多的結點的二叉樹。完全二叉樹 深度為h的,有n個結點的二叉樹,當且僅當其每乙個結點都與深度為h的滿二叉樹中編號從1至n的結點一一對應時,稱為完全二叉樹。二叉排序樹 指一棵二叉樹...

資料結構學習(三) 演算法描述及分析

1.有窮性 在有窮步之後結束,演算法能夠停機 2.確定性 無二義性 3.可行性 可通過基本運算有限次執行來實現,也就是演算法中的每乙個動作能夠被機器的執行 4.有輸入 表示存在資料處理 5.有輸出 表示存在資料處理 返回值 演算法對應的函式名 形參列表 返回值 通常為bool 型別,表示演算法是否成...

資料結構學習

什麼是資料結構 對計算機記憶體中的資料的一種安排。資料結構有那些?優缺點?1.陣列 插入快 知道下標 查詢慢,刪除慢,大小固定 2.有序陣列 比無序的查詢塊,刪除和插入慢,大小固定 3.棧 吃多了吐 個人理解 4.佇列 吃多了拉 個人理解 5.鍊錶 插入快,刪除快,查詢慢 6.二叉樹 查詢 插入 刪...