time-complexity - 如何以渐近方式对以下数据进行排序?
问题描述
嘿,伙计们,请在这里帮帮我,我不知道该怎么做,我很快就会提交
a1(n)=5,
a2(n)=2^nlogn,
a3(n)=n^100
a4(n)=n^n
a5(n)=n!
a6(n)=(0.5)^log(base2)n
解决方案
- a6(n) = (0.5)^log(base 2)n 随着 n 的增加向 0 递减;因此,这是 O(1),因为它最终小于任何正常数。应该有可能获得更严格的界限,但这在算法分析上下文中没有用。
- a1(n) = 5 是一个常数函数,因此 O(1)。
- a3(n) = n^100 是一个多项式函数,并且比上面的 O(1) 函数渐近地更大。多项式函数在渐近上小于以下指数和阶乘函数。
- 如果 a2(n) = (2^n)logn,则它小于其他两个。要看到这一点,请尝试 n = 1000 并注意其他两个中有多少更大的因子。
- a5(n) = n!渐近地小于 n^n,因为两者具有相同数量的项,但 n^n 的因子几乎在每种情况下都更大。
- a4(n) = n^n 是最大的。如果 a2(n) = 2^(nlogn) 则 a2(n) = a4(n) = n^n 通过代数操作。
推荐阅读
- javascript - 在 Vue.js 和 Shopify 中使用 AJAX 从购物车中永久删除商品
- swift - SwiftUI how to make List and Section transparent
- c++ - 编译.o文件时g ++上的“文件太短”错误
- c# - 我的 Azure 开发环境总是将我重定向到错误页面
- nginx - 具有不同域属性的 nginx proxy_cookie_path
- visual-studio-code - 我的 VScode 副本中缺少“构建”刻度线
- java - 从接口实现方法的问题
- javascript - 将 JSON 填充并格式化为 Google 表格
- javascript - 如何从另一个组件引用在一个组件中找到的另一个元素?
- python - 处理pygame中重叠对象的点击