【发布时间】:2011-01-16 22:11:11
【问题描述】:
quicksort 算法的平均时间复杂度为 O(n*log(n)),最坏情况复杂度为 O(n^2)。
假设 Hoare 的快速排序算法有一些变体,什么样的输入会导致快速排序算法表现出最坏情况的复杂性?
请说明与特定快速排序算法(例如枢轴选择等)的实现细节相关的任何假设,或者它是否来自诸如 libc 等常用库。
一些阅读:
【问题讨论】:
-
论文中概述的攻击的前提是能够运行任意可执行代码,而他们能想出的最好办法就是让快速排序变成二次方?
-
我建议 - 如果某件事听起来像家庭作业,则应在问题后 1-2 周内回答。虽然现在 SO 几乎可以解决所有问题,所以可能为时已晚......
标签: c++ algorithm sorting complexity-theory quicksort