f(n)=4n²+ 3n-5 = Theta(n²)
我如何证明这一点?根据我的研究,这种表示应该像;
对于正常数c1,c2和n0使得 c1 * g(n)<= f(n)<= c2 * g(n)对于所有n> = n0,但我做不到。
答案 0 :(得分:0)
第一步,让我们填写方程式,看看我们需要证明什么。
c1 * n² <= 4n² + 3n - 5 <= c2 * n² (for n >= n0)
我将证明其中一半,其余部分留给您。
假设
c1 = 3 (since it makes sense that 3n² <= 4n² for n >= n0)
我们需要证明
3n² <= 4n² + 3n - 5
这等同于证明
4n² + 3n - 5 - 3n² >= 0 (for n >= n0)
n² + 3n - 5 >= 0
我们知道这个函数是抛物线,我们知道主导项(n²)的符号为正。所以它一定是山谷形的抛物线。
要找到合适的n0值,我们可以看一下抛物线的根。它们是-1.844和0.844(四舍五入)。因此,假设n0 = 2就足够了。简而言之:
n0 >= 2
c1 = 3
c2 = 5
如果对证明的另一半应用相同的推理,则将得到n0的另一个界限。然后,您需要做的就是巩固两个界限。
答案 1 :(得分:0)
我们有HttpClient httpClient = new HttpClient();
httpClient.DefaultRequestHeaders.Clear();
httpClient.DefaultRequestHeaders.Add("Host", "assets.staples-static.com");
httpClient.DefaultRequestHeaders.Add("Pragma", "no-cache");
httpClient.DefaultRequestHeaders.Add("Cache-Control", "no-cache");
httpClient.DefaultRequestHeaders.Add("Upgrade-Insecure-Requests", "1");
httpClient.DefaultRequestHeaders.Add("User-Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36");
httpClient.DefaultRequestHeaders.Add("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8");
httpClient.DefaultRequestHeaders.Add("Accept-Encoding", "gzip, deflate, br");
httpClient.DefaultRequestHeaders.Add("Accept-Language", "en-US,en;q=0.9");
var result = httpClient.GetAsync("https://assets.staples-static.com/NC1/pn/bui/20181010140727/styleguide/docs/css/atcOverlay.css").Result;
。
声明1: f(n) = 4n² + 3n - 5
所有f(n) <= 5n² for all n
都有5n² - f(n) = n² - 3n + 5 = (n - 3/2)² + (11/4) > 0
。
声明2: n
我们有4n² <= f(n) for n >= 2
代表f(n) - 4n² = 3n - 5 >= 0
。
从上面我们有
n >= 5/3 >= 2
代表4n² <= f(n) <= 5n²
。
与所有n >= 2
的大theta定义c1 * g(n) <= f(n) <= c2 * g(n)
比较。
我们有n >= n0
,c1 = 4
,c2 = 5
和g(n) = n²
。
答案 2 :(得分:0)