Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/262.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# RAM模型中排序算法的下限是多少?_C#_Algorithm - Fatal编程技术网

C# RAM模型中排序算法的下限是多少?

C# RAM模型中排序算法的下限是多少?,c#,algorithm,C#,Algorithm,我在写C#代码,为了分析一个算法,我使用RAM或指针计算模型 我知道如果我们选择决策树模型,我们可以证明排序算法的下界是Ω(nlogn)。决策树是一个完整的二叉树,表示由特定排序算法对给定大小的输入执行的元素之间的比较。忽略了控制、数据移动和算法的所有其他方面 但是没有人在这个树模型中工作,我们都使用RAM或指针机器来分析算法的性能 RAM/指针模型中排序算法的下限是多少?可以肯定地说,任何模型上的任何排序算法都是Ω(n),因为如果不至少查看每个元素一次,就无法知道列表是否已排序。同意@user

我在写C#代码,为了分析一个算法,我使用RAM或指针计算模型

我知道如果我们选择决策树模型,我们可以证明
排序算法的下界是
Ω(nlogn)
。决策树是一个完整的二叉树,表示由特定排序算法对给定大小的输入执行的元素之间的比较。忽略了控制、数据移动和算法的所有其他方面

但是没有人在这个
树模型中工作,我们都使用RAM或指针机器来分析算法的性能


RAM/指针模型中排序算法的下限是多少?

可以肯定地说,任何模型上的任何排序算法都是Ω(n),因为如果不至少查看每个元素一次,就无法知道列表是否已排序。同意@user3386109,这里的说法是冒泡排序工作为0(n^100)我投票结束这个问题,因为它是关于计算理论,而不是编程。也许cs.stackexchange.com会是一个更好的场所。我认为这是一个很好的问题(尽管可能更适合cs)。伊万:你会遇到的一个问题是,确定内存/指针机器实际上是什么是困难的——很容易制造一个只能访问有限内存的内存/指针机器(因此大O的问题变得毫无意义)。如果您使它更强大,那么排序可能比O(n logn)更好。我不久前调查了这个问题,我的总结在我的博客上: