Quicksort的最佳情况是n log(n),但每个人都使用Big-O表示法将最佳情况描述为O(n log(n))。根据我对符号的理解,Quicksort有Big-Omega(n log(n))和O(n ^ 2)。这是正确的还是我误解了Big-Omega符号?
答案 0 :(得分:0)
您的详细信息不正确。从技术上讲,Big-O应该是最糟糕的情况。 QuickSort的平均情况为O(n log n),最差情况为O(n ^ 2)。按照技术定义,QuickSort的正确Big-O就是n ^ 2。但随机获得该性能的几率实际上为零(除非您在已经排序的列表上运行QuickSort),因此即使在技术上不正确,QuickSort也会获得n log n的Big-O。
另一方面,Big-Omega在技术上被定义为"至少需要这么长时间"所以这是一个下限。这意味着QuickSort拥有Big-Omega(n log n),而n ^ 2与QuickSort和Big-Omega无关。