四個所需定義估計算法資源消耗

四個所需定義估計算法資源消耗

參考Mark Allen Weiss《數據結構與算法分析c++描述》第三版

1、如果存在正常數cn0 使得當Nn0T(N)cf(N) ,則記爲T(N)=O(f(N))
2、如果存在正常數cn0 使得當Nn0T(N)cg(N) ,則記爲T(N)=Ω(g(N))
3、T(N)=Θ(h(N)) 當且僅當T(N)=O(h(N))T(N)=Ω(h(N))
4、如果對所有的常數c 存在n0 使得當N>n0T<cp(N) ,則記爲T=o(p(N)) 。非正式的定義爲:如果T(N)=O(p(N))T(N)Θ(p(N)) ,則T=o(p(N))
第一個定義是大O 記法,例T(N)=1000Nf(N)=N2 ,則1000N=O(N2) ,可以說1000NN 平方級的,或大ON 平方級。表示T(N) 的增長率小於等於f(N) 的增長率。當我們說T(N)=O(f(N)) 時,我們是在保證函數T(N) 是在以不快於f(N) 的速度增長;因此f(N)T(N) 的一個上界。這意味着f(N)=Ω(T(N)) ,則T(N)f(N) 的一個下界。
第二個定義表示T(N) 的增長率大於等於g(N) 的增長率。
第三個定義表示T(N) 的增長率等於h(N) 的增長率。
第四個定義表示T(N) 的增長率小於p(N) 的增長率。

發佈了6 篇原創文章 · 獲贊 6 · 訪問量 1萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章