[英]Is there anyway to compress jpeg using any technology to decrease upload time?
[英]Is it possible that time complexity of any algorithm decrease as the input size increase, any example
我刚读过Cormen的算法书,认为big-O和big-omega不遵循三分法属性。 这意味着对于两个函数f(n)
和g(n)
,可能是f(n) = O(g(n))
和f(n) = Omega(g(n))
都不成立的情况。 在示例中,他们认为如果函数是n^(1+sin n)
,那么它是可能的。
虽然它是正确的,但在现实世界算法中有可能具有像sin n
这样的运行时间。 因为随着输入大小的增加,它有时会减少。 有没有人知道任何这样的算法,或者可以提供一个小代码片段来做到这一点。
谢谢你的答案,所以在这种情况下假设给定一个大小为n的问题P是正确的,如果它不能通过任何已知的算法在O(f(n))时间内求解,那么P的下界是欧米茄(F(N))。
当字符串搜索变得更长的Boyer-Moore字符串搜索算法变快。 当然,限制因素通常是搜索到的字符串的长度。
随着条款与变量的比率增加,随机生成的3CNF子句的SAT平均运行时间最终会下降。 直觉是当相对于变量数量有很多条款时,公式更可能“明显地”不可满足; 也就是说,典型的SAT求解算法(比穷举搜索更好的一步或两步,但足够简单以涵盖在本科逻辑课程中)很快就会遇到矛盾并停止。
当然,这些是对“随机”3CNF公式的一些概念的实验观察。 我不确定人们已经证明了什么。
使用任何反函数。
f(x) -> 1 / x
f(x) -> 1 / x²
f(x) -> 1 / log(x)
随着输入x
增长,结果值将变小。 将较小的值与算法中较少数量的步骤相关联是相当简单的。 只需在循环中使用计数器即可移向该数字。
这是一个简单的算法。
function(x) {
step = 0.001
y = 1 / x;
for (i = 0; i < y; i += step) { /* do something awesome here */ }
}
我很难设想一个降低复杂性的有意义的问题。 “有意义”的问题需要阅读或触摸其所有输入的部分内容。 除非输入以非常低效的方式编码,否则处理它应该花费越来越多的时间。
不过,它可能会朝着不变的方向增加。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.