資料結構與演算法學習筆記3

2021-10-10 21:09:10 字數 1068 閱讀 5177

最好情況時間複雜度

最壞情況時間複雜度

平均情況時間複雜度

均攤時間複雜度

例:在乙個無序的陣列(array)中,查詢變數 x 出現的位置。如果沒有找到,就返回 -1

// n表示陣列array的長度

intfind

(int

array,

int n,

int x)

return pos;

}

時間複雜度:o(n

nn)

// n表示陣列array的長度

intfind

(int

array,

int n,

int x)

}return pos;

}

最好時間複雜度:o(1)

最壞時間複雜度:o(n)

平均時間複雜度:o(n)

因為,要查詢的變數 x 可能出現在陣列的任意位置。如果陣列中第乙個元素正好是要查詢的變數 x,那就不需要繼續遍歷剩下的 n-1 個資料了,那時間複雜度就是 o(1)。但如果陣列中不存在變數 x,那我們就需要把整個陣列都遍歷一遍,時間複雜度就成了 o(n)

例:實現了乙個往陣列中插入資料的功能

// array表示乙個長度為n的陣列

// **中的array.length就等於n

int[

] array =

newint

[n];

int count =0;

void

insert

(int val)

array[0]

= sum;

count =1;

} array[count]

= val;

++count;

}

均攤時間複雜度:o(1)

《大話資料結構》資料結構與演算法學習筆記3

演算法複雜度 設問題的輸入規模為n,判斷乙個演算法的效率時,函式中的常數和其他次要項通常可以忽略,而應該更加關注主項 最高端項 的階數。就是和數學分析裡判斷兩個函式高低階的思路一樣。如果規範一下說法,就是演算法時間複雜度 演算法時間複雜度 定義 在進行演算法分析時,語句總的執行次數t n 是關於問題...

資料結構與演算法學習筆記

演算法基礎篇 第一章 演算法概述 首先了解一下基本的概念 1.1 什麼是演算法呢?從字面意義上理解,演算法就是用於計算的方法,用這種方法達到預期的結果。通俗的講,演算法可以理解為乙個完整的解題步驟,由一些基本的運算和規定的運算順序組成。通過這樣的解題步驟可以解決特定的問題。演算法可以抽象出5個特徵 ...

資料結構與演算法學習筆記(一)

資料 計算機操作的物件 資料元素 組成資料的基本基本單位 資料項 乙個資料元素可以由若干個資料項組成 資料物件 性質相同的資料元素的集合 資料結構 是相互之間存在一種或多種特定關係的資料元素的集合 資料型別 1.原子型別 不可以在分解的基本型別,包括整型,字元型 2.結構型別 由若干個型別組合而成 ...