我想了解基本編程的概念。我遇到了兩個例子。爲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?我知道替代不會是更好的情況。
如果有人解釋找到上限的過程,這將是非常棒的。
我想了解基本編程的概念。我遇到了兩個例子。爲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?我知道替代不會是更好的情況。
如果有人解釋找到上限的過程,這將是非常棒的。
這是一種檢查方法,即通過替代或點擊試驗的方法。
他們檢查了條件時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的值。
謝謝。但我無法理解這個n^4>(111 * n^2 + 50)。你如何得到111? – arunprakashpj
通過經常更換,很難找到n的值。還有其他方法嗎?或者它是唯一的方法.. – arunprakashpj
@arunprakashpj - 在這種情況下並不難,只需用n替換n^2,然後求解那個四次方程。那麼你會有n^2 = t,找到'n'。然後,用波浪曲線方法解決不平等問題。另外,如果你是一名數學家,你會知道更多更好的技巧。這是我能代表我做的。此外,數學家/更好的算法編碼人員可能會使用更好的方法,但是,我不認爲你需要做更深入的研究。直到高中/大學畢業的數學知識就足夠了,就像我的情況一樣。 –
你的意思是大O的複雜性? –
是的。我想了解大O複雜性.. – arunprakashpj
基本上沒有人,但一個數學家做這樣的大O分析。你計算循環。 –