Algorithm 基于Kolmogorov不可压缩方法的平均情况算法分析
据说不可压缩性方法可以简化平均情况下的算法分析。据我所知,这是因为不需要计算该算法所有可能的输入组合,然后得出平均复杂度。而是将单个不可压缩字符串作为输入。由于不可压缩字符串是典型的,我们可以假设此输入可以作为平均情况的精确近似值 我对将不可压缩性方法实际应用于一个算法感到迷茫。顺便说一句,我不是数学家,但我认为这个理论在日常编程中有实际应用 最后,我想学习如何推断任何给定算法的平均情况,无论是简单的还是复杂的。有人能给我演示一下这个方法如何应用于一个简单的算法吗?例如,给定一个输入字符串S,将所有唯一字符存储在S中,然后分别打印每个字符:Algorithm 基于Kolmogorov不可压缩方法的平均情况算法分析,algorithm,complexity-theory,Algorithm,Complexity Theory,据说不可压缩性方法可以简化平均情况下的算法分析。据我所知,这是因为不需要计算该算法所有可能的输入组合,然后得出平均复杂度。而是将单个不可压缩字符串作为输入。由于不可压缩字符串是典型的,我们可以假设此输入可以作为平均情况的精确近似值 我对将不可压缩性方法实际应用于一个算法感到迷茫。顺便说一句,我不是数学家,但我认为这个理论在日常编程中有实际应用 最后,我想学习如何推断任何给定算法的平均情况,无论是简单的还是复杂的。有人能给我演示一下这个方法如何应用于一个简单的算法吗?例如,给定一个输入字符串S,将
void uniqueChars(String s) {
char[] chars = chars[ s.length() ];
int free_idx = 0;
for (int i = 0; i < s.length(); i++) {
if (! s[i] in chars) {
chars[free_idx] = s[i];
free_idx++;
}
}
for (int i = 0; i < chars.length(); i++) {
print (chars[i]);
}
}
void uniqueChars(字符串s){
char[]chars=chars[s.length()];
int free_idx=0;
对于(int i=0;i
只是为了争论。我认为伪代码就足够了。假设使用线性搜索来检查数组是否包含元素
当然,更好的算法可以用来证明理论是可以接受的
这个问题可能是荒谬和不切实际的,但我宁愿提出,也不愿持有误解。出于相互参考的目的,复制我关于
你可能想检查一下(这篇论文)[举例说明此方法的应用。但我想知道您的目标是什么。您是否有要分析其运行时的算法?请注意,您提供的代码可能很难分析,因为
Set.add的运行时取决于Set
的实现。这个问题可能更好d我的目标是学习如何将不可压缩性方法应用于平均运行时分析。这只是个人学习的一部分,而不是直接的要求。murgatroid99,你是指此链接吗?在CS StackExchange上问了一个类似的问题: