2015-08-08 66 views
3

我想了解基本編程的概念。我遇到了兩個例子。爲f(n)找到上限

情形1:查找上限的F(N)= 3N + 8

它很清楚的是F(N) - > 3時正>無限的。 所以3n + 8應該小於或等於4n。因此,我可以採取C作爲4.

情形2:查找上限F(N)的= N^4 100(N^2)50

這裏F(N)應小於2(n^4)對於所有n = 11。他們如何得出n = 11?我知道替代不會是更好的情況。

如果有人解釋找到上限的過程,這將是非常棒的。

+1

你的意思是大O的複雜性? –

+0

是的。我想了解大O複雜性.. – arunprakashpj

+0

基本上沒有人,但一個數學家做這樣的大O分析。你計算循環。 –

回答

2

這是一種檢查方法,即通過替代或點擊試驗的方法。

他們檢查了條件時n^4 +100(n^2)+50 < 2*(n^4)。或者換言之,n^4 > (100 * n^2 + 50)

當你解決它,結果就會出來是11

也就是說,對於n> = 11 n^4 +100(n^2)+50 < 2*(n^4)

這並不容易計算,您可以使用Wolfram Alpha進行搜索。

此外,這可以解決不平等的價值n。

n^4 > (100 * n^2 + 50) 
n^4 - 100 * n^2 - 50 > 0 
// find the roots for this equation and then 
// you'll be easily able to deduce the value of n using wavy-curve method. 

檢查here for how to solve an inequality using wavy-curve method,但對於嘗試此,你需要找到一種解決給定的公式n的值。

+0

謝謝。但我無法理解這個n^4>(111 * n^2 + 50)。你如何得到111? – arunprakashpj

+0

通過經常更換,很難找到n的值。還有其他方法嗎?或者它是唯一的方法.. – arunprakashpj

+1

@arunprakashpj - 在這種情況下並不難,只需用n替換n^2,然後求解那個四次方程。那麼你會有n^2 = t,找到'n'。然後,用波浪曲線方法解決不平等問題。另外,如果你是一名數學家,你會知道更多更好的技巧。這是我能代表我做的。此外,數學家/更好的算法編碼人員可能會使用更好的方法,但是,我不認爲你需要做更深入的研究。直到高中/大學畢業的數學知識就足夠了,就像我的情況一樣。 –